那些最全面的Windows10安装pytorch踩过的坑以及如何应用
那些最全面的Windows10安装pytorch踩过的坑以及如何应用
一、pytorch简介

2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。
深度学习的框架有很多,诸如选择哪个深度学习的框架,哪个框架好这类的问题很多,这里引用知乎的回答 PyTorch到底好用在哪里? PyTorch更有利于研究人员、爱好者、小规模项目等快速搞出原型。而TensorFlow更适合大规模部署,特别是需要跨平台和嵌入式部署时。

因此,笔者选择在Windows10操作系统下安装pytorch,但是确实遇到了很多坑,很多在Linux上只要几个命令行就解决的问题,把自己遇到的问题跟网友分享下。
二、踩过的坑及详细解决方法
本人是在Anaconda环境下安装pytorch的,因为Anaconda确实是很好的管理环境,无脑安装就可以了。强烈建议在Anaconda中构建虚拟环境后,安装你的pytorch版本,因为不同版本的pytorch或者不同项目需要不同的pytorch版本差别还是有的,这样便于进行版本的适配。介绍完安装的环境,下面就开始具体讲解安装过程中有哪些坑?
(一)安装显卡驱动
这里主要是访问英伟达官网,根据自己电脑显卡的版本,操作系统的版本,选择适配的显卡驱动的版本,下载安装:
(二)Anaconda配置虚拟环境
步骤一:创建conda环境 conda create -n pytorch python=3.6 出现condaHTTPERROR
解决方法:这是由于根据下载路径访问时,下载速度太慢,导致的错误。解决办法是修改下载路径,更改为清华镜像源的路径,方法有多种,一是直接修改 C:\Users\用户名.condarc文件 ,例如:
`channels:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ssl_verify: true`
而是使用命令行conda config --add 语句进行配置:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/步骤二:激活conda虚拟环境
conda activate pytorch步骤三:安装适配的pytorch版本
这里需要先找准你显卡版本-对应的cuda版本,用来选择正确的pytorch版本。

(三)pytorch下载安装
进入pytorch官网,根据你的操作系统,cuda版本等信息,选择安装的pytorch版本,

复制“run this command"里面的命令行,进行下载安装,很方便。
遇到问题:pytorch下载慢的问题。

解决方法:
conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch代码里面的“-c pytorch”导致计算机必须根据pytorch官网进行下载,因此速度极慢,会出现错误。解决方法就是删掉后面的“-c pytorch”,conda会根据前面设置的清华镜像源路径进行下载安装。
conda install pytorch torchvision torchaudio cudatoolkit=10.1(四)检验安装
在cmd里面输入以下代码:
import torchtorch.cuda.is_available()返回True,安装成功
三、如何应用
下面主要针对jupyter notebook和pycharm两种应用环境进行讲解
(一)在jupyter notebook里使用虚拟环境下的pytorch
步骤一:打开终端Anaconda Prompt(管理员权限打开,右键单击,选择以管理员身份运行就可以)
步骤二:安装nb_conda插件
1.执行以下命令行:
conda install nb_conda
选择“Y”即可
2.执行命令行:
conda install ipykernel
注意,这一步需要在你的pytorch虚拟环境下安装,先输入 conda activate pytorch(这里的pytorch是我的虚拟环境,根据自己设置的名称来),进入环境后执行conda install ipykernel.
步骤三:启动jupyter notebook

(二)在pycharm里使用虚拟环境的pytorch
步骤一:打开pycharm,在files->settings->project:<xxx>->project interpreter界面,可以设定project interpreter。
步骤二:选择【齿轮】,点击【Add】,后进入:

步骤三:选择【齿轮】,点击【Add】,后进入:

步骤四:选择一个已经存在的conda虚拟环境,即【pytorch】,点击【OK】,进入上一层:

步骤五:点击【OK】,回退上一层:

这样就能在pycharm里面设置anaconda虚拟环境下的pytorch进行编程开发了。
码字不易,请关注微信公众号,不丢失

那些最全面的Windows10安装pytorch踩过的坑以及如何应用的更多相关文章
- 最细的eclipse 安装maven踩过的坑
Eclipse安装maven插件踩过的坑 在线安装maven eclipse安装maven插件,在网上有各种各样的方法,博主使用过的也不止一种,但是留下的印象总是时好时不好,同样的方法也不确定那一次能 ...
- Win7 安装 Docker 踩的那些坑
公司电脑是 WIN7 x64 旗舰版 SP1,安装 Docker 时踩了好多雷,分享出来给大家排排雷. 首先,Docker Desktop Installer 的 Windows 版只支持 Win10 ...
- 安装Postgresql踩过的坑
PG安装相关的 1 系统语言的设置 PG的安装,和系统的locale设置有一定的关系,需要设置,如在.profile或.bashrc中 也可以运行下面的命令: dpkg-reconfigure lo ...
- Centos7安装docker-compse踩过的坑
一.概要 本文,我们介绍如何在centos7环境下安装docker-compose, 记录下安装过程步骤以及遇到的问题还有解决办法. 二.安装方式 1.官方安装方式 sudo curl -L ht ...
- MacOS 安装 gdb 踩过的坑
今天在 OS X EI Capitan 10.11.6 中安装 gdb 的时候,出了一堆状况,写下此文以便以后能够时刻提醒自己. 解决方案 1.安装 gdb $ brew install gdb $ ...
- 基于RHEL6.3 安装MySQL踩过的坑
MySQL版本:Percona-Server-5.6.29 OS:RHEL6.3 安装出错 [mysql@oracle ~]$ /home/mysql/scripts/mysql_install_db ...
- 总结安装matlab踩到的坑
个人安装matlab3次,每次都遇到不同的安装问题,现在将遇到的问题总结下来,以供参考. 本次安装MATLAB的步骤参考的博文 https://blog.csdn.net/u012313335/art ...
- Linux安装mysql以及安装时踩下的坑
安装: 检测是否已经安装了mysql rpm -qa | grep mysql 如果已经安装了,将其卸载,如: rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86 ...
- windows虚拟机下 安装docker 踩过的坑
首先,你的是win7.8还是win10 windows对docker兼容也是最近的事,所以win7.8的话,安装docker是要用工具箱的,不过官方给了下载. 国内话的可以通过,阿里镜像,或者清华镜像 ...
随机推荐
- Java并发编程的艺术(二)——volatile、原子性
什么是volatile Java语言允许线程访问共享变量,为了确保共享变量能够被准确一致地更新,如果一个字段被声明为volatile,那么Java内存模型将会确保所有线程看到这个变量时值是一致的.保证 ...
- 基于gin的golang web开发:实现用户登录
前文分别介绍过了Resty和gin-jwt两个包,Resty是一个HTTP和REST客户端,gin-jwt是一个实现了JWT的Gin中间件.本文将使用这两个包来实现一个简单的用户登录功能. 环境准备 ...
- vue2中$emit $on $off实现组件之间的联动,绝对有你想了解的
在vue2开发中,你肯定会遇到组件之间联动的问题,现在我们就来说说哪个神奇的指令可以满足我们的需求. 一.先上实例: 需求:点击A组件或者B组件可以使C组件的名称相应发生改变,同样,点击A组件也会使对 ...
- Greenplum 性能优化之路 --(二)存储格式
一.存储格式介绍 Greenplum(以下简称 GP)有2种存储格式,Heap 表和 AO 表(AORO 表,AOCO 表). Heap 表:这种存储格式是从 PostgreSQL 继承而来的,目前是 ...
- react第十八单元(redux中间件redux-thunk,redux工程目录的样板代码,规范目录结构)
第十八单元(redux中间件redux-thunk,redux工程目录的样板代码,规范目录结构) #课程目标 中间件:中间件增强redux的可扩展性,实现功能复用的目的. redux-thunk异步逻 ...
- 持久层之 MyBatis: 第二篇 :动态SQL And多表查询
MyBatis入门到精通 完整CRUD UserDaoImpl 编写UserDao对应的UserDaoMapper.xml 添加UserDao的测试用例 编写UserDao的测试用例 解决数据库字段名 ...
- 学习Python之数据类型
格式化字符串 字符串格式化是一种非常简洁的特性,它能让我们动态更新字符串中的内容.假设我们有从服务器获取的用户信息,并希望根据该信息显示自定义消息,第一个想法是应用字符串连接之类的东西. first_ ...
- 技术基础 | 用JSON在抖音上发布动态——使用Stargate即可轻松实现
Cassandra是世界上经受住最多实战考验的数据库,通过其快速且易于使用的数据API,让你的程序开发升级. 本文将介绍什么是Stargate以及Stargate的最新进展,如果您想快速浏览相关代码和 ...
- Node.js躬行记(5)——定时任务的调试
最近做一个活动,需要用到定时任务,于是使用了 node-schedule 库. 用法很简单,就是可配置开始.结束时间,以及重复执行的时间点,如下所示,从2020-12-23T09:00:00Z开始,每 ...
- java文本获取
public static String Html2Text(String inputString) { String htmlStr = inputString; // 含html标 ...