在服务器上安装tensorflow-gpu版本及其使用
在服务器上安装tensorflow-gpu版本及其使用
本文档是在服务器上,不要su权限,全部命令行下载安装配置教程 ######
系统 Centos7 显卡驱动已经装好
所需文件
- cuda9.0(一定是要9.0版本,9.2,10.0都是坑,亲测无效!)
- cudnn(一定要与cuda版本匹配,NVIDIA官网具体下载时要注意)
- Anaconda (本人下载的是5.4版本,其他版本只要不太低,应该也可以)
步骤
1.安装cuda
到NVIDIA官方网站下载cuda9.0。https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
可以在本地打开网址查看,下载runfile(local)。
服务器上具体命令:
wget -c https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
下载成功后,安装
- 安装过程中刚开始会出现一大堆类似文档的东西,疯狂空格就行
- Do you accept the previously read EULA?
- accept/decline/quit: accept(没什么好说的了直接敲accept)
- Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 396.26? 这里是说是否安装显卡驱动,一定要选no!
- Do you want to install the OpenGL libraries? 这是nvidia自己的opencv 没有用的,要用就用直接的opencv官网安装也很简单,所以这n
- Install the CUDA 9.2 Toolkit? 是否安装,当然yes
- Enter Toolkit Location
- default is /usr/local/cuda-9.2 : 这个一定不要用默认的,因为没有su权限,目录选到自己home下 例如:/home/wushuai/
然后开始安装
命令: sh cuda_9.0.176_384.81_linux-run
配置环境变量:
我不知道 .bashrc 和 .bash_profile 有什么区别,索性都配上。
进入home下,命令: vim .bashrc
在文件尾部添加
export PATH=/home/path/to/your/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/path/to/your/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/home/path/to/your/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/path/to/your/cuda/extras/CUPTI/lib64
同样,在.bashrc_profile中添加。
到此,cuda安装成功。
验证方法, 命令:
nvcc -V
2.下载cudnn
命令: wget -c --http-user=XXX --http-passwd=XXX https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.3.0/prod/9.0_2018920/cudnn-9.0-linux-x64-v7.3.0.29
因为下载cudnn需要注册NVIDIA的账号,所以下载时要利用wget 并加上你的用户名和密码。
如果出现403 Forbidden,则表示不能下载。
这时换另一个命令。
命令: wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.3.0/cudnn-9.0-linux-x64-v7.3.0.29.tgz
即可下载,下载时下载到和cuda同一个目录下。这样解压时,不用自己操作即可将cudnn文件复制到cuda文件夹中
解压命令: tar -xzvf cudnn-9.0-linux-x64-v7.3.0.29.tgz
cudnn下载完毕
3.安装anaconda
到anaconda官网,找到对应版本
命令: wget -c https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-ppc64le.sh
安装命令: sh Anaconda3-5.3.0-Linux-ppc64le.sh
换源:
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
然后创建python虚拟环境
使用 conda create -n your_env_name python=X.X(2.7、3.6等)
命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到source activate your_env_name(虚拟环境名称)
**虚拟环境(tf-gpu)source deactivate
关闭虚拟环境
**虚拟环境后,使用pip或者conda安装包,直接安装到虚拟环境中
anaconda和虚拟环境下载安装完毕
4.下载tensorflow-gpu
**虚拟环境
pip下载tensorflow-gpu命令: pip install tensorflow-gpu
即可
验证是否安装成功:
进入pythonimport tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
下方有大段显示GPU信息表示安装成功
然后下载nb_conda(还是在当前tf-gpu环境下),目的下载ipynb和jupyter,这样tf-gpu虚拟环境就能在jpyter notebook上使用了
pip下载nb_conda:pip install nb_conda
5.配置jupyter服务,用来远程访问服务器
通过命令jupyter notebook --generate-config
生成配置文件。
记录下生成的配置文件位置,例如:/home/.jupyter/jupyter_notebook_config.py
进入python,然后执行下面的两条语句并根据提示输入密码from notebook.auth import passwd
passwd()
确认密码后会生成一个sha1码,这个码需要记住Enter password:
Verify password:
‘sha1:…’
因为Jupyter必须要用https进行登录,所以需要生成ssl证书openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
上面的命令可以自动生成证书,但是这个证书是不安全的,只能在测试过程中使用
修改配置,在~/.jupyter/jupyter_notebook_config.py末尾添加如下内容c.NotebookApp.password = u’sha1:…’ #上面第二步中生成的**
c.NotebookApp.certfile = u’/absolute/path/to/your/certificate/mycert.pem’
c.NotebookApp.keyfile = u’/absolute/path/to/your/certificate/mykey.key’
c.NotebookApp.ip = ‘(服务器ip)’
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999
先在服务器上想要执行ipynb的目录下用jupyter notebook命令启动服务,
然后 在任意一台终端的浏览器中输入https://[all ip addresses on your system]:9999/
测试,会提示输入密码,表示成功!!!
注意,需要用https
6.服务器上使用tensorflow-gpu训练模型:
例如我已经上传了吴恩达DeepLearning.ai课程的作业以及答案,以及实例分割模型Mask R_CNN。分别可以在jupyter运行和命令行运行。
1.ipynb文件可以通过jupyter服务。
- 终端输入jupyter notebook,启用jupyter服务。
- 打开本地浏览器,输入https://(ip):9999。具体端口号看倒数第二行的显示,有时会是10000
- 然后点击继续前往
- 打开一个ipynb文件,例如
- 选择kernel -> change kernel -> Python [conda envs:tf-gpu]
即可看到转换成功
- run即可运行,并且在Xshell可以看到以及在占用GPU资源
2.py文件可以通过命令行方式运行
- 命令:
source activate tf-gpu
- 命令:
python XXX.py XXX(命令行参数,可以没有)
训练Mask R_CNN时:python coco.py train --dataset=/path/to/coco/dataset --model=coco
#参考资料
- Linux系统 conda 创建python虚拟环境 https://blog.****.net/dongwanli666/article/details/78920059
- 在服务器上配置jupyter notebook https://blog.****.net/computerme/article/details/78751670
- linux查看硬件配置命令 https://www.cnblogs.com/chaichuan/p/3757840.html
- 从零开始搭建深度学习服务器: 1080TI四卡并行(Ubuntu16.04+CUDA9.2+cuDNN7.1+TensorFlow+Keras) http://www.52nlp.cn/深度学习服务器-1080ti-ubuntu16-04-cuda9-2-cudnn7-1-tensorflow-keras?utm_source=tuicool&utm_medium=referral
- Anaconda–设置国内镜像 https://blog.****.net/m0_37691307/article/details/80468568
- 用conda创建python虚拟环境 https://blog.****.net/lyy14011305/article/details/59500819
- 安装Cuda9.0 + CUDNN + Tensorflow https://blog.****.net/qq_22080019/article/details/80807377
- 用wget下载需要用户名和密码认证的网站或者ftp服务器文件 https://cloud.tencent.com/developer/article/1055872
- CUDA安装踩坑指南 https://blog.****.net/lzcong1986/article/details/81050639
- linux中.run文件的安装与卸载 https://blog.****.net/longchao2/article/details/77453498
- CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit https://blog.****.net/xueshengke/article/details/78134991
- cudnn https://developer.nvidia.com/rdp/cudnn-archive
- CUDA https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
- centos7安装tensorflow-gpu版本 https://www.jianshu.com/p/78a936c27ec4
- Centos7服务器上配置GPU的tensorflow https://blog.****.net/Carina_Cao/article/details/80846188
在服务器上安装tensorflow-gpu版本及其使用
本文档是在服务器上,不要su权限,全部命令行下载安装配置教程 ######
系统 Centos7 显卡驱动已经装好
所需文件
- cuda9.0(一定是要9.0版本,9.2,10.0都是坑,亲测无效!)
- cudnn(一定要与cuda版本匹配,NVIDIA官网具体下载时要注意)
- Anaconda (本人下载的是5.4版本,其他版本只要不太低,应该也可以)
步骤
1.安装cuda
到NVIDIA官方网站下载cuda9.0。https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
可以在本地打开网址查看,下载runfile(local)。
服务器上具体命令:
wget -c https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
下载成功后,安装
- 安装过程中刚开始会出现一大堆类似文档的东西,疯狂空格就行
- Do you accept the previously read EULA?
- accept/decline/quit: accept(没什么好说的了直接敲accept)
- Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 396.26? 这里是说是否安装显卡驱动,一定要选no!
- Do you want to install the OpenGL libraries? 这是nvidia自己的opencv 没有用的,要用就用直接的opencv官网安装也很简单,所以这n
- Install the CUDA 9.2 Toolkit? 是否安装,当然yes
- Enter Toolkit Location
- default is /usr/local/cuda-9.2 : 这个一定不要用默认的,因为没有su权限,目录选到自己home下 例如:/home/wushuai/
然后开始安装
命令: sh cuda_9.0.176_384.81_linux-run
配置环境变量:
我不知道 .bashrc 和 .bash_profile 有什么区别,索性都配上。
进入home下,命令: vim .bashrc
在文件尾部添加
export PATH=/home/path/to/your/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/path/to/your/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/home/path/to/your/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/path/to/your/cuda/extras/CUPTI/lib64
同样,在.bashrc_profile中添加。
到此,cuda安装成功。
验证方法, 命令:
nvcc -V
2.下载cudnn
命令: wget -c --http-user=XXX --http-passwd=XXX https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.3.0/prod/9.0_2018920/cudnn-9.0-linux-x64-v7.3.0.29
因为下载cudnn需要注册NVIDIA的账号,所以下载时要利用wget 并加上你的用户名和密码。
如果出现403 Forbidden,则表示不能下载。
这时换另一个命令。
命令: wget http://developer.download.nvidia.com/compute/redist/cudnn/v7.3.0/cudnn-9.0-linux-x64-v7.3.0.29.tgz
即可下载,下载时下载到和cuda同一个目录下。这样解压时,不用自己操作即可将cudnn文件复制到cuda文件夹中
解压命令: tar -xzvf cudnn-9.0-linux-x64-v7.3.0.29.tgz
cudnn下载完毕
3.安装anaconda
到anaconda官网,找到对应版本
命令: wget -c https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-ppc64le.sh
安装命令: sh Anaconda3-5.3.0-Linux-ppc64le.sh
换源:
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
然后创建python虚拟环境
使用 conda create -n your_env_name python=X.X(2.7、3.6等)
命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到source activate your_env_name(虚拟环境名称)
**虚拟环境(tf-gpu)source deactivate
关闭虚拟环境
**虚拟环境后,使用pip或者conda安装包,直接安装到虚拟环境中
anaconda和虚拟环境下载安装完毕
4.下载tensorflow-gpu
**虚拟环境
pip下载tensorflow-gpu命令: pip install tensorflow-gpu
即可
验证是否安装成功:
进入pythonimport tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
下方有大段显示GPU信息表示安装成功
然后下载nb_conda(还是在当前tf-gpu环境下),目的下载ipynb和jupyter,这样tf-gpu虚拟环境就能在jpyter notebook上使用了
pip下载nb_conda:pip install nb_conda
5.配置jupyter服务,用来远程访问服务器
通过命令jupyter notebook --generate-config
生成配置文件。
记录下生成的配置文件位置,例如:/home/.jupyter/jupyter_notebook_config.py
进入python,然后执行下面的两条语句并根据提示输入密码from notebook.auth import passwd
passwd()
确认密码后会生成一个sha1码,这个码需要记住Enter password:
Verify password:
‘sha1:…’
因为Jupyter必须要用https进行登录,所以需要生成ssl证书openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
上面的命令可以自动生成证书,但是这个证书是不安全的,只能在测试过程中使用
修改配置,在~/.jupyter/jupyter_notebook_config.py末尾添加如下内容c.NotebookApp.password = u’sha1:…’ #上面第二步中生成的**
c.NotebookApp.certfile = u’/absolute/path/to/your/certificate/mycert.pem’
c.NotebookApp.keyfile = u’/absolute/path/to/your/certificate/mykey.key’
c.NotebookApp.ip = ‘(服务器ip)’
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999
先在服务器上想要执行ipynb的目录下用jupyter notebook命令启动服务,
然后 在任意一台终端的浏览器中输入https://[all ip addresses on your system]:9999/
测试,会提示输入密码,表示成功!!!
注意,需要用https
6.服务器上使用tensorflow-gpu训练模型:
例如我已经上传了吴恩达DeepLearning.ai课程的作业以及答案,以及实例分割模型Mask R_CNN。分别可以在jupyter运行和命令行运行。
1.ipynb文件可以通过jupyter服务。
- 终端输入jupyter notebook,启用jupyter服务。
- 打开本地浏览器,输入https://(ip):9999。具体端口号看倒数第二行的显示,有时会是10000
- 然后点击继续前往
- 打开一个ipynb文件,例如
- 选择kernel -> change kernel -> Python [conda envs:tf-gpu]
即可看到转换成功
- run即可运行,并且在Xshell可以看到以及在占用GPU资源
2.py文件可以通过命令行方式运行
- 命令:
source activate tf-gpu
- 命令:
python XXX.py XXX(命令行参数,可以没有)
训练Mask R_CNN时:python coco.py train --dataset=/path/to/coco/dataset --model=coco
#参考资料
- Linux系统 conda 创建python虚拟环境 https://blog.****.net/dongwanli666/article/details/78920059
- 在服务器上配置jupyter notebook https://blog.****.net/computerme/article/details/78751670
- linux查看硬件配置命令 https://www.cnblogs.com/chaichuan/p/3757840.html
- 从零开始搭建深度学习服务器: 1080TI四卡并行(Ubuntu16.04+CUDA9.2+cuDNN7.1+TensorFlow+Keras) http://www.52nlp.cn/深度学习服务器-1080ti-ubuntu16-04-cuda9-2-cudnn7-1-tensorflow-keras?utm_source=tuicool&utm_medium=referral
- Anaconda–设置国内镜像 https://blog.****.net/m0_37691307/article/details/80468568
- 用conda创建python虚拟环境 https://blog.****.net/lyy14011305/article/details/59500819
- 安装Cuda9.0 + CUDNN + Tensorflow https://blog.****.net/qq_22080019/article/details/80807377
- 用wget下载需要用户名和密码认证的网站或者ftp服务器文件 https://cloud.tencent.com/developer/article/1055872
- CUDA安装踩坑指南 https://blog.****.net/lzcong1986/article/details/81050639
- linux中.run文件的安装与卸载 https://blog.****.net/longchao2/article/details/77453498
- CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit https://blog.****.net/xueshengke/article/details/78134991
- cudnn https://developer.nvidia.com/rdp/cudnn-archive
- CUDA https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
- centos7安装tensorflow-gpu版本 https://www.jianshu.com/p/78a936c27ec4
- Centos7服务器上配置GPU的tensorflow https://blog.****.net/Carina_Cao/article/details/80846188