服務器訓練好的模型本地運行錯誤

現象:最近用google colab訓練模型。分佈在mnist和自定義的數據集上面訓練好了兩個CapsuleNet。colab 測試通過,一切正常。權重下載下來本地測試時發現:mnist的模型一切正常,但是自定義數據集上面的CapsuleNet在本地再次訓練時直接爆炸了,其每個類別的推理結果都是亂碼。

網上解決方案:99%都是自己代碼的問題,自己debug去(輸入網絡的數據對不對,本地代碼的設置對不對,代碼是不是與服務器中的一致等)。

現象解釋:經過脫髮測試,發現是本地環境問題。

測試驗證:本地使用CPU推理一切正常,acc>0.9。而使用GPU推理時,acc<0.1,且輸出結果是亂的。

解決方法:

將tensorflow、cuda、cudnn的版本全部更換(我的:tensorflow1.15.2 --> tensorflow1.12.0, CUDA v10.0 --> CUDA v9.0, cudnn v7.6.5 --> cudnn v7.4.1)

後記:

1.試過將python和tensorflow進行版本更新、回退或重裝,都不行,問題依舊。

2.我試過tf和cuda不動,直接覆蓋重裝同版本的cudnn,但是不行,還是全部換版本重裝吧。

3.查看python運行log,看看cuda和cudnn有沒有warning或error,有的話根據提示進行操作。

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