問題描述
最近在一臺服務器上訓練模型,奈何卡有點少,爲了更有銷效率的調參,將網絡和環境都遷移到一臺8卡的服務器上,本以爲會開啓瘋狂調參模式,沒想到問題來了。GPU每秒加載4-5M的模型數據,我的模型和數據集一共差不多是8500M左右,這誰頂得住呀。
想辦法
經過我的各種科學思考(網上亂查),都沒找到解決辦法。於是我慌了,換了一個在該服務器上的環境試了下,發下1秒讀取8000M,穩得不行。
觀察兩個環境得差異發現新服務器得cuda是cuda10.0,原來服務器得cuda是cuda8.0,所以導致了我將cuda8.0版本下的tensorflow環境遷移到新環境失敗,模型加載緩慢的問題。
解決辦法
1.使用新服務器的環境
2.更新原始環境中的cudnn版本。
tips
查詢GPU的cuda版本:nvcc -V
查詢環境中的cuda版本:conda list,然後查看cudnn後的版本號
Reference
conda創建虛擬環境 和 用conda創建GPU的cuda、cudnn使用環境
完美解決由於CUDA版本不匹配造成的各種坑