tensorflow安装问题:No module named pywrap_tensorflow_internal&failed call to cuInit:CUDA_ERROR_NO_DEVICE
2017-08-30 20:11
881 查看
解决方案:
问题1:回到主目录,重新运行代码。
问题2:
指定gpu时使用如下任意一种方式,而不是
解决方案直接贴在上面了。下面的内容是遇到问题的原因,和解决问题时的思路,有需要的可以看看,不需要的直接按照上面的方法就可以。有问题欢迎交流。
本人电脑配置:
显卡:gtx1070; ubuntu1404; 驱动nvidia-375; cudnn6.0; cuda8.0;
在Ubuntu下配置tensorflow-gpu的时候遇到了很多问题,特此记录,以飨各位。
这个问题第一次遇到的时候在网上百度到了好几个页面,都说是cuda驱动版本太低导致的,但显然我的配置不太可能是因为这个原因,重装了一次tensorflow。第二次遇到的时候,仔细看了下错误提示,发现错误提示中给出了一个链接,提示到tensorflow官网中查看解决方案。在这个页面的最下面看到了这个 ,这个页面中给出了错误原因,是因为我们在~/tensorflow 下编译完tensorflow后直接运行了Python代码,所以Python解释器调用的Python是tensorflow源码中的,而不是我们自己安装的版本,因此就不会有这个模块。
解决方案就是cd .. ,即退出当前目录回到主目录下,然后再运行Python代码,这样就不会报错了。
严格来说这其实只是个警告,在出现这个警告时,代码仍然会正常运行,但是是在没有使用gpu的情况下。所以如果不解决这个问题,在运行代码时会很浪费时间。
这个问题也是困扰了我很久,因为这个问题重装了一次系统。因为在进入python解释器后,无论是逐行输入或者是通过exec(open(‘test_gpu.py’).read())方法运行同样的代码都不会报这个错误,但是在命令窗口中直接python test_gpu.py则会出现这样的问题,出现这种情况一度让我很懵逼,不确定是不是自己的cuda有问题,按理说有问题的话在python解释器中应该也出现同样的问题才对。
网上的思路是cuda没有装好,也有说只有自行编译的tensorflow才能使用cuda,否则就会出现这样的问题。本着试一试的态度我尝试了自行编译的方案,但是问题依旧。因此我不得不重新思考到底是哪里出了问题。
因为在另一段代码中也是使用这句代码指定gpu的设备
一定要静下心来捋一捋头绪,去思考问题出现的原因。
要重视错误提示,这远远要比百度上的各种劣质文章要靠谱的多。
有问题多看stackoverflow。
多动手多尝试,不要怕,大不了重来一遍就当练手了。
以上,欢迎交流。
问题1:回到主目录,重新运行代码。
问题2:
指定gpu时使用如下任意一种方式,而不是
os.environ['CUDA_VISIBLE_DEVICES'] = "1"
# 方法1 import os os.environ['CUDA_VISIBLE_DEVICES'] = "0" # 方法2,在创建session时使用这句代码: sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
解决方案直接贴在上面了。下面的内容是遇到问题的原因,和解决问题时的思路,有需要的可以看看,不需要的直接按照上面的方法就可以。有问题欢迎交流。
本人电脑配置:
显卡:gtx1070; ubuntu1404; 驱动nvidia-375; cudnn6.0; cuda8.0;
在Ubuntu下配置tensorflow-gpu的时候遇到了很多问题,特此记录,以飨各位。
1.No module named pywrap_tensorflow_internal
这个问题一般都是理由bazel编译tensorflow源代码安装的时候出现的错误。这个问题第一次遇到的时候在网上百度到了好几个页面,都说是cuda驱动版本太低导致的,但显然我的配置不太可能是因为这个原因,重装了一次tensorflow。第二次遇到的时候,仔细看了下错误提示,发现错误提示中给出了一个链接,提示到tensorflow官网中查看解决方案。在这个页面的最下面看到了这个 ,这个页面中给出了错误原因,是因为我们在~/tensorflow 下编译完tensorflow后直接运行了Python代码,所以Python解释器调用的Python是tensorflow源码中的,而不是我们自己安装的版本,因此就不会有这个模块。
解决方案就是cd .. ,即退出当前目录回到主目录下,然后再运行Python代码,这样就不会报错了。
failed call to cuInit: CUDA_ERROR_NO_DEVICE
这个问题出现在我在运行这段测试代码的时候:import tensorflow as tf import os a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') c = tf.matmul(a, b) os.environ['CUDA_VISIBLE_DEVICES'] = "1" sess = tf.Session() print (sess.run(c)) sess.close()
严格来说这其实只是个警告,在出现这个警告时,代码仍然会正常运行,但是是在没有使用gpu的情况下。所以如果不解决这个问题,在运行代码时会很浪费时间。
这个问题也是困扰了我很久,因为这个问题重装了一次系统。因为在进入python解释器后,无论是逐行输入或者是通过exec(open(‘test_gpu.py’).read())方法运行同样的代码都不会报这个错误,但是在命令窗口中直接python test_gpu.py则会出现这样的问题,出现这种情况一度让我很懵逼,不确定是不是自己的cuda有问题,按理说有问题的话在python解释器中应该也出现同样的问题才对。
网上的思路是cuda没有装好,也有说只有自行编译的tensorflow才能使用cuda,否则就会出现这样的问题。本着试一试的态度我尝试了自行编译的方案,但是问题依旧。因此我不得不重新思考到底是哪里出了问题。
因为在另一段代码中也是使用这句代码指定gpu的设备
os.environ['CUDA_VISIBLE_DEVICES'] = "1",所以我一直以为1就是指第一块gpu(我只有一个gpu),在百般无果后,我尝试着将”1”改为”0”,重新运行,发现可以正常调用gpu了。
思考与总结:
遇到问题不能慌,也不能觉得肯定是自己在哪个步骤出现操作错误才会导致问题。一定要静下心来捋一捋头绪,去思考问题出现的原因。
要重视错误提示,这远远要比百度上的各种劣质文章要靠谱的多。
有问题多看stackoverflow。
多动手多尝试,不要怕,大不了重来一遍就当练手了。
以上,欢迎交流。
相关文章推荐
- tensorFlow解决问题ImportError: No module named 'tensorflow.python.pywrap_tensorflow_internal'
- TensorFlow学习笔记 速记2 报错:failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE
- TensorFlow 报错 failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE
- windows安装TensorFlow gpu版本时候的bug;No module named "_pywrap_tensorflow" ;DLL load failed.
- TensorFlow in nvidia-docker: failed call to cuInit: CUDA_ERROR_UNKNOWN
- caffe支持pycaffe的安装:ImportError: No module named google.protobuf.internal
- [Unity&blender]安装问题AL lib: <EE> UpdateDeviceParams: Failed to set 44100hz , got 48000hz instead
- No Module Named '_pywrap_tensorflow_internal'
- ionic3 自定义插件安装失败问题解决 Error: Failed to get absolute path to installed module
- Python Error: “ImportError: No module named six”,用自动安装解决依赖问题
- 安装VMWare 8出现问题总结——Runtime Error/Failed to load module
- tensorflow安装问题:No module named '_pywrap_tensorflow_internal'
- Tensorflow: failed call to cuInit: CUDA_ERROR_UNKNOWN
- tensorflow安装:“ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'”
- VMware安装失败 “Failed to create the requested registry key Key:installer Error:1021"
- VMware安装失败 “Failed to create the requested registry key Key:installer Error:1021" .
- ulipad 无法安装使用、无法调试、64位版本问题 ImportError: No module named comtypes 整体解决方案!
- python2.7 import error no module named yaml ·问题
- no installed service named "Apache2" 安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
- wordpress 安装(亲身经历)& 出现“Fatal error: Call to undefined function get_magic_quotes_gpc()”之后的解决方法