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()
方法的实现有两个参数

  • 自我
  • 输入
  • 如果正向方法包含的参数超过这些参数,则PyTorch如何使用正向方法

    让我们考虑这个代码库: 在这里,236位作者使用了带有两个以上参数的正向方法:

  • 中心
  • 返回u嵌入

  • 我找不到一篇文章可以回答我关于第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中从未见过的输入,也应该是给出二进制值的人(不像二进制值的张量,只是一个二进制值。)