centos GPU tensorflow pytorch 深度学习 环境搭建

简要记录一下深度学习开发环境的搭建步骤,懒得编辑了,将就着吧。
总体流程参考文章:https://www.cnblogs.com/learn-the-hard-way/p/12318980.html
按照这篇来做基本ok,要注意的是版本问题,因为cuda+cudnn+tensorflow+pytorch这些都要版本匹配的,我之前装的cuda10.2,cudnn和pytorch能找到匹配版本,但是tensorflow2.2.0是2020.5.8号发布的,国内还没有镜像支持,只能回退cuda到10.1,多花了不少时间。我这硬件配置用cuda_10.1.243_418.87.00_linux.run,cudnn-10.1-linux-x64-v7.6.5.32.tgz,torch-1.5.0+cu101-cp36-cp36m-linux_x86_64.whl,torchvision-0.6.0+cu101-cp36-cp36m-linux_x86_64.whl,这些文件到对应官网下载选择下载即可,要花一定时间。python版本尽量用3.6的,代码兼容性更好,anaconda安装最新的就可以了。

1、添加用户,驱动、cuda可以在root下安装,cudnn、tensorflow、torch等建议在各自用户下安装。
groupadd test
useradd test -m -G test
echo “test” | passwd --stdin test
在/etc/sudoers内添加:test ALL=(ALL) ALL,可以避免用户登录无法使用sudo。

2、cuda10.1安装方法
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#pre-installation-actions
可以通过 https://developer.nvidia.com/cuda-gpus 查看支持的GPU列表。
由于服务器上已经安装nvida驱动程序,就不重复安装了,
在root模式下安装cuda工具:sudo yum install kernel-devel- ( u n a m e − r ) k e r n e l − h e a d e r s − (uname -r) kernel-headers- (unamer)kernelheaders(uname -r)
sudo sh cuda_10.1.243_418.87.00_linux.run (注意这步去除驱动的安装选项,已经有驱动了,所以不需要安装驱动)

sudo vim /用户名/.bashrc 然后在.bashrc文件里添加下面配置
export PATH=/usr/local/cuda-10.1/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}

最后source .bashrc,通过nvcc -V命令能够查看版本即可。

3、安装cudnn(详细的参考https://docs.nvidia.com/deeplearning/sdk/cudnn-install/#download)
tar -zxvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

------------------------废弃------------------------
原本想着装miniconda,用的时候要装插件,网不行的话每次要等好久,省的麻烦就放弃了。想装的同学可以在这个链接下载:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
执行:sh ./Miniconda3-latest-Linux-x86_64.sh,按提示默认安装就行,最后输入source .bashrc
(base) [test@centos ~]$ conda info --env

conda environments:

base * /home/test/miniconda3
------------------------废弃------------------------

4、anaconda安装、更新源
anaconda干嘛用的不多解释了,网上百度一大堆,下载链接:https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
建议在windows当中迅雷下载,只要有人下载过相同的资源,迅雷会加速,其它步骤的几个文件也可以这样下载。
在windows安装个http共享软件hfs.exe,2M左右,很好的工具,绿色好用,再在服务器上用wget下载你共享的文件即可:
wget http://你的ip:你的端口/Anaconda3-2020.02-Linux-x86_64.sh
用命令 sh Anaconda3-2020.02-Linux-x86_64.sh 安装,输入:yes,默认安装即可。
查看环境:conda info --env
conda需要更换国内镜像,不就奇慢无比,建议用中科大源/清华源(清华的貌似断更了一段时间)。
使用命令:
#conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
#conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
或者直接编辑.condarc文件效果也一样:
(base) [test@centos ~]$ vi .condarc
修改内容如下:
channels:

  • https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  • https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  • defaults
    show_channel_urls: true
    ————————————————

5、conda创建虚拟环境并激活
conda create -n tfgpu_2_1_py36 python=3.6,即可安装对应python版本,conda info --env查看如下:
(base) [test@centos ~]$ conda info --env

conda environments:

base * /home/test/anaconda3
tfgpu_2_1_py36 /home/test/anaconda3/envs/tfgpu_2_1_py36
激活对应虚拟环境:source activate tfgpu_2_1_py36
conda search tensorflow-gpu,会搜索镜像源哪些版本可以安装
conda install tensorflow-gpu==2.1.0

6、安装jyputer notebook,并配置远程访问,测试可用
conda install jupyter notebook
jupyter notebook --generate-config 生成一份默认配置文件

-------------------------------配置远程访问--------------------------------
输入python,进入ipython交互环境,如下所示:
(tfgpu_2_1_py36) [test@centos ~]$ python
Python 3.6.10 |Anaconda, Inc.| (default, Mar 25 2020, 23:51:54)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
from notebook.auth import passwd
passwd()
Enter password:
Verify password:
‘sha1:7971dec09c55:05ba5534bc3372497056fdcbd5be9feb06925597’ 这个在后续修改 /home/用户名/.jupyter/jupyter_notebook_config.py文件要用到

打开jupyter的配置文件,路径一般为 /home/用户名/.jupyter/jupyter_notebook_config.py
修改 c.NotebookApp.ip,填充机器的IP地址 (使用 ip addr 命令查看本机的IP地址,如这边填写本地IP)
修改 c.NotebookApp.password, 把保存的密码填充进去,注意格式为 c.NotebookApp.password = u’sha…’,注意有个字母u。
修改 c.NotebookApp.open_browser , 这项默认是True,远程登陆时要修改为 False
将 c.NotebookApp.port =9999 反注释 (可以自己另指定一个端口)

nohup jupyter notebook &
我这边需求是实现外网访问,自己在防火墙设备上做了外网/内网映射的配置,因此可以通过http://1外网IP:端口/访问到内网的jupyter,包括后面tensorboard访问也是同理。
jupyter上的测试代码:
import tensorflow as tf
tf.version
tf.config.list_physical_devices(‘GPU’)
tf.test.gpu_device_name()

tensorflow安装完成之后,tensorboard默认也安装了,也可以直接测试tensorboard。
mkdir share
cd share
下载events文件:wget http://ip:port/events.out.tfevents.158xxxx.USER-xxxx
nohup tensorboard --logdir="/home/test/share/" --host=“外网IP” &

7、安装pytorch、torchvision、tensorboardX
conda安装pytorch速度贼慢(conda install pytorch torchvision cudatoolkit=10.1 -c pytorch),可以选择pip安装要快一些,参考https://pytorch.org/get-started/locally/
wget http://ip:port/torchvision-0.6.0+cu101-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.6.0+cu101-cp36-cp36m-linux_x86_64.whl
wget http://ip:port/torch-1.5.0+cu101-cp36-cp36m-linux_x86_64.whl
pip install torch-1.5.0+cu101-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.6.0+cu101-cp36-cp36m-linux_x86_64.whl
pip install tensorboardX

你可能感兴趣的:(AI,linux,centos,深度学习,cuda,tensorflow)