tensorflow tensorrt cudnn7.6 keras

1.一口气
pip install tensorflow-gpu
结果,验证时报错了

libcublas.so.10.0: cannot open shared object file: No such file or
directory

2.卸掉,重新安装
pip install tensorflow-gpu==1.13.1

3.验证

import tensorflow as tf

hello=tf.constant('hello')

sess=tf.Session() 
或
tf.compat.v1.Session()(tensorflow2.0以后)

print (sess.run(hello))

4.又报错:

ImportError: libcublas.so.10.0: cannot open shared object file: No
such file or directory
有文章说,tensorflow与 cuda版本不一致

5.查版本

cuda 版本
cat /usr/local/cuda/version.txt

cudnn 版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

版本对应情况:
GPU
Version Python version Compiler Build tools cuDNN CUDA
tensorflow-2.4.0 3.6-3.8 GCC 7.3.1 Bazel 3.1.0 8.0 11.0
tensorflow-2.3.0 3.5-3.8 GCC 7.3.1 Bazel 3.1.0 7.6 10.1
tensorflow-2.2.0 3.5-3.8 GCC 7.3.1 Bazel 2.0.0 7.6 10.1
tensorflow-2.1.0 2.7, 3.5-3.7 GCC 7.3.1 Bazel 0.27.1 7.6 10.1
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1 7.4 10.0
tensorflow_gpu-1.15.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1 7.4 10.0
tensorflow_gpu-1.14.0 2.7, 3.3-3.7 GCC 4.8 Bazel 0.24.1 7.4 10.0
tensorflow_gpu-1.13.1 2.7, 3.3-3.7 GCC 4.8 Bazel 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8

6.重新安装cudnn
cudnn下载地址
https://developer.nvidia.com/rdp/cudnn-archive

6.1卸载之前cudnn版本

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

6.2

sudo dpkg -i libcudnn7_7.6.0.64-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.0.64-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.0.64-1+cuda10.1_amd64.deb

6.3
解压下面两个文件

libcudnn7_7.6.0.64-1+cuda10.1_amd64.deb
libcudnn7-dev_7.6.0.64-1+cuda10.1_amd64.deb

6.4

cp lib* /usr/local/cuda/lib64
cp cudnn_v7.h /usr/local/cuda/include/cudnn.h

cd /usr/local/cuda/lib64
sudo chmod +r libcudnn.so.7.6.0
sudo ln -sf libcudnn.so.7.6.0 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig

再次确认cudnn版本:

7.确认

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 0

#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include “driver_types.h”

代表版本是 7600, ok了

8.验证安装是否正确:

import tensorflow as tf
tf.compat.v1.disable_eager_execution() #保证sess.run()能够正常运行
hello = tf.constant('hello')
sess= tf.compat.v1.Session()   #tf 2.0  , tf 1.0:sess = tf.Session()
print(sess.run(hello))

9.执行下面部分时,有警告信息:

import tensorflow as tf

2021-05-06 13:49:36.395383: W
tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could
not load dynamic library ‘libnvinfer.so.6’; dlerror: libnvinfer.so.6:
cannot open shared object file: No such file or directory;
LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/cuda/lib64/
2021-05-06 13:49:36.395470: W
tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could
not load dynamic library ‘libnvinfer_plugin.so.6’; dlerror:
libnvinfer_plugin.so.6: cannot open shared object file: No such file
or directory; LD_LIBRARY_PATH:
:/usr/local/cuda/lib64:/usr/local/cuda/lib64/ 2021-05-06
13:49:36.395495: W
tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen
some TensorRT libraries. If you would like to use Nvidia GPU with
TensorRT, please make sure the missing libraries mentioned above are
installed properly.

9.1分析原因是,没有安装tensor rt。
->下载地址
https://developer.nvidia.com/nvidia-tensorrt-download

9.2解压
tar xzvf TensorRT-6.0.1.5…-gnu.cuda-10.1.cudnn7.x.tar.gz
9.3 添加环境变量
$ vim ~/.bashrc # 打开环境变量文件
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ptools/100_ptools/cudnn_7.6.0/TensorRT-6.0.1.5.Ubuntu-18.04.x86_64-gnu.cuda-10.1.cudnn7.6/TensorRT-6.0.1.5/lib

9.4
cd TensorRT-${version}/python
sudo pip3 install tensorrt-*-cp3x-none-linux_x86_64.whl

cd TensorRT-${version}/uff
sudo pip3 install uff-0.6.5-py2.py3-none-any.whl
which convert-to-uff

cd TensorRT-${version}/graphsurgeon
sudo pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl

10.安装keras
tensorflow 2.1 — Keras 2.3.1

おすすめ

転載: blog.csdn.net/qq_43309882/article/details/116240162