首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制pytorch中的权重时语法无效

复制pytorch中的权重时语法无效
EN

Stack Overflow用户
提问于 2022-03-21 22:05:15
回答 1查看 79关注 0票数 0

我试过这个:

代码语言:javascript
复制
model2.down1.maxpool_conv.1.double_conv.0.weight.copy_(state_dict['layer1.0.conv1.weight'])

但我得到了下面的错误信息:

代码语言:javascript
复制
model2.down1.maxpool_conv.1.double_conv.0.weight.copy_(state_dict['layer1.0.conv1.weight'])
                             ^
SyntaxError: invalid syntax

但是我的模型输出显示它有"down1.maxpool_conv.1.double_conv.0.weight

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-21 22:12:38

Python不允许numbers是属性,因此如果您以某种方式创建了一个具有这些属性的对象(只能通过低级函数调用来完成),您将无法通过点表示法访问它们(这就是为什么您会得到一个无效的语法错误,而不是类似于属性未找到错误)。

相反,您应该使用循环中已经包含的param引用,并执行副本。

代码语言:javascript
复制
for name, param in model2.named_parameters():
  if name == 'down1.maxpool_conv.1.double_conv.0.weight':
     param.copy_(state_dict['layer1.0.conv1.weight'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71564677

复制
相关文章

相似问题

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