cat /etc/os-release
命令查看操作系统uname -a
命令查看操作系统位数通过gcc -v
命令查看本机是否已经安装gcc,如没有,则需要安装以下包:
binutils-2.27-44.base.el7.x86_64.rpm
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
gcc-c+±4.8.5-44.el7.x86_64.rpm
glibc-2.17-317.el7.x86_64.rpm
glibc-common-2.17-317.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-317.el7.x86_64.rpm
libgcc-4.8.5-44.el7.x86_64.rpm
libgomp-4.8.5-44.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
libstdc+±4.8.5-44.el7.x86_64.rpm
libstdc+±devel-4.8.5-44.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
(可在该网址下载相应版本的安装包)
逐一通过命令sudo rpm -ivh ***.rpm
安装以上包,先安被依赖的,如遇到glibc和glibc-common两包相互依赖的情况,则执行sudo rpm -ivh glibc-2.17-317.el7.x86_64.rpm glibc-common-2.17-317.el7.x86_64.rpm
如遇到conflict with file的问题,则在命令后加上参数–replacefiles:sudo rpm -ivh ***.rpm --replacefiles
所有包安装完成后,通过gcc -v
命令查看gcc是否安装成功。
执行命令sudo rpm -ivh epel-release-7-13.noarch.rpm
安装epel包,可在该网站下载相应版本安装包。
通过uname –r
命令查看本机的kernel版本(本机为3.10.0-1127)
下载相应版本的kernel-devel-3.10.0-1127**.rpm
下载相应版本的kernel-header-3.10.0-1127**.rpm
下载相应版本的kernel-3.10.0-1127**.rpm
(可在该网站下载相应版本kernel,如果版本不一致会导致安装nvidia driver的时候报错unable to find the kernel source tree for the currently ruuning kernel)
通过命令sudo rpm -ivh ***.rpm
逐一安装。
(如已有其它版本的kernel则需要先卸载 yum remove kernel-devel-3.10.0-1160.el7.x86_64
)
进入路径 cd /etc/modprobe.d/
创建文件 vim blacklist-nouveau.conf
写入内容echo -e "blacklist nouveau \noptions nouveau modeset=0" >/etc/modprobe.d/blacklist-nouveau.conf
禁用sudo dracut --force
重启机器reboot
通过lsmod |grep nouveau
命令查看是否禁用成功,如果没有回显信息则表示禁用成功。
切换到3级运行:systemctl isolate runlevel3.target
安装cuda:sh cuda_11.0.2_450.51.05_linux.run
安装选项:第一步选择accept;第二部去掉驱动driver选项,然后选择install
(在该网站下载所需版本安装包)
设置链接指向cuda:ln -s /usr/local/cuda /usr/local/cuda-11.0
重启机器:reboot
切换到图形界面:systemctl isolate runlevel5.target
。执行runlevel
命令显示3 5则表示切换成功。
打开profile文件:vi /etc/profile
在文件最后添加如下三行:
export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64/:$LD_LIBRARY_PATH"
export CUDA_HOME="/usr/local/cuda-11.0/:$CUDA_HOME"
(记得文件路径都替换为自己安装cuda的路径)
保存退出并使之生效:source /etc/profile
编译并测试设备 deviceQuery:
进入路径:cd /usr/local/cuda-11.0/samples/1_Utilities/deviceQuery
编译:sudo make
测试:./deviceQuery
最后结果result=PASS表示测试通过
编译并测试带宽 bandwidthTest:
进入路径:cd ../bandwidthTest
编译:sudo make
测试:./bandwidthTest
最后结果result=PASS表示测试通过
如果测试过程中报错CUDA driver version is insufficient for CUDA runtime version,则先进行第七步安装nvidia驱动,然后再回过头来测试。
执行命令lsmod |grep nouveau
查看nouveau是否仍在禁用状态。
切换到runlevel3命令:systemctl isolate runlevel3.target
安装nvidia驱动:sh NVIDIA-Linux-x86_64-450.142.00.run
(在官网选择相应版本进行下载,本机选择的Tesla V100)
启动图形化界面:systemctl isolate runlevel5.target
通过命令nvidia-smi
(注意中间没有空格)查看驱动安装是否成功,如成功则返回gpu信息如下:
解压安装包:tar zxvf cudnn-11.3-linux-x64-v8.2.1.32.tgz
(可在官方网站下载相应版本)
解压后进入路径:cd cuda/include/
执行如下命令完成安装:
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
安装:bash Anaconda3-2021.05-Linux-x86_64.sh
(安装包可在清华镜像网站下载)
(安装选项do you wish the installer to init….选择yes)
添加环境变量:在/etc/ profile末行添加
export PATH="/root/anaconda3/bin:$PATH"
重启:reboot
执行python
命令查看是否成功启动新版python(显示python版本为3.x则表示成功)。
执行conda list
命令查看已安好的库。
离线安装tensorflow_gpu2.6所需要的所有依赖包如下:
absl_py-0.13.0-py3-none-any.whl
astor-0.8.1-py2.py3-none-any.whl
keras-2.6.0-py2.py3-none-any.whl
grpcio-1.40.0-cp38-cp38-manylinux2014_x86_64.whl
Keras_Applications-1.0.8-py3-none-any.whl
Keras_Preprocessing-1.1.2-py2.py3-none-any.whl
Markdown-3.3.4-py3-none-any.whl
mock-4.0.3-py3-none-any.whl
termcolor-1.1.0.tar.gz
protobuf-3.17.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
tensorboard-2.6.0-py3-none-any.whl
tensorboard_data_server-0.6.1-py3-none-manylinux2010_x86_64.whl
google_auth_oauthlib-0.4.6-py2.py3-none-any.whl
pyasn1-0.4.8-py2.py3-none-any.whl
pyasn1_modules-0.2.8-py2.py3-none-any.whl
rsa-4.7.2-py3-none-any.whl
cachetools-4.2.2-py3-none-any.whl
requests_oauthlib-1.3.0-py2.py3-none-any.whl
oauthlib-3.1.1-py2.py3-none-any.whl
tensorboard_plugin_wit-1.8.0-py3-none-any.whl
google_auth-1.35.0-py2.py3-none-any.whl(这个必须小于2.0)
gast-0.4.0-py3-none-any.whl(这个必须为4.0版本)
astunparse-1.6.3-py2.py3-none-any.whl
opt_einsum-3.3.0-py3-none-any.whl
google_pasta-0.2.0-py3-none-any.whl
tensorflow_estimator-2.6.0-py2.py3-none-any.whl
flatbuffers-1.12-py2.py3-none-any.whl(版本高了会报错)
h5py-3.1.0-cp38-cp38-manylinux1_x86_64.whl(版本高了会报错)
numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl(版本高了会报错)
clang-5.0.tar.gz(版本高了会报错)
(所有安装包可在pypi网站进行搜索下载相应版本。)
逐一安装以上各包,whl文件通过pip install ***.whl
命令进行安装,tar.gz文件则先解压:tar -zxvf ***.tar.gz
,然后进入解压后的文件路径:cd ***
,最后执行命令python setup.py install
进行安装。
先安装被依赖的包,全部完成安装后再执行pip install tensorflow_gpu-2.6.0-cp38-cp38-manylinux2010_x86_64.whl
命令安装tensorflow_gpu。
安装完成后进入python,输入以下命令测试:
import tensorflow as tf
tf.config.list_physical_devices('GPU')
显示True则表示安装成功并能够调用gpu进行计算。
如若报错“Could not load dynamic library ‘libcusolver.so.11’; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory”
则查看/etc/profile中LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64/:$LD_LIBRARY_PATH"
的路径下的文件,发现没有libcusolver.so.11,但是有libcusolver.so.10。
解决办法,建立一个软连接:sudo ln -s libcusolver.so.10 libcusolver.so.11
设置远程访问jupyter notebook的文章很多,可以参照这篇写得相当详尽,并且提到了其它文章没有提到的放行linux防火墙端口的问题,这个问题导致一开始配置完成jupyter notebook后一直访问不了。
具体操作如下:
sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent
restart firewalld
完成设置后在浏览器输入ip+端口就可以正常使用服务器jupyter notebook了。