WIn10+Anaconda环境下安装PyTorch(避坑指南)

yipeiwu_com6年前Python基础

这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。

首先,安装环境是:操作系统 Win10,已经预先暗转了 Anaconda。

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 模块即可。

至此,填坑。PyTorch 成功安装。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

从零学python系列之从文件读取和保存数据

在HeadFirstPython网站中下载所有文件,解压后以chapter 3中的“sketch.txt”为例:   新建IDLE会话,首先导入os模块,并将工作目录却换到包含...

python字典嵌套字典的情况下找到某个key的value详解

最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(...

Python中输入和输出(打印)数据实例方法

Python中输入和输出(打印)数据实例方法

一个程序要进行交互,就需要进行输入,进行输入→处理→输出的过程。所以就需要用到输入和输出功能。同样的,在Python中,怎么实现输入和输出? Python3中的输入方式: Python...

部署Python的框架下的web app的详细教程

部署Python的框架下的web app的详细教程

作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。 很多做开发的同学把部署这件事情看成是运维同学的工作,这种...

用python拟合等角螺线的实现示例

用python拟合等角螺线的实现示例

人类很早就注意到飞蛾扑火这一奇怪的现象,并且自作主张地赋予了飞蛾扑火很多含义,引申出为了理想和追求义无反顾、不畏牺牲的精神。但是,这种引申和比喻,征求过飞蛾的意见吗? 后来,生物学家又提...