MXNet 網絡的 load_params 錯誤

當訓練MXNet的Gluon網絡時,由服務器端GPU訓練出模型

  • 在本地Mac端CPU中,無法調用load_params()加載模型;
  • 在服務器端GPU中,可以調用成功;

錯誤如下:

AssertionError: Parameter conv0_weight is missing in file xxx.params

Why?

Why

嘗試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的版本一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章