5天星期前开始搭建tensorflow GPU环境,途中屡屡踩雷,
现在把环境已经完全搭好,
搭配版本如上
首先的首先,要知道你
搭了一半的时候被告知我的显卡不能做深度学习,去网上查了一下,geforce显卡被英伟达禁止做深度学习,好在后来问了一下别的同学,其实也可以做,我的显卡内存8G,可用内存6G
接下来首要的任务,了解一下自己该配什么版本相关配置,可以简单参考一下,后面还会有讲到。
版本参考:https://blog.csdn.net/mangobar/article/details/93624545
方法一:控制面板>>nvidia控制面板
方法二:电脑左下角搜索>>nvidia control panel
界面如下:
我这里是更新过后的驱动版本
点击官网https://www.nvidia.cn/Download/index.aspx?lang=cn
双击安装
中途不要安装geforce experience(自动更新驱动程序)经常自己更新不太好,我选择了精简版,默认安装
按照步骤一再次寻找自己的nvidia控制面板,
注意:如果用搜索能找得到,但是控制面板里面没有,这没有关系,下载最新驱动就是完成了
注意:如果搜索里面也找不到,就用下面的办法
windows10的这个程序有在windows应用商店手动下载
下载之后再检查一遍,就能找到这个图形界面了
或者
在cmd 中使用 nvcc-V命令
我选择了9.0版本的CUDA下载,
其余选项如下图:
默认路径
软件:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
DATA:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0
可以使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:
首先win+R启动cmd,cd到安装目录下的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite
,然后分别执行bandwidthTest.exe
和deviceQuery.exe
,应该得到下面两图:
如果以上两步都返回了Result=PASS
,那么就算成功啦。
下载cuDNN需要在nvidia上注册账号,免费下载。
cuDNN历史版本在该网址下载:https://developer.nvidia.com/rdp/cudnn-archive
我选择7.6.4版本
拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
右键计算机>>属性>>高级系统设置>>高级>>环境变量>>系统变量>>
发现
加入以下变量
添加完成后:
然后:
在系统变量 PATH 的末尾再添加如下4条(默认安装路径):
添加完成后:
而且系统变量path里面有2个值是自动生成的
如果不慎将系统变量path或其他变量的值删掉了或者覆盖了,找不回来了,有三种方法
第一种:
通过注册表挽回
1.win + R,打开运行,输入regedit,进入注册表。
2.定位至HYEK_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
3.右键修改,将数值数据一栏全选,复制
4.右键此电脑-属性-高级系统设置-高级-环境变量
5.在系统变量里找到path,编辑(或编辑文本),粘贴
第二种:可以复制别人的path值
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
第三种:path变量值不记得,又不能直接复制他人的值。
可以将系统还原到上一个就近的还原点
右键点击计算机>>属性>>系统保护>>系统还原
选择还原点,下一步
选择就近的两天前的系统还原点,点击下一步,坐等就好了,中途可能要重启
最后发现原来的path又回来了!!!!
再重新配置系统变量
conda uninstall tensorflow,此版本默认cpu运行,必须卸载
pip install tensorflow-gpu==1.5
试验一下是否可用gpu:
在配置好的环境中,进入python,输入以下命令:
import tensorflow as tf
tf.test.gpu_device_name()
结果若出现,device:GPU:0,代表安装成功。
conda uninstall numpy
conda uninstall scipy
conada uninstall scikit-learn
conda uninsall keras
然后
pip install numpy
pip install scipy
pip install scikit-learn
pip install keras
注意这里pip install 顺序numpy>>scipy>>scikit-learn
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'--解决方法https://blog.csdn.net/qq_36556893/article/details/86406455
ImportError:DLL load failed:找不到指定模块的解决方法:查看报错行,将报错的模块conda uninstall然后pip install,还有它的依赖包也需要用pip重装
报错Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\asus\\AppData\\Local\\Temp\\pip-req-tracker-xmyu9uqv\\9b71a09296342e78a4dfb3ad80cf2411a9846b653bf0f4dc51d4c58e'
或者
Could not install packages due to an EnvironmentError
解决方法是 在install后面 加上 --user:pip install --user
5.Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: …
参考stackoverflow的回答:
conda install html5lib
https://stackoverflow.com/questions/53901270/could-not-install-packages-due-to-an-environmenterror-errno-2-no-such-file-or
6.导入Keras库时报错“ ImportError: cannot import name 'tf_utils'”:
conda uninstall keras; pip install keras
https://blog.csdn.net/Leeoo_lyq/article/details/103794226
7.cannot import name 'descriptor':
卸载TensorFlow;卸载protobuf(如果已安装protobuf);重新安装TensorFlow,自动安装正确的protobuf依赖项。
https://stackoverflow.com/questions/42006320/tensorflow-pip-installation-issue-cannot-import-name-descriptor
终于搞定,原先用cpu进行深度学习训练,epoch=32时,程序崩坏
现在用epoch=46时,达到earlystop,完美
用了4天搞定,解决了各种踩雷挖坑,必须写下来这苦闷的5天所干的事
然后,还是习惯性结尾——