0.4 版本及以上的pytorch中,module name包含"."会被报错,其他文章有建议降低pytorch版本来解决,但是有些时候条件不允许这么做
一般来说,显式的错误使用,如
class MyModule(nn.Sequential):
[...]
self.add_module('norm.1', BatchNorm(num_input_features))
会被直接报出这个错,但是也存在一些不直观的情况,如
nn.ModuleDict(modules=xxxxx) # type(xxxxx) = dict
这里是用一个dict来构造module的过程,当dict的键中包含"."的时候,也会触发标题所述的错误,此时需要对相关dict文件的生成过程进行排查… …,本人在实验中就是由于把文件名作为了module名而导致了严重的错误