1 安装环境
OS | Windows |
Package Manager | conda |
Python | 3.6 |
CUDA | 9.0 |
2 安装部署
参考Pytorch官网以及GitHub仓库的安装说明,对于一般向的开发者来说,选用从Binaries的方式是一个不错的选择。确定好安装方式之后,需要决定PyTorch包的管理工具,一开始我选择了“原生”pip作为软件包管理工具,在安装完之后,运行GitHub示例,会出现PyTorch包导入失败的错误。
** from torch._C import ***
ImportError: DLL load failed: 找不到指定的模块
经网上搜索后发现提供的方法不能够很好地解决这个问题,重新仔细阅读官方的安装指南
官方推荐把Anaconda作为PyTorch的包管理工具,同时兼顾网上的解决方法也是将Anaconda的intel-openmp库移植到Python的相关依赖文件夹下,以此实现兼容。综合以上的思考,最终决定采用Anaconda作为Python的使用版本。这里记录一下conda的常用命令,详细的命令行参考参见Conda官方文档:
检查conda是否成功安装并在系统中正常使用:
conda --version
更新conda:
conda update conda
创建一个新的环境(同时指定Python版本):
conda create --name pytorch python=3.6
激活新创建的环境:
activate pytorch
检查新创建的环境是否已添加到conda的环境列表,是否处于激活状态:
conda info --envs
这里额外记录一下,由于在安装Anaconda之前,我安装过Python3,在安装Anaconda之后,又将Python3卸载,导致使用PowerShell运行命令时出错,当然最主要的问题还是PowerShell和Anaconda的虚拟环境不配合,无法激活相应的环境,行的通的解决,参考CSDN中的这篇博客,在GitHub上找到了PSCondaEnvs开源解决方法,首先安装conda依赖:
conda install -n root -c pscondaenvs pscondaenvs
因为Power Shell默认不允许执行*.ps1
脚本文件,所以还需要以管理员身份启动PowerShell,并执行命令
Set-ExecutionPolicy RemoteSigned
更改PowerShell配置后,就可以正常使用active来激活虚拟环境了。
值得提及的一点我仍然手动将Anaconda的相关文件夹添加到环境变量中。
这里记录一下切换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
即可添加 Anaconda Python 免费仓库。
最后在pytorch虚拟环境下运行官网提供的命令:
conda install pytorch cuda90 -c pytorch
pip3 install torchvision
即可顺利部署完PyTorch环境,并正常运行Demo。