您的位置:首页 > 其它

Ubuntu16.04下安装CUDA8.0,CUDNN和tensorflow,并利用Pycharm连接远程服务器实现远程调试

2019-10-10 11:19 676 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43353612/article/details/102477579

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/lo
3ff7
cal/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测试代码,可以看到现在代码是在远程服务器上运行了。

本文内容仅供参考,博主水平有限,如有错误,还请指正。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐