机器学习备注:Windows + Anaconda3 + pytorch
Anaconda的安装先说一下,windows的运行机抽和linux完全不一样,由于无法使用sudo等命令,权限检查显得十分怪异。所以安装时最好不要安装在C盘,我一般都安装在D盘(如 D:/anaconda3)。如果你一定要装在C盘,那么个别软件包有的时候conda执行起命令来可能会非常缓慢,甚至无缘无故中断(源码没去研究过,所以也不明所以,原因只能连懵带猜,也有可能是因为一些你懂的原因,谁知..
Anaconda的安装
先说一下,windows的运行机抽和linux完全不一样,由于无法使用sudo等命令,权限检查显得十分怪异。所以安装时最好不要安装在C盘,我一般都安装在D盘(如 D:/anaconda3)。如果你一定要装在C盘,那么个别软件包有的时候conda执行起命令来可能会非常缓慢,甚至无缘无故中断(源码没去研究过,所以也不明所以,原因只能连懵带猜,也有可能是因为一些你懂的原因,谁知道呢,有时早上安装比晚上快很多)
下载网点在这里,选择适合自己的版本就好,不要下错了,里面有linux, windows, macOS等多种版本,
https://www.anaconda.com/distribution/
https://repo.anaconda.com/archive/Anaconda3-2018.12-Windows-x86_64.exe
https://repo.anaconda.com/archive/Anaconda3-2018.12-Windows-x86.exe
保持更新的版本
安装完后最好运行一次update命令,以保持所有更新一致性(参考:https://github.com/conda/conda/issues/1414)。
conda update anaconda # run this code
#-------------------------below code are for reference-------------------------
#conda update conda
#conda update --all
也可[参考],
创建工作环境
建议你弄个安装使用环境,如果你想把当前工作环境当成默认环境的话,当然你直接在conda的base环境下也行,我一般都会建立一个工作环境,如下,
conda create -n pytorch python=3.6
activate pytorch
安装conda包
一般情况下,下载和配置的速度都是不错的,anaconda做得很好。但如果你碰到比较卡顿的情况,那就试一下tuna镜像吧,地址在这里,里面列举了各种配置,包括诸多的三方源(这些不是必须的,本人也没有使用过,所以列在后面去了),
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
镜像配置命令如下,
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
如果你对配置感兴趣,还可以检查一下win10里的C:/Users/Administrator/.condarc文件。
安装时会问你要不要安装vscode,不要犹豫,装上就是了,很有用。
安装完了用命令升一下级(貌似不升也没啥事)
conda update -n base -c defaults conda
本地安装conda包
anaconda有时也会抽风,明明很容易下载下来的包,半天了就是装不上去,这时候你就手动到镜像或官网上去把这些包下载下来,然后手动一个个安装吧,
(1) pip 安装本地包
pip install ~/Dowloads/opencv_contrib_python-4.0.0.21-cp37-cp37m-win_amd64.whl
说明:先把包下载下来,然后cd切换到包所在的文件夹,然后输入pip install <package-namge>.whl,
这里有个小窍门:只输入package前面一部分,然后按Tab键,剩余的名字就会自动给补全!接下来按回车,文件即可自动安装!
例如我的opencv就是这样安装的,该包的下载地址是: opencv-contrib download:
>>> (torch) D:\>pip install opencv_contrib_python-4.0.0.21-cp37-cp37m-win_amd64.whl Processing d:\opencv_contrib_python-4.0.0.21-cp37-cp37m-win_amd64.whl
Requirement already satisfied: numpy>=1.14.5 in d:\anaconda3\envs\torch\lib\site-packages (from opencv-contrib-python==4.0.0.21) (1.15.4)
Installing collected packages: opencv-contrib-python
Successfully installed opencv-contrib-python-4.0.0.21
(2) conda 安装本地包
conda install --use-local d:/downloads/pytorch-1.0.1-py3.7_cuda100_cudnn7_1.tar.bz2
手动安装 的话,我建议使用pip,conda本地安装是不会添加依赖的(参考:https://github.com/conda/conda/issues/1884)。
更多的本地安装方法,请参考后面专门说明。
几个Pytorch相关的链接
在安装pytorch之前,如果你有cuda,最好在安装pytorch之前先安装cuda,配置了tuna镜像之后,安装过程如下,
命令:conda install cudnn
conda install cudnn
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.5.12
latest version: 4.6.2
Please update conda by running
$ conda update -n base -c defaults conda
## Package Plan ##
environment location: d:\Anaconda3\envs\torch
added / updated specs:
- cudnn
The following packages will be downloaded:
package | build
---------------------------|-----------------
cudnn-7.3.1 | cuda10.0_0 199.1 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cudatoolkit-10.0.130 | 0 371.0 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
------------------------------------------------------------
Total: 570.1 MB
The following NEW packages will be INSTALLED:
cudatoolkit: 10.0.130-0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cudnn: 7.3.1-cuda10.0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
硬件相关的配置好就可以装pytorch了。
微软发布的AI 工具,可配合visual studio使用,
https://docs.microsoft.com/en-us/visualstudio/ai/installation?view=vs-2017
Anaconda支持的各个版本
https://anaconda.org/pytorch/
https://anaconda.org/pytorch/pytorch-cpu
https://anaconda.org/pytorch/pytorch
https://anaconda.org/pytorch/torchvision-cpu
https://anaconda.org/pytorch/torchvision
这里给出了一系列的安装命令,几个常用的摘录如下
conda install -c pytorch pytorch
conda install -c pytorch pytorch-cpu
conda install -c pytorch torchvision
conda install -c pytorch torchvision-cpu
conda install -c pytorch cuda100
conda install -c pytorch magma-cuda100 (LAPACK + GPU = MAGMA)
这里-c表示该文件包只在特定的channel中(此处这个channel是pytorch)才有。
Anaconda上的下载文件
https://anaconda.org/pytorch/pytorch-cpu/files
其他依赖安装包
opencv (https://pypi.org/project/opencv-python/)
- run
pip install opencv-python
if you need only main modules - run
pip install opencv-contrib-python
if you need both main and contrib modules (check extra modules listing from OpenCV documentation)
手动安装pytorch依赖包(只需要这3个,numpy会安装其相应的依赖包):
conda install numpy
conda install scikit-image
conda install pandas
conda install opencv (有时貌似有困难,此时建议采用pip install opencv-python
)
conda install cython
conda install ninja
conda install cffi
pip install pytorch (或者:conda install G:\downloaded\pytorch-1.0.0-py3.7_cuda100_cudnn7_1.tar.bz2)
手动安装torchvision依赖包
conda install freetype
conda install jpeg
conda install libtiff
conda install olefile
conda install pillow
pip install torchvision
在线安装(推荐)
在已经安装好Anaconda的基础上,通过下面4步,就可以很轻松实现一个pytorch的开发环境
CPU-模式:
conda install -c pytorch pytorch-cpu
pip install torchvision
GPU-模式:
conda install -c pytorch pytorch
pip install torchvision
离线安装
(1)普通离线安装
这种方法我不推荐,原因是anaconda可能不会对此解析相关依赖,而只是按指令强行安装。
有时在线安装太慢或下载出现故障,可以下载需要的包离线安装。地址
https://anaconda.org/pytorch/pytorch/files
https://anaconda.org/pytorch/torchvision/files
命令如下,
conda install /path/** tar.bz2即可
注意最好将下载的文件放在anaconda安装目录之外,anaconda安装时同样需要解压并安装。
(2)离线安装(推荐)
这种方法重点推荐。
因为大家都懂的原因,外网极为不稳定,所以如果完全依赖conda下载安装的话,那基本就不用干活了。所以,很多包可以先从网络上下载下来,然后再放到pkgs中快速实现安装。注意,下面的步骤都很简单,但每一步都不可少,我以安装 pytorch包(这个包有470M)为例说明,事先记得用命令配置一下显示文件来源,不然是看不到文件名称的,
conda config --set show_channel_urls yes
第一步:conda install -c pytorch pytorch
正常情况下,conda会显示出一个要下载的文件例表,并显示出从哪里下载,比如我的pytorch下载源显示 的是
https://conda.anaconda.org/pytorch/win-64/pytorch-1.0.1-py3.7_cuda100_cudnn7_1.tar.bz2
那么这个时候问题你要不要继续,果断选择n (No), 不要选y.
第二步:根据上面的网址把包下载下来,放入D:\Anaconda3\pkgs文件夹中
第三步:解压 D:\Anaconda3\pkgs\pytorch-1.0.1-py3.7_cuda100_cudnn7_1.tar.bz2 文件到
D:\Anaconda3\pkgs\pytorch-1.0.1-py3.7_cuda100_cudnn7_1
注意解压后的文件结构一般是这样的(anaconda标准的文件结构):
D:\Anaconda3\pkgs\pytorch-1.0.1-py3.7_cuda100_cudnn7_1
|————info
|————lib
|————scripts
这一步不可以省,否则anaconda会把下载下来的包删除并重新开始下载,解压后anaconda才会真正认为下载已经完成,切记切记!!!
第四步:第地址写入
D:\Anaconda3\pkgs\urls.txt
并保存
例如我拉urls.tx的部分内容大致如下,
此处省略大部分。。。
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/mkl_random-1.0.2-py37h343c172_0.tar.bz2
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/numpy-base-1.15.4-py37hc3f5095_0.tar.bz2
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/icc_rt-2019.0.0-h0cc432a_1.tar.bz2
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/intel-openmp-2019.1-144.tar.bz2
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/mkl-2019.1-144.tar.bz2
https://conda.anaconda.org/pytorch/noarch/torchvision-0.2.1-py_2.tar.bz2
https://conda.anaconda.org/pytorch/win-64/pytorch-1.0.1-py3.7_cuda100_cudnn7_1.tar.bz2
第五步:重新输入命令:conda install -c pytorch pytorch
此时你会看到,下载列表消失了,anaconda已经找到了完成的下载包;然后下面有一个安装列表,告诉你哪些(已经下载下来的包)将要安装 。此时输入y回车继续安装即可!
结束!
使用anaconda
用过anaconda的朋友可能会问,这个还用得着说吗?
嗯,不知大家有没有碰到过这种情况:在anaconda-navigator中启动某个环境之后,不论你运行什么代码,那些明明在本环境下已经安装好了的包就是报错:不存在。。。
典型的情况是vscode,会能一些已经安装包说:找不到。
产生这种问题的根本原因,往往是因为配置出了问题,或者,你的文件含有以前的配置,当配置发生冲突时,anaconda会错误地优选本地文件的配置。比如vscode,这个时候检测一下本地的".vscode",最好的办法是把这些配置删除掉,重新启动anaconda生成新的配置即可。
常用命令
查看version 输入conda -V
- conda list 查看安装了哪些包。
- conda env list 或 conda info -e 查看当前存在哪些虚拟环境
- conda update conda 检查更新当前conda
- deactivate "env_name" 也可以使用 activate root切回root环境(Linux下使用 source deactivate),不过,随着版本的更新,貌似现在前面都要加上conda才行,比如只能用命令:conda activate env_name 或者 conda deactivate env_name(conda不能省略)
- 移除环境使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除
- 删除环境中的某个包使用命令conda remove --name $your_env_name $package_name 即可
参考资料
Anaconda cheet sheet 下载地址
https://conda.io/docs/_downloads/conda-cheatsheet.pdf
Anacoda教学地址
https://conda.io/docs/user-guide/getting-started.html
https://research.computing.yale.edu/sites/default/files/files/anaconda.pdf
教学地址JupyterNotebook
https://media.readthedocs.org/pdf/jupyter-notebook-beginner-guide/latest/jupyter-notebook-beginner-guide.pdf
Pytorch教学地址
https://pytorch.org/tutorials/
PIP 还是conda
pip install 和conda install的具体区别我也不太明白,安装完后只要依赖正常(各自寻找依赖的方式应该是会有些差别的,从安装时的包列表可以看出来一些差别),使用起来大多感觉没什么区别。我一般是这样的:
如果需要anaconda安装包及相关依赖, 就用conda,此时版本都是anaconda默认的;
如果只想安装某个包,而不希望安装默认的anaconda依赖,就用pip;在版本自定义的时候,我往往选这个。
安装地址conda往往在pkgs下面,pip则在相应python包的site_packages里面如下,
conda一般会把包下载到:~/anaconda3/pkgs/
pip则一般会把包下载到:~/anaconda3/lib/pythonx.x/site-packages/
其他安装包
这个就取决于个人了,这里记下来的都是我自己用到的,
===>>> conda install scikit-image
The following NEW packages will be INSTALLED:
cloudpickle: 0.6.1-py37_0
cytoolz: 0.9.0.1-py37hfa6e2cd_1
dask-core: 1.0.0-py37_0
imageio: 2.4.1-py37_0
networkx: 2.2-py37_1
pywavelets: 1.0.1-py37h8c2d366_0
scikit-image: 0.14.1-py37ha925a31_0
scipy: 1.1.0-py37h29ff71c_2
toolz: 0.9.0-py37_0
===>>>conda install pandas
Solving environment: done
The following NEW packages will be INSTALLED:
pandas: 0.23.4-py37h830ac7b_0
tuna镜像的Conda 三方源
当前tuna还维护了一些anaconda三方源。
Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
更多推荐
所有评论(0)