[Tensorflow]Linux 下支持 CUDA9.1 cuDNN7的tensorflow

在服务器上搭建tensorflow-gpu,使用"nvcc -V“命令看了一眼CUDA版本,发现是9.1。因为学长用的是pytorch,而官方版本至1.7为止还没有支持CUDA9.1的。实在不想用docker,查了一下发现了windows下用tensorflow+CUDA9.1,没有linux的。好在顺着这条线索,在github上查到了相关的东西,分享一下。

原文链接:

https://blog.csdn.net/vcvycy/article/details/79298703

根据里面的链接,我们发现非官方的安装包,大概包含tensorflow和wheel两个关键词,所以在github上搜索一下:

[Tensorflow]Linux 下支持 CUDA9.1 cuDNN7的tensorflow_第1张图片

mind/wheels是tiny mind开发的为Linux准备的特殊版本的tensorflow,包含支持CUDA9.1的tensorflow。

fo40225/tensorflow-windows-wheel是为了windows准备的。

搬运下载链接:linux可用CUDA9.1的tensorflow-gpu

另外:whl文件的安装自行搜索,需要在whl所在路径下使用pip install xxx.whl

这个装完以后在pip list里面显示的是tensorflow 1.6.0,但它实际上是gpu版的。

你可以使用这里的代码测试一下,代码明确要求使用GPU设备,为了方便搬运了一下:

import tensorflow as tf

with tf.device('/cpu:0'):
    a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')
    b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')
with tf.device('/gpu:1'):
    c = a + b

# 注意:allow_soft_placement=True表明:计算设备可自行选择,如果没有这个参数,会报错。
# 因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
# sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))

另外,mind/wheels里面还有支持AVX指令集的版本,未使用AVX指令集的版本会给出警告:

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

这个警告并没有太大影响,只是告诉你,选择支持AVX的版本可以更好的利用您的CPU资源,然而网上多数的解决方法是屏蔽二级警告,使用纯CPU版本的开发者可以考虑一下mind/wheels里的CPU版本。

你可能感兴趣的:(基础)