ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'--解决方法

41 篇文章 14 订阅
15 篇文章 0 订阅

目录

一、问题描述

二、问题分析

三、解决方法

四、什么是_pywrap_tensorflow_internal


一、问题描述

最近朋友装环境时又遇到这个问题:

ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
 
 
Failed to load the native TensorFlow runtime.

这个问题也许很多人一开始会认为是自己的CUDA或者是cuDNN的问题

二、问题分析

1.朋友的显卡是NVIDIA GeForce 1060,环境是CUDA9.0cuDNN7.0,然后朋友运行了如下命令:

pip install tensorflow-gpu

2.报了上面提到的错误,查看了版本,发现版本是1.12版本。这里博主告诉朋友版本不兼容

三、解决方法

1.卸载当前tensorflow-gpu:

pip uninstall tensorflow-gpu

2.安装较低版本tensorfow-gpu,这里博主安装的是1.7版本:

pip install tensorflow-gpu==1.7

3.安装了这个版本的tensorflow-gpu就没有报错了,朋友很感谢我~

四、什么是_pywrap_tensorflow_internal

1.我们查看Python库会发现,这个应该是和wrapper文件一样的。查看tensorflow和python的官网和一些解决问题的网站,我们会知道:pywrap_tensorflow_internal.py 模块被导入时,会加载_pywrap_tensorflow_internal.so动态链接

2.这个文件是怎么来的呢?原来tensorflow使用bazel编译时,swig会生成两个wrapper文件:pywrap_tensorflow_internal.pypywrap_tensorflow_internal.cc,前者是对接上层Python调用,后者对接底层C API调用

3.什么是swig呢?前端多语言实现需要swig包装器,tensorflow很好的一点是它提供了这样的一个多种语言的前端接口。swig把c/c++ 封装成python可调用的so文动态链接库,这样我们就可以通过其他语言来完成深度学习的模型训练和测试

4.较新版本添加了调用这个_pywrap_tensorflow_internal模块,找不到就安装旧一点的版本即可~

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄笳倞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值