当我在virtualenv环境下完成tensorflow(GPU_support,linux 14.04,python3.4)的安装后,在官网的说明下,我用命令:python验证了安装;导入 tensorflow ;但有一个错误:
import tensorflow as tf
Traceback (most recent call last):
File "/home/fangfang/tensorflow/lib/python3.4/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "/home/fangfang/tensorflow/lib/python3.4/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "/home/fangfang/tensorflow/lib/python3.4/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "/home/fangfang/tensorflow/lib/python3.4/imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
***ImportError: /home/fangfang/tensorflow/lib/python3.4/site-packages/tensorflow/python/../libtensorflow_framework.so: undefined symbol: cudnnSetRNNDescriptor_v6
*** 最佳答案
我有同样的错误,所以希望这个解决方案对你有用......
您使用的是什么版本的 CuDNN?我发现 tensorflow-gpu
的版本> 当我安装了 CuDNN v5.1.10 时,1.2 将无法加载。
在我写这篇文章的时候,Tensorflow 文档说你必须有 CuDNN v6。 https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support
所以我只是删除了旧的 CuDNN 二进制文件和标题:$ sudo rm /usr/local/cuda/include/cudnn.h
$ sudo rm /usr/local/cuda/lib64/libcudnn.so
$ sudo rm /usr/local/cuda/lib64/libcudnn.so.5.1.10
以及 v5.1.10 的任何其他残余。然后只需下载并将新的 v6 header 和二进制文件复制到相同的位置即可。
这是检查您的 CuDNN 版本的有用命令:$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
关于python-3.x - tensorflow : undefined symbol :cudnnSetRNNDescriptor_v6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47256134/