python - 你能像在 Pytorch 中那样将变量传递给 Python 中的数据成员吗?

标签 python pytorch

这是来自 nn.Module 的示例代码pytorch 文档:

class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
       x = F.relu(self.conv1(x))
       return F.relu(self.conv2(x))

在这里,我们正在传递 xself.conv1()forward功能。 然而,self.conv1是一个变量,可以从这一行 self.conv1 = nn.Conv2d(1, 20, 5)__init__功能。

这怎么可能?

最佳答案

pytorch、层或网络中任何事物的前向传递都是以功能方式var(x)完成的。这是用 python 编写的,内置覆盖 __call__() 。自己试试吧。创建一个类,覆盖 __call__() 并像函数一样使用它。

关于python - 你能像在 Pytorch 中那样将变量传递给 Python 中的数据成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56871848/

相关文章:

python - django自定义模板标签中的访问请求

python - 填充 seaborn/matplotlib 中两个正态分布之间的重叠区域

python - 使用 pytorch 进行多类句子分类(使用 nn.LSTM)

python - 如何在pytorch中通过给定的索引和张量生成新的张量?

python - nn.DataParallel - 训练似乎没有开始

Python:为什么会出现这个错误?

python - 'clean up' html 文本的最佳方式

python - Python的基础语言

pytorch - pytorch的嵌入层内部发生了什么“确切”的变化?

python - 错误然后导入 pytorch-lightning、azure 笔记本