机器学习备注:Windows + Anaconda3 + pytorch

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
h
ttps://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/
posted @ 2018-09-22 18:47  SpaceVision  阅读(62)  评论(0编辑  收藏  举报