主要的安装流程参考:win10下Anaconda+VS2017+cuda9.0+cudnn+Pycharm安装配置tensorflow(GPU版)、win10在Anaconda上安装Pytorch
安装好Anaconda和VS2017后,报错信息如上。所有组件全部未安装。有个回答是这样的:https://blog.csdn.net/hsqaihkl/article/details/80674912。但是对我不管用。“通过自定义的方式取消Visual Sdutio Intergration进行安装”这里,我无法点击回到【选项】栏进行自定义设置,只有一个关闭按钮可用。
我也不知道为什么会有这么奇葩的现象。那就慢慢找吧……
(1)可能Anaconda安装的不对,首先版本要对应。打开cmd命令行,输入conda --version,应该会提示“'conda' 不是内部或外部命令,也不是可运行的程序 或批处理文件”,按照https://blog.csdn.net/mars_xiaolei/article/details/82798640添加环境变量。即找到Anaconda安装路径和Scripts路径,两个都添加进path中,此时测试conda --verison应该没问题了。
(2)也可能VS安装的不对,首先版本要对应。VS干净卸载https://docs.microsoft.com/zh-cn/visualstudio/install/uninstall-visual-studio?view=vs-2019,以及安装时需要勾选上通用windows平台开发和C++通用开发这两个。
虽然我觉得我Anaconda和VS都安装没问题,因为我是完全根据我之前给电脑配置的版本来的。但是现在安装CUDA仍然报上述错误。
(3)几天后……我突然想到更新一下电脑驱动试试。我下的是鲁大师(使用驱动精灵时有一个更新总是出错),完美安装更新了驱动程序。
然后,神奇的事情就来了。再次安装cuda,没有显示“NVIDIA安装程序失败”的错误了。
你以为这就结束了吗?不,还有错误!!!
不好意思,报错的完整信息没有保留好。这个报错信息是说找不到cuda系的dll文件的模块,而且后面有提示说要我下载安装cuda10.0,但是接着给的网址打开却是9.0的。
参考https://blog.csdn.net/qq_29027865/article/details/93236034,先去C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
路径访问cuda,在其bin目录下查找是否有cudart64_100.dll
模块。如果有,则查看环境变量是否添加;如果没有,可能就是cuda版本和tensorflow版本的匹配问题。
通过Tesnsorflow官网查找对应版本信息可知,当Tensorflow的版本>=1.13时,CUDA的版本需要是10.0,同时cudnn版本号需要大于7.4.1。我查了我的TensorFlow是1.14,所以啥也别说了,卸载cuda9.0并下载cuda10.0吧。
Cuda9.0卸载参考:https://www.cnblogs.com/yxh-amysear/p/9545183.html。进入控制面板卸载程序,①软件名含cuda的,9.0的,sdk,NVIDIA Nsight HUD、NVIDIA GeForce Experience等,这些都可以卸载掉。②留下:NVIDIA的图形驱动程序、NVIDIA Physx系统软件,如果你有这2个软件,就别卸载。③卸载完后,你会发现电脑—开始—所有程序,里面那个关于NVIDIA的程序文件不见了。存在的话,也可以看看里面还剩下什么,可以搜索看看并继续卸载它们。当然,C盘里面C:\Program Files\NVIDIA GPU Computing Toolkit文件也可以删除了。④用杀毒软件垃圾扫描下,清理下电脑,主要是清理注册表。
我卸载后还剩下:
并且删除了C:\Program Files:\NVIDIA GPU Computing Toolkit文件夹,以及删除了刚才配置的环境变量:
然后重启一下电脑。
cuda10.0在这里找:https://developer.nvidia.com/cuda-toolkit-archive。
对应的cunn在这里找:https://developer.nvidia.com/rdp/cudnn-download。(需要注册)
选择自定义安装,不勾选CUDA里的Visual Studio Integration。(记得安装cuda之前,确定自己的VS已经安装哟)
其他均默认设置:
验证安装:
然后就是配置环境变量:
配置cudnn(我下载的是Cudnn-10.0-windows10-x64-v7.6.1.34)
解压cudnn,将cudnn中的bin、include、lib中的文件分别复制到CUDA的安装路径:.\NVIDIA GPU Computing Toolkit\CUDA\v9.0\下的bin,include,lib中。
创建cuda环境:
conda create -n tensorflow_gpu pip python=3.6
激活cuda环境:
activate tensorflow_gpu
安装GPU版本的tensorflow:
pip install --ignore-installed --upgrade tensorflow-gpu
如果这时候报错read time out,是因为anaconda默认下载源下载速度极慢,可能你这时候网速也不行,所以加一句--default-timeout=100,修改默认等待时间。让它慢慢来,总会大功告成的。https://www.cnblogs.com/tan-wm/p/9566564.html
截图忘记保存了o(╥﹏╥)o
测试:只要import没错应该就OK了。
根据官网选择自己的配置信息:https://pytorch.org/get-started/locally/
太方便了,自动帮你生成你安装pytorch的命令啊。
参考https://blog.csdn.net/wumenglu1018/article/details/88362927,创建pytorch虚拟环境并激活,然后输入安装命令后报错:
被清华源给坑了……之前将conda的下载源换成了清华镜像,但是由于清华大学停止了Anaconda镜像服务,所以镜像失效了,需要更换下载源。
所以恢复默认下载源吧:
conda config --remove-key channels
重新输入完整的安装命令:conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
终于没有错误了,安装完成后,进入python环境导入torch和torchvision也都OK。
大功告成!!!
最后提一下我的所有环境(实验室配置的显卡很尴尬啊):
后记:NVIDIA所有组件未安装,让我郁闷了将近一周。然后从尝试更新下载驱动,到pytorch安装成功,我从下午2:30折腾到了晚上22:30(去掉吃饭打瞌睡接水上卫生间)……
不说了,说多了都是泪啊