python - PyTorch 中未知的 Python 语法 : a instance can directly receive a parameter

标签 python pytorch

我在学习 PyTorch 时有一个关于 Python 语法的问题。以下代码是 PyTorch 文档中的示例。

m = nn.Linear(20, 30)
input = autograd.Variable(torch.randn(128, 20))
output = m(input)
print(output.size())

第一行是创建一个实例m,但是为什么这个实例m可以像第3行那样直接接收参数呢?我认为它应该使用方法来处理参数,如m.method(input)

最佳答案

在 python 中,任何对象都可以定义一个 __call__ 方法,使其可以像您的示例中那样用作函数。

引用:https://docs.python.org/2/reference/datamodel.html#object.call

关于python - PyTorch 中未知的 Python 语法 : a instance can directly receive a parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48055762/

相关文章:

python - MySQL 在插入后提供错误的 ID(数据类型?)

python - 在 python 中使用 count()

python - 列表理解中的两个值

pytorch - 如何使用 pytorch grid_sample()?

python - 如何从pytorch中的AlexNet中提取fc7特征作为numpy数组?

python - 禁用即时 PEP8 检查,仅在保存文件时检查

python - 测试复杂的数据类型?

python - pytorch 如何计算简单线性回归模型的梯度?

python - PyTorch 模型未进行训练

python - torch 值错误 : optimizer got an empty parameter list