首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pytorch优化器TypeError 'collections.OrderedDict‘对象不可调用

pytorch优化器TypeError 'collections.OrderedDict‘对象不可调用
EN

Stack Overflow用户
提问于 2022-06-01 07:10:53
回答 1查看 351关注 0票数 1

我使用python3.8,Py手电突然报告了一个错误优化器TypeError,但该程序在两周前仍在运行。

代码语言:javascript
运行
复制
net = Net(num_classes=7)
net.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters(), lr=1e-4)

似乎net.parameters()不能返回正确的结果?

代码语言:javascript
运行
复制
Traceback (most recent call last):
   File "C:/Users/usr/Desktop/jaffeAttention/jaffe.py", line 190, in <module>
       main()   
   File "C:/Users/usr/Desktop/jaffeAttention/jaffe.py", line 87, in main
      optimizer = optim.Adam(net.parameters(), lr=1e-4)
TypeError: 'collections.OrderedDict' object is not callable

在这里输入图像描述

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 07:46:48

您会得到错误,因为net.parameters是一个OrderedDict,然后尝试用net.parameters()调用它,但这是不可能的。所以你犯了个错误。

要找出这一点,可以尝试以下命令

代码语言:javascript
运行
复制
net = Net(num_classes=7)
net.to(device)
criterion = nn.CrossEntropyLoss()
params= net.parameters
print(type(params)) # verify this is indeed an OrderedDict
optimizer = optim.Adam(params, lr=1e-4) # notice there is no () when passing the params to Adam

您可以在python文档中阅读有关OrderedDict的内容。https://docs.python.org/3/library/collections.html#collections.OrderedDict

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72457671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档