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


Posted in Python onJanuary 30, 2019

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

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

1. 为 PyTorch 创建虚拟环境

关于 Anaconda 的安装步骤这里就忽略不讲了,Win10 下安装 Anaconda 非常简单。

安装 Anaconda 完毕后,我们在安装 PyTorch 之前最好先创建一个 pytorch 的虚拟环境。之所以创建虚拟环境是因为 Python 为不同的项目需求创建不同的虚拟环境非常常见。在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库,管理起来相当麻烦。所以通过创建虚拟环境,相当于为不同的项目创建一块独立的空间,在这个空间里,你安装任何库和框架都是独立的,不会影响到外部环境。

总之就是想象成为 PyTorch 单独创建一个空间,这个空间与其它空间互不影响。我之前安装了 TensorFlow 了,也是创建了一个虚拟环境,且 Python 版本是 3.5 的。所以,这里当然也要创建虚拟环境了。

创建 PyTorch 虚拟环境步骤:

1.打开 Anaconda 自带的 Anaconda Prompt:

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

2.打开 Anaconda Prompt 之后,在命令行输入:

conda create --name pytorch python=3.6

注意,这里的 pytorch 是虚拟环境的名称,可随意取。

3.然后继续下列命令,进入 pytorch 虚拟环境:

activate pytorch

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

好了,pytorch 的虚拟环境创建好了。接下来就是安装 PyTorch 了。

其实,安装 PyTorch 还是非常简单的。接下来记录一些坑。

2. PyTorch 官网安装

PyTorch 的官网提供了简单的安装方法,只需简单的命令即可。

首先,打开 PyTorch 官网安装页面(需自备梯子):https://pytorch.org/get-started/locally/

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

可以看到页面里的这张图,非常简单。我们的环境是: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实现Floyd算法
Jan 03 Python
Python+Django搭建自己的blog网站
Mar 13 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
详解Django CAS 解决方案
Oct 30 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
Python PyPDF2模块安装使用解析
Jan 19 Python
Python多个装饰器的调用顺序实例解析
May 22 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
python的setattr函数实例用法
Dec 16 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 Python
对dataframe数据之间求补集的实例详解
Jan 30 #Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 #Python
Pandas统计重复的列里面的值方法
Jan 30 #Python
自学python的建议和周期预算
Jan 30 #Python
python DataFrame 取差集实例
Jan 30 #Python
对python dataframe逻辑取值的方法详解
Jan 30 #Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 #Python
You might like
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Python中使用item()方法遍历字典的例子
2014/08/26 Python
在Python中使用成员运算符的示例
2015/05/13 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python操作redis方法总结
2018/06/06 Python
Django 路由控制的实现代码
2018/11/08 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Django web框架使用url path name详解
2019/04/29 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
python内打印变量之%和f的实例
2020/02/19 Python
Django在Model保存前记录日志实例
2020/05/14 Python
报关简历自我评价怎么写
2013/09/19 职场文书
同学会主持词
2014/03/18 职场文书
2014年团队工作总结
2014/11/24 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
一个都不能少观后感
2015/06/04 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers