![](/img/trans.png)
[英]pytorch: can't load CNN model and do prediction TypeError: 'collections.OrderedDict' object is not callable
[英]pytorch optimizer TypeError 'collections.OrderedDict' object is not callable
我用的是python3.8,pytorch突然報錯優化器TypeError,但是兩周前程序還在運行。
net = Net(num_classes=7)
net.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters(), lr=1e-4)
似乎是 net.parameters() 不能返回正確的結果?
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
您收到錯誤是因為net.parameters
是OrderedDict
,然后您嘗試使用net.parameters()
調用它,但這是不可能的。 所以你得到一個錯誤。
要找出這一點,可以嘗試命令
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.