Python 当pytorch中有两个以上的输入参数时,如何使用forward()方法
有人能告诉我Python 当pytorch中有两个以上的输入参数时,如何使用forward()方法,python,deep-learning,neural-network,pytorch,tensor,Python,Deep Learning,Neural Network,Pytorch,Tensor,有人能告诉我forward()方法中多个参数背后的概念吗? 通常,forward()方法的实现有两个参数 自我 输入 如果正向方法包含的参数超过这些参数,则PyTorch如何使用正向方法 让我们考虑这个代码库: 在这里,236位作者使用了带有两个以上参数的正向方法: 中心 返回u嵌入 我找不到一篇文章可以回答我关于第254行(return\u embeddings:)和第257行(如果centers不是None:)将执行什么条件的查询。据我所知,该方法由nn模块内部调用。谁能帮我把灯打开吗?前进
forward()
方法中多个参数背后的概念吗?
通常,forward()
方法的实现有两个参数
让我们考虑这个代码库: 在这里,236位作者使用了带有两个以上参数的正向方法:
我找不到一篇文章可以回答我关于第254行(
return\u embeddings:
)和第257行(如果centers不是None:
)将执行什么条件的查询。据我所知,该方法由nn模块内部调用。谁能帮我把灯打开吗?前进功能由您设置。这意味着您可以根据需要添加更多参数。例如,您可以添加如下所示的输入
def forward(self, input1, input2,input3):
x = self.layer1(input1)
y = self.layer2(input2)
z = self.layer3(input3)
net = torch.cat((x,y,z),1)
return net
在向网络馈电时,必须控制参数。层的馈送不能超过一个参数。因此,您需要从输入中逐个提取特征,并用
torch.cat((x,y),1)
(1表示维度)连接它们 如果我们可以设置自己的参数,那么Pytorch在调用forward函数时会知道它需要哪些输入参数?是在训练的时候吗?正如我所问的,我需要澄清何时调用这两个条件?首先,也是最重要的,是建立网络时设置的转发功能。通常网络功能称为输出=模型(输入)
。但是,当您有多个输入网络时,output=model(input1,input2)
。它直接连接到您的网络实现。如果您想使用具有多个参数的网络,您必须定义自己的网络。因此,这意味着input1和input2都是不同的输入,当我们训练此网络时,它的“数据输入数”应等于“转发中的参数数()函数。我是对的吗?那么在这种情况下,为什么return_embeddings的默认值=False?应该是我在Keras中从未见过的输入,也应该是给出二进制值的人(不像二进制值的张量,只是一个二进制值。)