在学习DL中,复现经典论文是很好的学习方式,但是论文和代码通常是数年前发布的,用最新版本的框架、编程语言和编译器等,无法与之前的论文代码兼容。
安装旧版本的包及编程语言可以通过conda虚拟环境实现,但是安装不同版本gcc、CUDA、cuDNN实现共存和切换则比较复杂,经历了多次系统崩溃,重装系统,踏过许多天坑(浪费超多时间), 特此总结记录一下。
文章结构大致如下:
一、创建虚拟环境
二、安装不同版本的gcc, g++
三、配置不同CUDA、cuDNN
一、创建虚拟环境
通常可以为一篇文章或项目配置一个单独的虚拟环境,推荐使用conda。查看文章的github或者主页,可以获得python的版本。
conda
使用该命令创建一个名为Alexnet的虚拟环境,并指定python版本为2.7
二、安装不同版本的gcc, g++
查看官方或别人复现的文档,也可以查看使用的深度学习框架的版本。以tensorflow为例,明确需要的版本后,前往 GPU支持 查看tensorflow版本对应的gcc版本。
以安装tensorflow_gpu-1.14.0为例,则需要gcc-4.8和CUDA10.0, cuDNN7.4(文章后面安装中均使用该方案)。
gcc --version #查看当前版本的gcc
可以看见当前gcc版本为7.5.0, 我们希望在降级的同时,也保存原版本,随时切换,这样跑新代码和旧代码都很方便。
1.安装低版本的gcc,g++
sudo apt-get install gcc-4.8
sudo apt-get insta