由于在windows下环境配置问题比较多,尝试了在Linux下配置,记录一下。
一、基础环境
1. Linux(Ubuntu16.04)
计划安装在一个移动固态硬盘上,因此采用虚拟机的安装方式,安装时注意设置以下几点:
1)为了兼容原电脑的boot方式,选择uefi。
2)在vmware中设置系统在整个磁盘
3)并且保留对硬盘的操作,否则无法在linux系统中访问硬盘。
首次登录系统后,选择镜像源更新软件包。
sudo apt-get update
sudo apt-get upgrade
sudo reboot
2. Cuda+Cudnn
走了两天的弯路告诉我,一定要先安装CUDA。因为Linux上NVIDIA驱动兼容性很差,很容易遇到无限登录问题。尝试了很多方法,最后采用以下的方式。
理论上CUDA中包含显示驱动,只需安装CUDA不需要再单独安装驱动。但是由于未知原因我安装的CUDA启动以后总是无法识别驱动,所以我先安装了NVIDIA驱动,后安装CUDA。
2.1 显卡驱动(可选)
2.1.1下载驱动
首先登陆NVIDIA官网下载对应型号的驱动。https://www.nvidia.com/Download/index.aspx dab格式bug很多,下载run格式
可使用命令查看硬件型号
sudo lshw -numeric -C display
使用命令查看推荐安装的驱动版本
ubuntu-drivers devices
2.1.2 屏蔽开源驱动nouveau
因为安装的时候NVIDIA驱动会自动停止其他驱动,保险起见加入黑名单。
打开黑名单
sudo gedit /etc/modprobe.d/blacklist.conf
添加以下内容
blacklist nouveau
blacklist vga16fb
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
添加完以后输入更新内核设置后重启
sudo update-initramfs –u
重启后显示字体会变大,这是禁用显卡驱动后的正常现象,不放心可以输入一下命令检查是否禁用成功
lsmod | grep nouveau
重启后如果字体没有变大,可以尝试强制删除
mv /lib/modules/4.13.0-45-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.13.0-45-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org
update-initramfs -u
2.1.3 删除残留驱动(可选)
用于安装失败卸载重新安装
sudo apt-get remove --purge nvidia*
2.1.4 安装dkms包
如果不安装dkms包,安装过程中可能会报错:unable to locate the kernal sourse
输入命令安装
sudo apt install dkms
2.1.5 安装驱动
按Ctrl+Alt+F1进入控制台,先输入用户名和密码
驱动管理休眠
sudo service lightdm stop
cd到显卡驱动目录,执行
sudo bash NVIDIA*.run
接着按照提示进行安装,需要注意的是:安装过程中报错The distribution-provided pre-install script failed不用管继续安装。注意openl一定不要安装(除非双显卡),否则还是会出现无限登陆问题。其他按照提示选择,提示是否使用nvidia 的xconfig要选择替换,直至最终安装完成后唤醒驱动管理
sudo service lightdm start
2.1.6 重新启动
安装完成后输入命令重新启动系统
sudo reboot
重新启动后可以看到NVIDIA驱动已经安装完成(大多数人是这样)。笔者登陆时依然有循环登陆的问题,查阅了很多资料,试了很多,最终发现是UFEI安全模式导致的,所以如果系统的引导模式是UFEI可以尝试关掉安全模式。
安装完成后,可运行以下命令查看安装情况
sudo apt install mesa-utils
glxinfo|grep rendering
nvidia-smi
2.2 CUDA
2.2.1 安装CUDA
有了安装NVIDIA驱动的经验,安装CUDA就不难。
Cuda Toolkit 安装地址为:https://developer.nvidia.com/cuda-downloads 同样下载 .run格式的。
与安装NVIDIA驱动相似,需要在管理驱动休眠的状态下安装。
2.2.2 安装第三方库
安装过程中,注意到提示缺少几个第三方库,按照说明文件(https://docs.nvidia.com/cuda/)进行安装。
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev \
libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
2.2.3 设置环境变量
如果没有安装vim包需要输入以下命令
sudo apt-get install vim
如果提示vim 依赖vim-common 可以先卸载vim-common再安装
sudo apt-get remove vim-common
打开环境变量配置文件
sudo vim ~/.bashrc
按i键移动到末尾出增加以下两行
export PATH=/usr/local/cuda-9.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH
按ESC键盘 输入 :wq 保存退出
运行以下命令更新环境变量
source ~/.bashrc
完成后输入命令测试安装情况
nvcc --version
出现以下提示说明安装成功
测试cuda的Samples
cd /usr/local/cuda-9.1/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
得到以下结果证明cuda安装成功
2.3 cuDNN
登录网站下载对应版本的cuDNN,需要登录NVIDIA帐号。https://developer.nvidia.com/rdp/cudnn-archive
下载完成后打开下载地址终端,运行以下命令安装
sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda9.1_amd64.deb
安装完成后输入以下命令测试cuDNN
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
得到以下结果,证明cuDNN安装成功
3. Anaconda
登录https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/镜像选择合适的下载版本进行下载
下载后运行命令安装
sudo sh Anaconda*.sh
4. PyCharm
采用PyCharm专业版,学生可免费申请 官方网址:https://www.jetbrains.com/pycharm/
下载后将文件放到需要安装的目录(建议放在home下),运行以下命令进行解压
sudo tar -xzf pycharm-professional-2018.1.4.tar.gz
解压后即可删除压缩包文件,然后进入bin文件夹使用sh命令运行PyCharm
sudo sh pycharm.sh
5. Python环境
5.1 镜像源加速
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
5.2 建立基础python环境
conda create -n base_env python=3.6
source activate base_env
conda install numpy
conda install opencv
conda install matplotlib
conda install scipy
conda install pandas
5.3 clone出使用的环境
clone出用于安装pytorch和tensorflow的env并激活环境
conda create -n tensorflow --clone base_env
source activate tensorflow
5.4 Pytorch
进入PyTorch官网(https://pytorch.org/)选择对应的版本 并按照提示命令输入到命令符中,选择Linux+conda+3.6+9.1时需要输入以下命令
conda install pytorch torchvision cuda91 -c pytorch
5.5 TensorFlow
许多项目会用到TensorFlow的库,也一并装上,官网地址:https://www.tensorflow.org/ 根据安装需求查找安装的命令,在Linux+Anaconda+gpu需要输入以下命令
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-linux_x86_64.whl