Linux服务器配置GPU版本的pytorch Torchvision TensorFlow

  最近在Linux服务器上配置项目,项目须要使用GPU版本的pytorch和TensorFlow,并且该项目内会同时使用TensorFlow的GPU和CPU。python

  在服务器上装环境,若是从新开始,就须要下载不少依赖包,并且若是直接在系统上安装包,可能会和服务器上的其余包发生冲突,所以使用Anaconda建立虚拟环境来管理项目的依赖包。Anaconda的安装能够去清华大学的镜像下载,速度比较快,选择对应的版本就能够了  https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 。我须要下载python3.6对应的Anaconda能够对照下面这张图片来查看,选择Anaconda3-5.2.0版本就能够了。(可是其实我下载成了anaconda2,不过并不影响后续使用)bash

  Anaconda下载以后会在~/.bashrc中添加一条环境变量。若是首次运行conda命令找不到,就source ~/.bashrc。服务器

  配置好Anaconda后,若是要建立虚拟环境,从新下载包也须要很麻烦的操做,并且须要对照之前的项目进行一一下载。这太捞了,咱们考虑直接将本地项目的anaconda环境打包好上传到服务器上,就可使用本地的虚拟环境了。具体作法是,首先到本地的Anaconda环境目录下,个人是/home/timber/anaconda2/envs ,这个目录下就是用户建立的anaconda环境。直接打包 app

tar -cvf name.tar your_env_name/

 而后将这个文件用scp上传到服务器下的(anaconda2_dir)/envs下,测试

scp name.tar remote_username@remote_ip:anaconda_dir/envs

接着在服务器的anaconda的envs目录下解压name.tarurl

tar -xvf name.tar

 环境就移植到服务器上了,能够在服务器上经过conda env list检验是否有咱们刚移植的环境。插件

  本地安装的环境是cpu版本的pytorch和TensorFlow,首先将pytorch卸载命令行

conda activate project #激活环境
conda uninstall pytorch

 而后去清华大学的镜像下下载pytorch(由于官方下载超级慢)。须要首先配置清华大学镜像。orm

依次运行如下命令blog

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

上面三条是配置清华镜像源,下面一条是配置pytorch源。而后去到官网,选择你对应的pytorch版本,找到下载命令,好比,最新版本的Pytorch在cuda10下面的官方下载命令是

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

 可是,不要用这条命令,因为添加了镜像源,咱们去掉上面命令的-c pytorch,运行

conda install pytorch torchvision cudatoolkit=10.1 

 就能够用清华镜像下载了。若是要下载历史版本的pytorch,以1.0为例,就用

conda install pytorch==1.0 torchvision cudatoolkit=10.1 -c pytorch

 安装好以后,torchvision不必定能配套使用,由于Torch已经更换了,因此可能会存在版本不一致的问题,卸载torchvision,而后下载对应版本的torchvision。

  出现的第一个问题是torchvision下没有totensor,重装0.2.0的torchvision。

  第二个问题是This application failed to start because it could not faind or load the Qt platform plugin "xcb" in "".

 Reinstalling the application may fix the problem.这个提示告诉咱们在Qt平台插件中找不到XCB,提示咱们重装,那咱们就重装呗,重装pyqt

conda uninstall pyqt
conda uninstall qt
conda install pyqt

   个人项目使用了GPU版本的Tensorflow,须要装GPU版本的TensorFlow。

  这里还有个问题是,人脸识别和车辆检测都使用了TensorFlow,一个是CPU版本,一个是GPU版本,会有冲突吗。TensorFlow的GPU版本是能够跑cpu的,因此先把以前的TensorFlow卸载掉。下载了GPU版本的

conda install tensorflow-gpu==1.12.0

 可是这里同时下载了cuda的9.0的toolkit,以前下载torch的时候使用了cuda10的toolkit,不知道会怎么样。测试以后发现没有冲突。

  如今在这个项目下,有一个GPU的版本,有一个cpu的版本,同时也有两套对应的anaconda环境与之对应,当执行GPU版本时,须要切换到anaconda的GPU环境。这种切换能够是在命令行中

conda activate gpu

 也能够是在pycharm中进行project intepreter设置,选中anaconda/envs/project/bin/python3.6,就是选中了该环境。

  至此,还剩最后一个问题,GPU版本的TensorFlow是默认使用gpu版本,可是GPU版本的项目有一块是须要使用cpu版本的tensorflow的,那么应该如何设置?

相关文章
相关标签/搜索