在 pytorch 中,创建层可以是半自动化的,这就是使用 for 循环的原因。主要问题之一是这些层不能存储在列表或字典中,否则反向传播将不起作用。因此,解决问题的原因。在对象内,分配新self属性我该如何替换这个self.res1 = 1self.res2 = 2self.res3 = 3有了这个for i in range(2): res_name = 'res'+str(i+1) self.res_name = i既然我已经以这种方式创建了对象,我该如何以同样的方式访问它们。例如,如果我们假设 self.res_name 现在是一个对象?for i in range(2): res_name = 'res'+str(i+1) out = self.res_name(out)
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
您可能应该使用dictorlist代替。但如果你出于某种原因真的想要这个,你可以试试setattr(x, attr, 'magic').
因此,在你的情况下,它是
for i in range(1, 4):
res_name = 'res' + str(i)
setattr(self, res_name, i)
有关更多信息,请参阅此相关问题。
添加回答
举报
0/150
提交
取消