装了好几天的tensorflow,终于今天装好了。在这里记录一下,免得下次遇到问题忘了怎么解决。
首先我是找了几篇文章,将需要用上的环境都准备好。
第一篇 参考文章,不过这篇文章少了前期几个步骤。
前面的安装都是没什么好纠结的选项,到这一步,要选择c++的桌面开发选项。这个软件是微软开发的,在windows系统下不会出什么问题的。
以上是在tensorflow官网找到的,各个版本所对应的windows系统下各个工具的最佳版本。由于我安装的是tf-gpu1.14,对应的cuda版本是10.0,cuda在它的官网可以下载安装。在这里我是完全按照这篇文章来安装cuda
CUDA安装的坑
有几个要注意的地方。第一,
上图是网上找的,10.0的安装界面和它是一样的。不要选择VS这一项,不然会报错,有关vs需要的东西等下手动添加。NVIDA、Driver、Other这三项,不需要勾选(不过有些博主建议勾选Driver)。因为我们电脑原本就安装有NVIDA cuda,下面是我的电脑原本的cuda版本,可以看到是10.2的。在这个情况下安装10.2以下的版本都可以,因为cuda是向下兼容的,两个cuda并不会冲突。当然,你的电脑原本的cuda版本都不到10.0,那肯定不能安装10.0上的版本啦。
还有一个要注意的地方就是,以下是安装过程中弹出的安装文件临时存放位置,可以直接选择默认路径,默认路径一般在c盘。因为当你安装完退出cuda的时候,这些文件会自动删除。
真正到了安装这一步
在这里可以选择安装路径,不建议放在c盘。建议在别的盘新建一个文件夹,统一存放。别的步骤就没什么好纠结的了。
接下来解决VS的问题。
在安装CUDA的时候,将“D:\Download\test”路径下的CUDAVisualStudioIntegration文件夹拷到其他位置保存,这里记作“dir\CUDAVisualStudioIntegration”,dir为你拷贝文件所在路径。该文件夹所含文件如下图示:
注意,CUDAVisualStudioIntegration文件夹,在c盘可以直接搜索。随后等待CUDA安装完成后点击确认。请记得一定要拷贝完这个文件夹,再点击安装完成。
之后,请运行VS,编译CUDA Samples工程(“C:\ProgramData\NVIDIA Corporation\CUDA Samples”)(这个工程也是可以直接搜索),并找到VS报错路径,比如我的是“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 8.0.props”,并将“dir\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions”中的所有文件拷贝到“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations”文件夹中。这些路径并不是完全相同,看你的VS安装在哪个盘。
重启VS,即可解决问题。
我们看到第二步图中,cudnn版本很多,在cudnn的官网选择你要的那个下载。下载需要注册并且填一个问卷,随便填就行。下载好之后解压。解压好之后是这样滴。
将每个文件夹下对应的文件复制到CUDA对应文件夹下。
步骤到这里,我们需要在系统的环境变量中添加路径。
双击path,新建,然后把下面这些文件的路径全部加入path里
哈哈我把全部网上提到的路径全放进去了,并且全部要置顶。置顶就是上移到前面。
直接在anaconda官网下载,我下载的版本是anaconda3-4.3,下图是网上找的。第一个选项建议不要选,我们手动添加就行了。
装完之后有一堆这种东西。
1.检查Anaconda是否成功安装:conda --version
2.检测目前安装了哪些环境:conda info --envs
注意,我这里有tensorflow-gpu是因为我已经安装好了,正常按步骤到这一步是没有这个的。星号在哪里就证明现在使用的是什么环境。
3.安装python。
对于GPU版本:输入,conda create --name tensorflow-gpu python=3.6,python版本也是按照第二步的官网建议选择的,搜索了全网发现3.6最稳定。
4.激活环境,输入activate tensorflow-gpu
5.检查tensorflow-gpu环境是否成功添加。出现以下的情况才正确。
6.安装tensorflow-gpu
输入pip tensorflow-gpu==1.14,当然你需要什么版本就下载什么版本,比如需要2.0,就改成2.0。不过我们要仔细看第二步,官网搭配的环境版本,严格按照上面来。
如果出错,卸载重装,卸载语句:pip uninstall tensorflow-gpu
7.检查tensorflow是否成功安装
按照下图顺序,首先activate tensorflow-gpu,然后进入python,最后import tensorflow as tf,如果你像下图一样没有报错,就是成功了!
但是,如果你出现出现FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’._np_quint8 = np.dtype([(“quint8”, np.uint8, 1)])的错误,像下图。
说明numpy版本需要降低,进入python,查询numpy版本
import numpy as np -> print(np.version)
卸载语句:pip uninstall numpy 重装语句:pip install numpy==版本号
卸载再重装,多试几个版本的numpy,一般来说1.13,1.14,1.15,1.16,1.17这几个总有一个合适。如果换版本还是不行,还是继续报同样的错误。则需要进入pycharm,dtype.py,修改对应出错行的代码。把np.dtype([(“quint8”, np.uint8, 1)])修改为np.dtype([(“quint8”, np.uint8, (1,))])就能解决。参考文章numpy版本问题的解决
file->setting->program interpreter
如果你在刚刚安装好pycharm的时候新建项目,可以直接添加tensorflow-gpu,具体安装教程可以在b站找。不过要注意tensorflow-gpu里python安装包的位置。
配置好之后,输入
就会出现错误,点击错误,出现如下代码,
直接修改就OK了。
1.所有安装包最好留个备份,因为你不知道自己到底装几次才成功…
2.所有安装路径都可以存放在非c盘
3.anaconda navigator 如果打不开,闪退。解决方法:anaconda prompt 用管理员身份运行,再不行的话,在prompt里更新navigator。
4.spyder如果在navigator打不开,可以在anaconda输入spyder命令打开,环境记得换成tensorflow-gpu。就可以在里面import tensorflow啦。
5.import 之后要拿代码跑一下。
10.28更新
在amd运行tensorflow没问题,但是在pycharm运行的时候有错误提示:
ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’ 错误
这个时候要看一下anaconda navigator 这个界面
会发现numpy的版本有很多个,记得升级一下到1.16这个版本,然后在pycharm里面重新导入环境,再重启。就能解决了。