我有一个关于皮托克的“怎么做”的问题。你知道吗
假设我在Pytorch中有两个模型,我想在第二个模型中输入第一个模型中间的输出。但是第一个模型不是连续的,它非常复杂,可能有内部分支。玩具示例:
How can I make a version/subclass/copy of model 1 that outputs both the final and the middle tensors?
到目前为止,我找到的唯一方法是了解整个模型及其所有forward
连接,因此我精确地复制了forward
方法,并使其输出所需的中间张量。你知道吗
但这是非常麻烦的,因为我真的不想重建具有高度复杂性的整个模型。这太容易出错了。你知道吗
有没有更简单的方法,比如说在凯拉斯?你知道吗
只需获取中间层的输出,并将其作为基于model1的新模型的输出:
middleTensor = model1.get_layer(layer_name).output #or model1.layers[i]
newModel1 = Model(model1.input, [middleTensor,model1.output])
现在我有了一个模型1的版本,它可以输出最终的和中间的张量,而不需要任何努力去深入理解或复制它。你知道吗
Is there any similar approach in pytorch?
目前没有回答
相关问题 更多 >
编程相关推荐