问题描述
最近在一台服务器上训练模型,奈何卡有点少。为了更有效率的调参,将网络和环境都迁移到一台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版本不匹配造成的各种坑