欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MXNet 网络的 load_params 错误

程序员文章站 2022-04-05 10:01:06
...

当训练MXNet的Gluon网络时,由服务器端GPU训练出模型

  • 在本地Mac端CPU中,无法调用load_params()加载模型;
  • 在服务器端GPU中,可以调用成功;

错误如下:

AssertionError: Parameter conv0_weight is missing in file xxx.params

Why?

MXNet 网络的 load_params 错误

尝试1

参考 关于使用load_params出现的错误 的解决方案,增加网络序列Sequential的前缀prefix参数:

net = nn.HybridSequential(prefix='net_')
with net.name_scope():
    pretrained = vision.get_model('resnet18_v1', pretrained=True).features
    net.add(pretrained)

但是,仍然报错…

尝试2

检查服务器端和Max端的MXNet版本号:

pip show mxnet
pip show mxnet-cu80

版本号果然不同!本地Mac是1.1.0版本,服务器是1.2.0版本。

将两个端的MXNet的版本都统一为1.1.0版本:

pip install mxnet==1.1.0
pip install mxnet-cu80==1.1.0

重新在服务器中,训练模型,导出模型到本地Mac中,加载模型成功!

结论:在安装深度学习框架时,一定要指定包的版本,保证本地CPU和服务器GPU的版本一致。