之前安装anaconda的时候就想把tensorflow装了,但是之前每次没下载完就红红一片显示连接超时,因为之前不用它所以就放弃了。这次因为必须要用tensorflow这个框架,所以昨天晚上就开始折腾,特此记录一下,以防之后有啥问题也有迹可循。(主要包括下列问题↓)
之前已安装好anaconda,python版本是3.7,下载安装的tensorflow是gpu版本2.0.0,加粗文字是重点!
首先打开cmd进入安装anaconda的文件位置:(我的是D:\Users\86187\Anaconda3)
然后进入之前创建的环境:activate wsl(如果没有创建环境的自己创建一个,名字随意)
下载tensorflow版本,下载的时候一定要注意Python的版本,所以先查看Python版本:
python --version
然后进行安装(下面说一堆安装失败的,可跳过)
这个尝试了3次就成功下载了,但是这个默认是下载最新版本的→tensorflow-2.1.0-cp37-cp37m-win_amd64.whl
虽然下载成功但是在python中import tensorflow会报错:
ImportError: DLL load failed: 找不到指定的模块。
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
百度上说这是因为这个版本太高了,所以要删了重下新版本
先卸载已有的tensorflow:pip uninstall tensorflow
成功卸载显示:Successfully uninstalled tensorflow-2.1.0
既然最新版本不行就下载特定版本的,虽然不知道选啥版本好,按其他文章说明进行尝试——当然没有成功。
没办法,尝试书中的方法:
网络连接有问题,就算把清华镜像网址改了还是有问题
换谷歌的:
尝试好多其他百度方法之后,找到可以设定版本的
不行,在奔溃的时候,直接复制了别人的语句:(下面是GPU版本的安装)
pip --default-timeout=1000000 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==2.0.0
嗯,成功了,再一次下载成功了!但是是GPU版本的,虽然速度很快,但是配置又是个事。
先进入python看看import tensorflow
这里提示缺少东西,是因为没有装cuda和cudnn,版本要根据提示下载:
上面报错中提示cudart64_100.dll也就是下载10.0的版本的CUDA。要确定cuDNN的版本可以查看官网:
根据官网:https://tensorflow.google.cn/install/source_windows
然后在下面两个网站下载相应版本的,cudnn下载需要注册。
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archive
cuda需要下载安装;cudnn下载之后解压,将里面的文件复制到cuda文件夹下对应的文件。
最后就是添加环境变量:(红色是这个的环境变量,蓝色是anaconda的环境变量,如果显示conda指令有问题看看环境变量有没有添加)
然后我电脑需要重启一下。(每次添加完环境变量,不重启就没用)
重启之后——成功了!
感觉应该是成功了,然后开启我建模学习的道路。这次尝试了许多的方法,其实之前在台式机上成功装成过tensorflow-cpu的版本,当时也是尝试了很多方法,结果这次在家重装这么久才成功,特此记录一下,还是不会用这个改格式,凑合一下吧!还没有结束,因为又遇到了问题:
今天刚好学到tensorflow,结果发现jupyter和spyder中import该模块又出现没有该模块的报错了,然后立即去cmd看是可以使用的。经过查了许多方法尝试了下面链接4的方法成功了。
首先在anaconda的lib\site-packages的目录下新建一个path.pth文件,文件里输入安装TensorFlow的虚拟环境下的lib/site-packages的路径。
用记事本打开,写入虚拟环境下的lib\site-packages的路径
这样之后打开spyder和jupyter测试,成功了。
参考了许多,还留有记录的如下: