这篇文章将为大家详细讲解有关如何在WIn10+Anaconda环境中安装PyTorch,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站建设、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的温泉网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!1. 为 PyTorch 创建虚拟环境
关于 Anaconda 的安装步骤这里就忽略不讲了,Win10 下安装 Anaconda 非常简单。
安装 Anaconda 完毕后,我们在安装 PyTorch 之前最好先创建一个 pytorch 的虚拟环境。之所以创建虚拟环境是因为 Python 为不同的项目需求创建不同的虚拟环境非常常见。在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库,管理起来相当麻烦。所以通过创建虚拟环境,相当于为不同的项目创建一块独立的空间,在这个空间里,你安装任何库和框架都是独立的,不会影响到外部环境。
总之就是想象成为 PyTorch 单独创建一个空间,这个空间与其它空间互不影响。我之前安装了 TensorFlow 了,也是创建了一个虚拟环境,且 Python 版本是 3.5 的。所以,这里当然也要创建虚拟环境了。
创建 PyTorch 虚拟环境步骤:
1.打开 Anaconda 自带的 Anaconda Prompt:
2.打开 Anaconda Prompt 之后,在命令行输入:
conda create --name pytorch python=3.6
注意,这里的 pytorch 是虚拟环境的名称,可随意取。
3.然后继续下列命令,进入 pytorch 虚拟环境:
activate pytorch
好了,pytorch 的虚拟环境创建好了。接下来就是安装 PyTorch 了。
其实,安装 PyTorch 还是非常简单的。接下来记录一些坑。
2. PyTorch 官网安装
PyTorch 的官网提供了简单的安装方法,只需简单的命令即可。
首先,打开 PyTorch 官网安装页面(需自备梯子):https://pytorch.org/get-started/locally/
可以看到页面里的这张图,非常简单。我们的环境是:Windows、Conda、Python 3.6、None CUDA,对应的命令是:
conda install pytorch-cpu torchvision-cpu -c pytorch
复制这条命令在 Anaconda Prompt 里输入,则 PyTorch “顺利”安装完成。
但是问题来了,在 Jupyter 里 import torch
没有问题,可 import torchvision
确报错了:
ImportError: DLL load failed: 找不到指定的模块。
可能是 pillow
模块有问题。尝试卸载 pillow
模块,但是会同时卸载 PyTorch,故为一坑。
3. pip 安装
上一种方法舍弃,这里尝试使用 pip 安装。
同样在 Anaconda Prompt 里输入以下命令:
# Python 3.6 pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.0-cp36-cp36m-win_amd64.whl pip3 install torchvision
安装顺利完成。
这时候在 Jupyter 里 import torch
没有问题,可 import torchvision
确仍然报错了:
ImportError: DLL load failed: 找不到指定的模块。
解决方案:
在 Anaconda Prompt 里输入以下命令:
conda uninstall pillow pip install pillow
使用 pip 重新安装 pillow
模块即可。
关于如何在WIn10+Anaconda环境中安装PyTorch就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。