1. 安装anaconda :
> 下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
> 安装:一路next即可
2. 安装pycharm:
> 下载地址:https://www.jetbrains.com/pycharm/
> 安装:一路next即可
3. 安装GPU版本的torch或tensorflow的准备工作(CUDA和CUDNN,CPU版本跳过)
3.1 CUDA安装
(1)查看是否支持GPU :依次打开“控制面板-硬件和声音-NVIDIA控制面板”,然后点左下角的“系统信息”,查看GPU型号,如下图(英伟达显卡才行,AMD不支持深度学习):
(2)按照链接查看自己的GPU支持什么版本的CUDA。或者去官网查看(不一定全)。
(3)按照版本要求去官网下载对应版本的CUDA
(4)傻瓜式安装CUDA,系统会自动添加上环境变量,如下(没有的话手动加一下):
(5)查看是否安装成功,命令行输入nvcc -V:
上图即为成功了
3.2 CUDNN安装
(1)点击链接注册或登录账户
(2)点击链接下载CUDA对应的CUDNN
(3)将CUDNN的bin, include和lib分别覆盖到CUDA的安装路径下:
(4)然后在环境变量中添加:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include
(5) 查看显卡显存占用和利用率,则配置环境变量Path:C:\Program Files\NVIDIA Corporation\NVSMI\
即可使用nvidia-smi
查看
3.3 查看CUDA、CUDNN和Python版本
(1) CUDA: nvcc --version 或 nvcc -V 即可查看
(2) CUDNN:
(3) Python:命令行输入python即可看到python版本,如:
3.4 笔记本可能有独显和集显,可能需要设置
参考链接解决
4. 安装pytorch
4.1 CPU版本pytoch
> 指定版本pytorch:pip install http://download.pytorch.org/whl/cpu/torch-1.0.0-cp36-cp36m-win_amd64.whl
> 指定配套版本torchvision:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ torchvision==0.2.2
4.2 GPU版本pytorch
离线安装
(1) pytorch包比较大,建议去官网下载好后离线安装(注意选择和python版本以及CUDA版本对应的torch包)
(2)离线安装方法:cd
到包所在目录,然后pip install torch包名
(3)然后去链接查看对应的torchvision版本,并指定版本进行安装:pip install torchvision==0.5.0
(包比较小,在线安装就行了。如果网太差就去官网下载好后离线安装吧)
在线安装
方法一:官网安装教程,一般是最近几个版本。以前的版本去链接找安装方法。
方法二:pip install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp37-cp37m-win_amd64.whl
其中https://download.pytorch.org/whl/cu90/torch-1.1.0-cp37-cp37m-win_amd64.whl
为官网找找到的对应torch包的地址。torchvision方法相同,不重复了。
测试是否安装成功
import torch
torch.__version__
torch.cuda.is_available() #True表示正常
可能遇到的问题
(1)RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa
numpy版本不合适,更新numpy即可,pip install --upgrade numpy
,还不行就先pip uninstall numpy
在pip install --upgrade numpy
(2)超级天坑from torch._C import * ImportError: DLL load failed: 找不到指定的模块
本质是在D:\install\anaconda\Lib\site-packages\torch\__init__.py
文件中使用了from torch._C import *
来调用D:\install\anaconda\Lib\site-packages\torch\lib\_C.lib
文件,但路径找不到。
有说numpy版本不匹配的,感觉不像,反正当做一种思路试一下吧:
pip install --upgrade numpy
有说修改
__init__.py
文件的,参考:链接
我遇到的是python版本和torch不匹配,在cmd使用
conda install python
将python自动升级为和torch匹配的版本。注意不能在pycharm的tenminal中使用这个命令,否则可能导致D:\install\anaconda\Scripts\conda,exe
文件丢失,从而使用不了conda命令(安装anaconda时这个路径被自动添加到环境变量中了),那就需要重装anaconda和其他python包了。
5. 安装tensorflow
5.1 CPU版本tensoflow
pip install --upgrade --ignore-installed tensorflow # 在线安装
# 离线安装(网不好在线安装很容易失败,失败就重试或离线安装)
> 下载离线tf包地址:https://mirrors.tuna.tsinghua.edu.cn/tensorflow/windows/cpu/
> cmd进入到下载好的包的所在目录
> 安装:pip install 安装包的文件名
5.2 GPU版本tensorflow
(1)去官网查看CUDA+CUDNN版本对应的TF版本
(2) 安装:
pip install tensorflow-gpu # 直接安装最新版本,要看和CUDA、CUDNN是否对应
pip install tensorflow-gpu==1.14.0 # 安装指定版本,即(1)中查的结果
# 如果太慢导致失败,则可以使用下面的镜像地址安装:
pip install tensorflow-gpu==1.14.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 如果还是太慢导致失败,则在执行上面一行后会给出这个包的下载地址,直接自己手动下载,然后cd到文件所在目录,按下面的命令手动安装即可:
pip install tensorflow-1.15.0-cp35-cp35m-win_amd64.whl
# 直到最后出现Successfully installed XXXX,就算安装完毕了
# 测试是否成功
import tensorflow as tf
print(tf.test.is_gpu_available())
# 弹出是则安装成功,否则失败
(3) 失败的各方面原因:
如果出现
AttributeError: module 'tensorflow' has no attribute 'Session'
等类似错误,则说明tf包和调用的API分别是1.x和2.x,使用import tensorflow.compat.v1 as tf
代替import tensorflow as tf
即可.但如果是``AttributeError: module ‘tensorflow’ has no attribute 'contrib’则上面方法不行,需要pip install --upgrade tf_slim
,然后用import tf_slim as slim
代替slim = tf.contrib.slim
。
如果出现
ImportError: Something is wrong with the numpy installation. While importing we detected an older ...
,或ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
等,则可能是使用anaconda安装某个package时修改了numpy的版本,则使用pip install --upgrade numpy
或pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade numpy
更新numpy包即可。
如果CUDA、CUDNN和TF版本不对应,则在
import tensorflow as tf
会出现:Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found Could not load dynamic library 'cublas64_100.dll'; dlerror: cublas64_100.dll not found Could not load dynamic library 'cufft64_100.dll'; dlerror: cufft64_100.dll not found Could not load dynamic library 'curand64_100.dll'; dlerror: curand64_100.dll not found Could not load dynamic library 'cusolver64_100.dll'; dlerror: cusolver64_100.dll not found Could not load dynamic library 'cusparse64_100.dll'; dlerror: cusparse64_100.dll not found
等情况,是CUDA安装目录中缺失支持新版TF的dll文件,可以将文件改名,如
cusolver64_100.dll
改为cusolver64_102.dll
,或者去
https://download.csdn.net/download/weixin_43760844/16675972
以及链接:https://pan.baidu.com/s/1TugOWdGATrP4IG59-HKTFA 提取码:uey1
下载缺失的dll文件,然后放到CUDA安装目录的bin目录下;否则就去安装和CUDA、CUDNN配套的TF吧!
6. 卸载库
一般情况下pip uninstall 库名
即可,不过有的时候可能会出现ERROR: Cannot uninstall 'cloudpickle'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall
类似的情况,原因就是上面说的分布式安装,解决方法是直接进去annconda安装目录\Lib\site-packages
搜索cloudpickle
,然后将所有带cloudpickle
的全部删除即可,其他包同理(可能有时还需要模糊搜索)。
7. 其他常见包安装失败问题
7.1 ModuleNotFoundError: No module named ‘certifi’
直接pip insatll certifi
,可以去https://pypi.org/project/certifi/#files
下载whl
包,然后离线安装。
使用taz
形式安装,则参考:https://blog.51cto.com/suyanzhu/2313856