Ubuntu16.04 安装TensorFlow-gpu版本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Ubuntu16.04 安装TensorFlow-gpu版本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4919字,纯文字阅读大概需要8分钟。
内容图文
Ubuntu16.04安装TensorFlow-gpu版本
目前,基于python的深度学习几个常用的框架分别是TensorFlow、Pytorch、Keras、Theano、Caffe等等,伙伴们可以参考大佬的博客——深度学习十大框架比较。最近在用TensorFlow框架,但是在CPU上运行速度太慢了,这就需要我们在GPU上运行,TensoFlow是分为GPU版本和CPU版本的,要根据电脑/服务器的配置选择TensorFlow的版本。我们的服务器上是Ubuntu16.04的,所以下面的分享也主要是基于Ubuntu的。
先放上TenserFlow的官网地址,上面有很多大家可以自娱自乐的东西~哈哈
1. 查看CUDA和Cudnn的版本
我的系统是Linux Ubuntu16.04,Python的版本是3.6,要安装TensorFlow-gpu版本还需要知道服务器上安装的是什么版本的CUDA和Cudnn。
查看CUDA版本的命令:
cat /usr/local/cuda/version.txt
查看Cudnn版本的命令:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
我的配置如下图:
2. 选取适合的TensorFlow-gpu版本
伙伴们可以去TensorFlow官网上查看对应自己Linux/Python/CUDA/Cudnn配置的TensorFlow-gpu的版本,也给大家再放一遍网址:TensorFlow对应版本网址。可以从下图看出对应我的Linux/Python/CUDA/Cudnn的版本就是红框中的几款,这几款就要看运行的Code是需要什么版本了。
3. 安装TensorFlow-gpu
因为害怕安装的时候动了主环境,一般我的操作是创建一个新的虚拟环境,如果大家不装虚拟环境也可以,但是还是建议大家创建一个虚拟环境。如果伙伴们是使用docker的,可以参考TensorFlow官网上安装教程,这里就不赘述了。
查看服务器上的虚拟环境命令:
创建新的虚拟环境:
conda create -n your_new_conda_name python==X.X
# Ex:conda create -n tensorflow python==3.6
然后,你可以重新查看服务器上虚拟环境,看有没有tensorflow的虚拟环境,如果有的话就说明已经创建成功了,没有创建成功的话再执行一遍命令就可以了;
进入新创建的虚拟环境tensorflow:
conda activate tensorflow
# 顺便提一句,退出虚拟环境的命令:conda deactivate tensorflow
# 有时候conda activate会报错,可以用source activate/deactivate激活或者退出
用pip安装tensorflow-gpu:
pip install tensorflow-gpu==1.6.0
4. 测试TensorFlow-gpu是否安装成功
安装成功TensorFLow-gpu以后还需要测试一下,一般用tf.__version__
来测试,但是发现如果是装的CPU版本或者GPU版本没有调用显卡此命令也会显示TensorFlow的版本,推荐用下述命令来测试。
import tensorflow as tf
tf.test.is_gpu_available()
如果你可以看到类似下图的反馈(尤其是最后一句为True),说明安装成功啦。
5. 一些报错的解决方案
5.1 numpy的版本过高
在对于安装好的TensorFlow-gpu进行测试的时候可能会遇到下面的情况,则说明环境中numpy的版本过高,重新安装numpy就不会报错了(推荐此配置下numpy的版本为1.14.5)。
as/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:521: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home/tensor/anaconda2/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
5.2 选用的TensorFlow-gpu版本和CUDA/Cudnn版本不符
如果出现下述的问题则说明选取的TensorFlow-gpu的版本和现有的CUDA/Cudnn的版本不符合(尤其是TensorFlow更新了2.0的版本以后),TensorFlow-gpu对于CUDA/Cudnn的依赖性很强,一定要选用对的版本!!!
ImportError: libcudart.so.10.0: cannot open shared object file: No such file or directory
这是昨天装TensorFlow-gpu遇到的一些坑随手就记录了下来,以后有问题会不断补充上来的,感谢大家的支持和大佬的帮助~
内容总结
以上是互联网集市为您收集整理的Ubuntu16.04 安装TensorFlow-gpu版本全部内容,希望文章能够帮你解决Ubuntu16.04 安装TensorFlow-gpu版本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。