问题描述:
在学习 《动手学深度学习(pytorch)》时,出现name 'OrderedDict' is not defined
问题。
代码如下:
class MySequential(nn.Module):
from collections import OrderedDict
def __init__(self, *args):
super(MySequential, self).__init__()
if len(args) == 1 and isinstance(args[0], OrderedDict):
print(args[0])
for key, module in args[0].items():
self.add_module(key, module)
else:
#print(args)
for idx, module in enumerate(args):
self.add_module(str(idx), module)
def forward(self, input):
for module in self._modules.values():
input = module(input)
return input
原因分析:
import语句有什么用?
import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。
import语句最好用在代码的首行
解决方案:
将第二行from collections import OrderedDict
移到第一行,问题就解决了