之前安装各种软件查各种网站弄得特别麻烦,所以写下一篇完整的文章来记录整个操作流程。在anaconda下,搭建的环境是python3.6+cuda9.0+opencv3.3+tensorflow_gpu1.11+pytorch。安装过程中不必完全跟着最新的版本,很有可能某些软件不支持期依赖库的调用,导致不能正常使用,报各种错误。
在 windows下,不建议使用官方python,而是用Anaconda。Anaconda 是推荐的 python开发包集合,在官网下载最新的版本。Anaconda下载地址:https://www.anaconda.com/download/ 建议安装路径不要有中文,目录不要放得太深,安装时注意 勾选自动添加环境变量。 最好更改pip源和conda源为国内服务器用以加速后期库的下载,更改操作见后文。
更改 pip 源,可以让 pip 加速。在 user 目录中创建一个 pip 目录,如: C:\Users\xx\pip,xx是用户名,新建文件pip.ini(建议先新建成 .txt 文件,之后将后缀名改回),内容如下:
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = https://pypi.tuna.tsinghua.edu.cn
如果 conda 命令执行很慢,可以更改 conda 源,让conda 加速。在cmd终端输入下列命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
运行以上两句,在c:\users\xx 目录下生成.condarc,xx表示用户名。.condarc 内容如下,表示成功:
channels:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
defaults
show_channel_urls: true
安装好 anaconda 后,建议立即建一个虚拟环境, 因为会碰到不同的代码需要在不同的 python 版本下运行。 今后都在虚拟环境下进行深度学习编程。
例如,进入 anaconda 安装目录的 scripts 目录,执行下面命令:
conda create -n py36 python=3.6
创建一个python 3.6 的环境,命名为 py36。创建上述虚拟环境后,会发现anaconda安装目录的envs子目录下多了一个 py36的目录,它就是另一个全新的 python,它下面包含了anacoda 的几乎全部东西。
如何进入虚拟环境?
windows下进入anaconda安装目录的scripts目录,在这个目录下执行activate环境名即可。例如activate py36,deactivate 退出虚拟环境。进入虚拟环境后,再退出Scripts目录, 进入到envs中的py36目录中 (或者只退出scripts目录即可),使用pip安装一些模块是安装在虚拟环境的py36中。
有两个推荐的 python 集成开发环境。Pycharm是好用的 python IDE,可与 anaconda 结合使用。官网下载安装,注意有两个版本,一个professional,一个是 community,前者是收费的,用后者即可。另一个是visual studio code,它是与anaconda合作的官方IDE。jupyter notebook 也是非常流行的开发环境。
如果没有显卡的话,请忽略此章,用gpu训练模型会比cpu快很多。
需要选择对应自己NVIDIA驱动版本的cuda,查看自己驱动版本的方式如下:
然后打开cmd,使用cd命令进入:C:\Program Files\NVIDIA Corporation\NVSMI
使用“nvidia-smi”这个命令即可查看,如下我的版本为391.24
在根据表格找到可以使用的cuda,在这里我使用最高的cuda版本号可以为9.0
进入cuda下载网站(历史版本),这里给出网址 https://developer.nvidia.com/cuda-toolkit-archive 找到对应比的版本号进行下载,下载类型选择local。
下载完成之后,直接点击安装,在后面的安装选项选择自定义,然后只勾选CUDA即可。
安装结束,在cmd中输入nvcc -V即可查看是否安装成功,此时应该会跳出安装的cuda的版本号。
安装完成之后,还需要下载cuDNN,这里给出网址 https://developer.nvidia.com/rdp/cudnn-archive 在网站登陆之后(未注册还需要注册再登陆),选择对应相同cuda版本的cuDNN,我选择的是图中7.5版本的。下载完成后,将压缩包解压后,把里面的三个文件夹里面的文件放到CUDA9安装目录相应文件夹下即可(一般安装的目录是C:\Program Files\NVIDIA GPU Computing Toolkit)。
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
选择需要的版本下载,我选了opencv_python 3.3.0 cp36 cp36m win_amd64.whl
进入cmd,首先进入anaconda3目录的scripts下,使用activate py36进入虚拟环境,然后退出scripts目录(目的是下载到虚拟环境中,更保险的做法是再进入到envs的py36目录中),然后输入
pip install XX\opencv_python 3.3.0 cp36 cp36m win_amd64.whl
pip install numpy
XX为下载的opencv的文件位置,等待安装结束即可:
接着再进入scripts中,键入python,输入import cv2,如果没有报错即为opencv导入成功:
Tensorflow是全世界使用人数最多、社区最为庞大的一个框架,因为Google公司出品,所以维护与更新比较频繁,并且有着Python和C++的接口,教程也非常完善,同时很多论文复现的第一个版本都是基于Tensorflow写的,所以是深度学习界框架默认的老大。
其中tensroflow也有很多版本,如果是gpu版本的,需要找到对应的tensorflo_gpu版本,如下我安装的cuda为9.0,所以安装1.11的版本:
进入cmd,首先进入anaconda3目录的scripts下,使用activate py36进入虚拟环境,然后退出scripts目录(目的是下载到虚拟环境中,更保险的做法是再进入到envs的py36目录中),然后输入
pip install tensorflow_gpu==1.11
如果安装的是cpu版本,直接pip install tensorflow即可,若加版本号也同上后面加上。
接着测试是否安装成功,再进入scripts目录,进入python,导入tensorflow观察是否报错:import tensorflow 没有报错即为成功:
PyTorch的前身便是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。
首先进入pytorch官网,这里给出网址 https://pytorch.org/ 找到对应的版本,由于我使用的是python3.6,cuda9.0,就做出了我下载安装的选择:
比较倾向的选择是 stable,pip,python版本和cuda版本要根据你自己安装的版本来。如果有没有 cuda,则选择 none。
最后执行两条命令,windows下用pip即可。那个whl文件很大,建议用迅雷等软件下载到本地,把网址路径替换成本地路径来装。
进入cmd,首先进入anaconda3目录的scripts下,使用activate py36进入虚拟环境,然后退出scripts目录(目的是下载到虚拟环境中,更保险的做法是再进入到envs的py36目录中),然后输入
pip install XX\torch-1.0.1-cp36-cp36m-win_amd64.whl
pip install torchvision
其中XX为pytorch的本地路径。接着测试是否安装成功,再进入scripts目录,进入python,导入pytorch观察是否报错:import torch 没有报错即为成功,如下: