本人Python版本3.9.7
由于低版本Python,并未完善dict([*self.model.named_modules()])代码程序,因此,运行时容易导致
KeyError: '需要读取的网络层'。
解决方案如下:
# module = dict([*self.model.named_modules()])[self.feature_layer]
# 由于Python版本过低 必须逐一读取 否则会出现 TypeError: ‘dict‘ object is not callable
# 建议使用下面的for循环代码代替源代码
for name, modu in self.model.named_modules():
if name == self.feature_layer:
print(name)
module = modu
break