将环境envs中的一个虚拟环境打包给别人,可以直接使用其环境,里面包含cuda,cudnn等,但是需要正确安装Anaconda才能使用虚拟环境。
nvcc --version
cuDNN切换
在Tensorflow不同版本的GPU环境配置中,CUDA的切换,往往伴随着cuDNN的切换,cuDNN是由头文件和动态链接库组成的,所以下载对应的cuDNN,按照cuDNN的安装方法[7]进行文件替换即可。
总结
这种方法的CUDA和cuDNN版本切换,适用于管理员整体切换和个人使用者,不适合服务器环境下的普通用户,有一种好的解决方法是配合Environment Modules[8]来进行环境管理,后续可以进行深入探索,推荐使用Anaconda来进行CUDA、cuDNN版本的管理。
acf06243989249f1ea9d747a77a4f933.png (推荐)CUDA、cuDNN多版本切换之:Anaconda下安装不同版本的CUDA、cuDNN
虚拟环境的重要性:无它,唯方便尔。
因为独立的环境利于管理,不激活不会对系统环境造成不必要的影响,若虚拟环境遇到了无法期望的错误,即可删除环境并重新创建即可,不需要重装系统;创建独立的虚拟环境,各个虚拟环境相互独立,互不影响,不同应用可以使用不同的版本,环境内的包升级不影响其他应用。 | |
---|---|
虚拟环境的创建有很多方法:Anaconda、virtualenv、docker等,但是就深度学习环境来说,Anaconda方便管理和使用,在此推荐Anaconda。
考虑到这么一个场景:苦于科研无想法,于是在github上逛gai碰碰运气,终于看到一个不错的项目,一顿操作,clone这个repo之后,从anaconda创建一个虚拟环境来尝试运行,仔细阅读README,发现要求特定版本的一些依赖库,其它的库都还好说,如果要求特定版本的CUDN和cuDNN,如果重新下载安装配置就比较麻烦,何况非管理员用户没有安装和配置权限。这时候考虑Anaconda。
Anaconda生态比较完整,只要系统里正确安装了NVIDIA驱动[9],就可以在Anaconda下的虚拟环境中,安装特定版本的cuda和cudnn,而不必全局进行安装。
需要注意的是: