Ubuntu16.04下安装CUDA8.0,CUDNN和tensorflow,并利用Pycharm连接远程服务器实现远程调试
1. Ubuntu16.04下安装CUDA8.0,CUDNN和tensorflow
GPU版的Tensorflow无疑是深度学习的一大神器,当然caffe之类的框架也可以用GPU来加速训练。
1.1安装依赖包
$ sudo apt-get install openjdk-8-jdk git python-dev python3-dev python-numpy python3-numpy python-six python3-six build-essential python-pip python3-pip python-virtualenv swig python-wheel python3-wheel libcurl3-dev libcupti-dev
其中openjdk是必须的,不然在之后配置文件的时候会报错。
1.2 安装CUDA和cuDNN
这两个是NVIDIA开发的专门用于机器学习的底层计算框架,通过软硬件的加成达到深度学习吊打I卡的神功。
安装的CUDA和cuDNN版本以来所选用的显卡,可以在这里查询。
以下安装版本为CUDA8.0和cuDNN6.0。
# 安装cuda
$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
$ sudo sh cuda_8.0.61_375.26_linux.run --override --silent --toolkit # 安装的cuda在/usr/local/cuda下面
# 安装cdDNN
$ cd /usr/local/cuda # cuDNN放在这个目录下解压
$ tar -xzvf cudnn-8.0-linux-x64-v6.0.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*
然后将以下路径加入环境变量:
法一:
将cuda加入环境变量:sudo vi /etc/profile,把下两行加到/etc/profile末尾:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
重启或者执行以下命令使环境变量生效:
source /etc/profile
法二:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
将上述代码放入~/.bashrc文件保存后source ~/.bashrc
一定要确保环境变量安装成功,可按下述方法检验:
Linux设置和查看环境变量的方法
验证CUDA成功与否:
终端运行 nvcc -V ,出现相关 CUDA 版本信息说明安装。
终端输入以下内容以查看cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
1.3 安装tensorflow
准备 TensorFlow 依赖项和所需的程序包:
sudo apt-get install libcupti-dev
tensorflow-gpu需要python3,所以安装python3
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3
sudo rm /usr/bin/python3
sudo ln -s python3.5 /usr/bin/python3
然后还要安装pip3,因为pip安装tensorflow-gpu只要一行!
sudo apt install python3-pip
不要直接安装tensorflow-gpu,因为这样版本会不适配。我们要指定版本
(tensorflow-gpu 1.3.0似乎有点老,改成1.4.0 仍然可以匹配cuda8.0和cudnn6)
pip3 install tensorflow-gpu==1.3.0
验证安装:
进入python终端以后输入以下代码
import tensorflow as tfsess = tf.Session()
运行没有错误的话,就会显示机器的GPU信息
如果在安装最后出错如下的的话:
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: ‘init.py’
Consider using the --user
option or check the permissions.
可以解决如下:
pip3 install tensorflow-gpu==1.3.0 –user
使用pip安装python库函数时的常见问题及解决方法:
pip使用国内镜像安装报错 ERROR: Cannot unpack file,或者出现Cannot unpack file xxx的问题的解决,再或者pip安装速度慢或出现readtime out问题!!!均可尝试更换国内其他镜像!!!
如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn 包名
pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple 包名
pip install 包名-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
注:–trusted-host pypi.douban.com 这是为了获得ssl证书的认证
如果还不行的话,可尝试https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely,需要什么包就 ctrl+f 搜索对应包,然后使用pip install xxx\xxx\xxx.whl
换种安装方式CUDA8.0+Cudnn6.0+TensorFlow+Caffe(与本文不同的另一种打开方式):https://blog.csdn.net/u013401766/article/details/78559495
Ubuntu16.04 Caffe 安装步骤记录(超详尽):http://blog.csdn.net/yhaolpz/article/details/71375762
ubuntu16.04安装caffe:http://blog.csdn.net/u011272513/article/details/52103453#
2.利用Pycharm连接远程服务器实现远程调试
当需要远程办公时,使用pycharm远程连接服务器时必要的。PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)+ 配置Python调试服务器(Python Debug Server)
接下来主要介绍配置远程解释器,关于配置 python调试服务器,文末也会简单介绍。
2.1 Pycharm连接远程服务器
2.1.1 进入配置页面
Pycharm菜单栏,如下图所示,依次点击 Tools -> Deployment -> Configration…
2.1.2 配置连接服务器
name自己取,用于在多个服务器连接时,自己用于区分。
点击+号,Connection下,协议最好选择sftp,接下来填写服务器主机IP,用户名,密码。
在Mapping下,选择连接windows下的那部分代码和服务器上代码相连,本地Local path,服务器path,apply,OK,表示已经把本地的代码和服务器代码连接上了。
2.1.3 上传代码,使得本地代码和服务器代码保持同步
点击Upload to name(刚才填写的远程服务器名字),即可上传代码
若配置有多个不同服务器或同一个服务器配置了多个 服务器上传路径(Deployment Path),可选择 Upload to…,上传到不同的服务器/路径。
2.2. 配置远程Python解释器
使用服务器调试Python程序的前提时在服务器上安装了Python解释器,如果没安装,请先安装。
2.1.2 将Python解释器设置为远程服务器上的
在菜单栏,File -> Settings… -> Project ×× -> Project Interpreter,点击右侧 Add按钮,添加解释器。
选择SSH Interpreter,填写服务器的 Host 地址,端口Port,用户名Username,填好后,下一步Next。
填写密码 Password,下一步Next。
选择远程服务器上Python解释器的位置,服务器上的远程同步文件夹Sync folders,可以选择多个。如果不知道Python安装在哪,可以远程连接服务器后,使用 命令 which python 找到Python安装位置。
Finish,配置结束。该项目现在使用的就是远程服务器上的Python解释器了。以后的项目若想/不想使用该解释器,手动更改解释器即可。
2.3 使用远程解释器运行本地Python程序
将测试代码上传至远程服务器(Tooles -> Deployment -> Upload to ××);
Run测试代码,可以看到现在代码是在远程服务器上运行了。
本文内容仅供参考,博主水平有限,如有错误,还请指正。