查看pytorch模型的参数,发现多出某个层的参数名

pytorch模型保存,并查看模型参数,发现多出某个层的参数名,但是在模型的框架中并没有这个参数。
查看模型参数

path = "/media//FASTSCNN/lanenet_epoch_227_batch_8.model"  #训练好的模型地址
print(torch.load(path))  #打印训练好的模型参数

打印模型框架

self.network = lanenet()  # 模型框架的函数
print(self.network)   #打印模型框架

通过上面的代码,可以输出训练好的模型的内容和该模型的网络架构,发现在训练好的模型的内容总,多出某些参数名,但是在模型的框架中并没有这些参数
其原因在于对于模型的def _ init _(),如果在此处定义了某个参数

    def __init__(self, in_channel, out_channel, stride=1, downsample=None,**kwargs):
        super(BasicBlock, self).__init__()

        self.conv1 = nn.Conv2d(in_channels= in_channel, out_channels=out_channel, kernel_size=3,
                                stride =stride,padding=1,bias=False)

但是对于self.conv1,它在def forward()中并没有调用,则网络框架并不会有self.conv1。

你可能感兴趣的:(查看pytorch模型的参数,发现多出某个层的参数名)