作者原创,转载请注明出处 https://blog.youkuaiyun.com/hzberg/article/details/84070855
问题背景
目前,Tensorflow是很流行的Deep Learning学习框架,但进行Network训练时一个很大的困难是进行一次完整的训练(通常需要上百个epoch)所需的时间太长,如果仅依赖CPU计算可能要花上数天的时间。
为了应对深度学习这种计算密集型任务的需求,NVIDIA公司提供了GPU加速的解决方案,其速度通常至少可以达到CPU的数倍,大大节约了Deep Learning的时间周期,让开发者能够把更多时间投入Model本身的设计及算法上。
对PC用户而言,如果自己拥有独立NVIDIA显卡,只要是官网公布的被支持的GPU型号,就可以配置 Tensorflow(GPU) + CUDA + cudnn 开发环境,方便地应用GPU来加速训练过程,官网公布的支持CUDA的GPU列表,参照官网链接:https://developer.nvidia.com/cuda-gpus
在个人PC上配置 Tensorflow(GPU) + CUDA + cudnn 开发环境已经有很多博客介绍过,只是需要注意三者之间的版本兼容问题。不过,即使不小心安装错了版本,由于拥有PC的superuser权限,便可以很方便地卸载并重新安装正确版本。
然而,对学校研究人员或公司研发人员来说,通常配备有搭载GPU设备的高性能计算机集群,由Linux系统进行管理,因此往往可以用ssh连接到高性能node上运行程序,但是这又带来另一个问题:在 Server 上,普通用户是没有superuser权限的,如果配置 Tensorflow(GPU) + CUDA + cudnn 开发环境时版本不兼容,往往就无法正常使用 t