之前嫌tensorflow的gpu版本安装配置太麻烦 装cuda 还有cudnn… 然后一直用的cpu版本的tensorflow 因为之前是在学前馈神经网络而且计算量并不大 所以运行程序也不觉得怎么卡 个人觉得还过得去
最近有个图片数字串识别的任务 于是开始学习CNN 然后和之前一样嘛 继续用MNIST那个手写体识别练手 然后找了一个MNIST的卷积网络实现版本 网络循环1000次 每次选取100张图片 我给它改成了500次 先试试
整个网络大概两次卷积两次池化 再加上一层全连接 最后输出1024个神经元 再得出一个输出结果
不跑不知道 一跑起来
我TM电脑CPU就炸了 瞬间飙升到100% (开着的网易云音乐声音就直接跑飘了。。。) 吓得我。。。
于是我知道 CPU 已经不足以支撑这些庞大的运算了 于是想着装一个GPU版本
从早上九点开始 一直折腾到晚上九点 (中间出现导入总是报错的提示:说什么无法加载某个DLL等等)
上网各种找 找了不下于 10个版本的说法 全部一一试了一遍 结果都无法解决我的问题
之前说配置两小时 使用5分钟 我这配置了一整天 1分钟也没有用上
具体细节不多bibi了
最终还是找到了一个靠谱的解决方案:
博客描述如下:
一、问题描述
最近朋友装环境时又遇到这个问题
ModuleNotFoundError: No module named ‘_pywrap_tensorflow_internal’
Failed to load the native TensorFlow runtime.
这个问题也许很多人一开始会认为是自己的CUDA或者是cuDNN的问题
二、问题分析
1.朋友的显卡是NVIDIA GeForce 1060,环境是CUDA9.0,cuDNN7.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.py
和pywrap_tensorflow_internal.cc
,前者是对接上层Python调用,后者对接底层C API调用3.什么是swig呢?前端多语言实现需要swig包装器,tensorflow很好的一点是它提供了这样的一个多种语言的前端接口。swig把c/c++ 封装成python可调用的so文动态链接库,这样我们就可以通过其他语言来完成深度学习的模型训练和测试
4.较新版本添加了调用这个
_pywrap_tensorflow_internal
模块,找不到就安装旧一点的版本即可~
最后还是感谢这位大佬的解决方案,不然我还不知道要找多久
作者:悲恋花丶无心之人
来源:CSDN
原文:https://blog.csdn.net/qq_36556893/article/details/86406455
版权声明:本文为博主原创文章,转载请附上博文链接!
之前跑cpu死机的500遍 我直接改成了10000遍 用了GPU后不仅速度快 也解决了CPU吃不消的问题