前言

本文是经过多次在Linux集群上安装tensorflow2.6-GPU失败后总结的经验。

        首先,在安装tensorflow之前Linux集群上已经安装好了CUDA,所以本文内容是基于CUDA已经安装完毕。可以通过以下命令查看CUDA是否安装:

nvcc -V

出现以下结果则表明已安装CUDA

 没装CUDA的话自己装一下,网上教程很多。

一、tensorflow2.6-GPU安装

1.创建虚拟环境并激活环境:

conda create -n tensorflow2.6 python=3.9

conda activate tensorflow2.6

这里使用python3.9版本。 

2.下载tensorflow2.6

pip install tensorflow-gpu==2.6

下载特别慢可以使用清华镜像源(自己去找) 。

3.安装cuda,cudnn 

conda install cudatoolkit=11.3

conda install cudnn=8.2

注意必须下载与tensorflow2.6对应的cuda,cudnn 。

4.简单测试

输入python,回车

import tensorflow as tf

 可能报错:

解决方式:重新下载protobuf

pip install protobuf==3.20

再次测试:

 安装基本完成。

       但是有些时候,就算上述代码运行没问题,还是不能够调用gpu的(因为cuda版本、GPU算力不兼容等原因),可以简单测试以下GPU(下述代码参考自tensorflow2.0官方教程):

import tensorflow as tf

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([

tf.keras.layers.Flatten(input_shape=(28, 28)),

tf.keras.layers.Dense(128, activation='relu'),

tf.keras.layers.Dropout(0.2),

tf.keras.layers.Dense(10, activation='softmax')

])

model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test, y_test, verbose=2)

没错,我运行上面的代码就出问题了。。。 

报的错误忘记截图了,总之原因是keras版本不对应。

解决方法:

conda list

查看keras版本,下载与tensorflow2.6对应的keras。

pip install keras==2.6.0

安装完成后再次运行上面的代码:

说明GPU调用没有问题。 

到此,终于安装完毕!!!

总结

参考博客:

完美解决(最简单):不同虚拟环境不同CUDA版本的安装问题(tensorflow-gpu与pytorch)_安装不同版本的cuda_TC1398的博客-CSDN博客

查看tensorflow是否为GPU版本,并检查gpu是否可用_tensorflow查看gpu-CSDN博客

其实还有很多参考博客就不一一列举了。 

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: