bnmcvzx 2020-04-30
深度学习的基本环境部署完成后,现在就要考虑到使用需求来进一步优化环境了,考虑到有些用户需要两张显卡及以上需求,则需要部署cudnn来进行优化了
在下载之前,需要进行注册,注册很简单,可以使用社交账号进行注册。网站地址:https://developer.nvidia.com/cudnn
登录后:
根据自己部署的情况选择下载,如下图:
我的环境是Ubuntu18.04,cuda10.2,所以我下载的是:
安装时先安装运行时库,然后是开发人员库,最后是代码示例和用户指南
命令及提示代码如下:
由于工作环境原因,之前的硬件环境暂时用不了,不过后续的部署并不影响。
这种方式安装,可以进行测试,测试命令:
cp -rp /usr/src/cudnn_samples_v7/ /home/xiong/cudnn_samples_v7 #这里是复制到home目录里,我的是xiong用户下的家目录里
cd /home/xiong/cudnn_samples_v7/mnistCUDNN
make clean && make
这个测试需要前面我们部署的环境,只要前面环境部署成功,在此也就没有问题了。这个图片是以前部署成功截图,只要最后信息显示Test passed!代表成功了
下面就是部署anaconda3了
对于anaconda的安装我进行了各类版本安装以及多版本存在。
安装了最新版本,但是安装TensorFlow-gpu结果不匹配怎么办,重新安装anaconda么?
其实不用重新安装,可以使用虚拟环境指定python版本就可以了。Ubuntu18.04这个系统本身就带有python3.6。只是没有anaconda一些常用的库而已。
所以,安装最新的anaconda3后,出现的情况就是两者并存,默认优先使用最新版本的python,如现在的最新python3.7,装完后执行命令python,默认进入python3.7:
执行python3,也是进入python3.7,要想进入python3.6,只需执行python3.6:
现在开始部署anaconda3了,首先去到官网下载:https://www.anaconda.com/download/
也可以使用国内源:
清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载完成后:
执行sudo bash Anaconda3-2020.02-Linux-x86_64.sh #自己选择的哪个版本就换成那个版本名称
这一步回车就可以了
然后就是空格键,这里是查看说明。
这里选择yes
这里比较重要了,如果你要安装多个版本的库,这里就不能用默认的了,需要自己填清楚,比如,你需要安装anaconda3.5.2和最新的Anaconda3-2020.02,那命名就要详细了。比如安装的是anaconda3.5.2和最新的版本,则需要:
/usr/local/anaconda3.5.2或/usr/local/anaconda3-2020-02
回车就好了。安装多环境就要把版本详细的命名,这样以便于后期的维护。需要安装多环境的,只需换一个版本包再执行一次安装,在这里详细把版本命名上去。
这里会自动配置变量,所以,执行conda时,是未找到命令,之所以这样,不是没有配置变量未成功,而是没有更新,秩序执行命令:
source ~/.bashrc
然后就可以使用conda了
naconda3基本已经部署完成了,不过,由于一些需求,只安装最新版本但是TensorFlow-gpu版本不匹配,那就可以创建虚拟环境来安装。命令如下:
conda create –name tf python3.6 #创建tf环境
source activate tf #激活tf环境
conda install tensorflow-gpu=1.9
source activate tf
python3.6
import tensorflow as tf
至此,TensorFlow-gpu就安装完成了
source deactivate tf #退出tf环境
conda remove –name tf --all #删除tf环境
同理,如果安装keras,版本不兼容情况,也可以在创建一个虚拟环境进行安装。
安装pytorch
对于这个安装,可以使用python创建一个虚拟环境来安装,也可以直接安装,下面选择直接安装。
由于国外网较慢,我们可以使用国内源来安装,先配置相关的源:
sudo mkdir -pv ~/.pip
cd ~/.pip
sudo vim pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
保存,退出
cd
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/
对此,pip源和conda源安装完成了
下面命令是pytorch官网下载指定版本的pytorch命令
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
添加国内源完成后,只需在这个命令去掉-c pytorch就可以了
这个命令是下载最新的pytorch版本,如果要下载低版本,命令如下:
conda install pytorch/torch=版本号 torchvision cudatoolkit=版本号 或
conda install torch/pytorch=版本号
在执行上面命令之前,我们需要相关的权限,否则最后会因为权限问题而报错,命令如下:
sudo chown -R username:username /usr/local/anaconda3.5.2 #这个路径就是之前按照anaconda3填写的路径了。
chmod 775 ./.conda
我部署时就因为没有这个anaconda3文件的写入权限,但是即使777权限也会报错,ls -l anaconda3发现用户组和属主都是root,所以需要修改成你使用的用户属主和属组,也就是你使用的这个账号名,命令中username这个改成你使用的用户的用户名。
对此部署已经完成。
注:注意下机器是x86还是x86_64,我之前没有注意,下载了x86的anaconda3的安装包,安装时报错,百度了好久都没找到解决问题,后来仔细查看安装包的命名才发现下载错了。
虽然我们使用了国内源,但是还是会出现中断信号的问题,在部署过程中,所以,也可以把需要部署的软件包下载到本地,我之前部署pytorch时,下载pytorch总是中断,最后直接登录链接,找到对应的软件包下载链接,直接下载有时也会中断,因为我有迅雷会员,为此使用的是迅雷下载,倒是没有出现中断。然后上传到机器上,我是ssh远程连接,上传完成后。
安装命令如下:
conda install --use-local your-pkg-name
这样就本地安装了。