百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

【独家攻略】Anaconda秒建PyTorch虚拟环境,告别踩坑,小白必看

itomcoil 2025-02-15 15:55 37 浏览

目录

一.Pytorch虚拟环境简介

二.CUDA简介

三.Conda配置Pytorch环境

  1. conda安装Pytorch环境
  2. conda下载安装pytorch包
  3. 测试

四.NVIDIA驱动安装

五.conda指令

一.Pytorch虚拟环境简介

Torch是一个用于深度学习的=数学计算库,而Pytorch则是一个基于Torch的Python机器学习库,可看作其提供了Torch应用于Python的接口。而搭建Pytorch虚拟环境,通俗地讲,就是搭建一个包含了Pytorch的相关包的Python解释器的环境,即是专门用于处理基于Python的深度学习的问题的环境。

二.CUDA简介

CUDA(Compute Unified Device Architecture)中文名为统一计算设备架构,,是显卡厂商NVDIV推出的运算平台,可以帮助GPU处理图形相关的计算问题。

我们可以通过在命令行输入以下命令来查看我们电脑的CUDA版本配置,下面可以看到我的CUDA版本为11.7(若电脑没有独立显卡,则该命令输入无效,独立显卡问题在第四部分说明,可先看第该部分说明)。

nvidia-smi

(这里说明一下,因后面的命令行操作有些操作需要以管理员身份运行,所以建议大家从一开始就以管理员身份运行命令行窗口)具体操作方法有以下两种:

1. Windows开始窗口->Windows系统->命令提示符(注意先不要直接左键打开)->右键->更多->以管理员身份运行。

2. 快捷键win+R打开运行窗口,再输入cmd(注意不要直接运行),再快捷键ctrl+shift+enter以管理员身份运行。

三.Conda配置Pytorch环境

1.conda安装Pytorch环境

同样以管理员身份进入命令提示符窗口,在命令行中输入一下命令,我这里以python3.10解释器为例,安装的环境命名为pytorch,这个环境名可以自定义。

conda create -name pytorch python=3.10



输入y,再回车。

即完成了Pytorch的环境安装。我们可以利用以下命令激活pytorch环境。当前面出现(pytorch)前缀时,代表已经进入pytorch环境。

activate pytorch

可能有些人会发现,自己创建的环境在自己自定义的安装的Anaconda路径的envs目录下没有找到,那么这个环境就是被安装到了C盘用户名目录下的.conda文件夹中的envs目录下了。

因为往往在环境中添加了包以后,环境文件夹会有好几个G,所以最好不要放在它默认的路径下。如果你不觉得麻烦,那么可以用一个比较笨的方法,就是每次新建完一个环境后,就把上图中的envs目录直接复制到你自己的Anaconda的安装目录中。另外还有一个(看似)高级一点的方法,就是找到上图中的.conda目录的同级目录下的一个叫做.condarc的文件,用记事本打开它。

在里面加上以下内容。

envs_dirs:
  - D:\360Downloads\Anaconda3\envs
pkgs_dirs:
  - D:\360Downloads\Anaconda3\pkgs

这里是我的Anaconda的安装路径设置到了D:\360Downloads\Anaconda3下,大家可以将前面的部分改为自己的Anaconda的安装路径。这样子之后再创建的虚拟环境都会自动安装到这里自己定义的目录下。

另外我们可以通过以下命令来查看已建的环境

conda env list

其中base为Anaconda的默认环境,python310是我自己之前搭建的环境,pytorch就是现在搭建出来的pytorch环境。

我们可以在激活的pytorch环境下用以下命令查看一下新创建的环境中包含哪些包。

conda list

可以看到新建的环境中的包并不包含pytorch的相关包,需要我们手动安装。

2.conda下载安装pytorch包

这里主要说明安装GPU版的pytorch包。因为pytorch包需要与CUDA版本相匹配,所以需要根据自己机器的CUDA版本选择对应版本的pytorch包进行安装。根据上面利用nvidia-smi命令查找的本机CUDA版本,可以对应在PyTorch这里查找安装对应型号的pytorch包的命令。我上面查找的我的CUDA版本为11.7,那么我可以安装CUDA11.7以下的版本的pytorch包,这里我就选择11.6。

要在激活的pytorch环境下,复制以上方框中的命令开始下载安装包(注意必须要在pytorch环境中输入!!!否则会装到Anaconda的默认base环境中!!!)。其中-c pytorch中的c表示channel,即下载渠道,是国外的渠道,所以很有可能会出现安装非常缓慢的情况。那么我们就可以选择国内的镜像源来下载,我这里选用清华镜像源。具体操作有2种方式:

1. 在命令行输入

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
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/
config --set show_channel_urls yes

其中最后一句是在安装时可以显示安装的包的来源。

2. 同上述找到.condarc文件的位置,同样用记事本打开,在最上面加上以下内容加上以下内容

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - conda-forge

这样就将清华镜像源加入到了路径中,之后安装包时,搜索渠道会先从该镜像源查找,速度会快很多。可以通过以下命令查看下载渠道和环境安装路径等信息。

conda info

加入好这些渠道后,就可以用上述命令安装pytorch包了。首先同上述方法在激活的pytorch环境下输入前面的下载命令,但这时候就可以把-c pytorch即其之后的参数部分都删除掉了,即

conda install pytorch torchvision torchaudio cudatoolkit=11.6

输入上面的命令回车后,会出现上面这个需要安装的包的列表,其中我们需要的pytorch包也在这里框出来了,右边对于这个包的版本说明的最后面的cuda11.6_cudnn8_0就表示下载的为GPU版本的pytorch包(CPU版本的在最后面会带有cpu的字样)。那么我们就可以输入y,然后回车等待下载了。如果中途安装的进度条卡主不动了,那可能是因为网络不太稳定,可以逐次按下快捷键Ctrl+C退出安装,然后输入上述命令重新安装

下载完成后,可以在pytorch环境下,同上述输入conda list命令查看安装好包后的所有包的列表。

可以看到GPU版的pytorch和相关的包已经安装成功了 。

3.测试

安装完pytorch包后,在pytorch环境下输入以下命令进入该环境下的python界面。

python

这里显示了python解释器版本为3.10.4,后面括号中的时间表示该版本的发行时间。(另外这里说明一下,当退出pytorch环境后,再次输入python命令结果如下)

这里显示版本为3.9.12,这个为我安装的Anaconda的默认的base环境下的python解释器版本,但如果我们想要使用python其他版本的解释器,只需要像上面创建pytorch环境时指定python解释器版本即可,比如我这里就指定了器创建包含3.10版本的解释器的pytorch环境,同时在Pycharm中选择这个环境下的解释器,即可使用3.10版本的解释器,并且包含我们在这个环境下安装的包。另外上面的Waring警告只是表示说这个python命令没有在指定环境中执行,那么系统选择了默认的base环境的python解释器,如果想要去掉这个警告,那么只需要先输入activate命令先进入base环境,就不会再出现这个警告了,如下:

话题回到检验测试pytorch环境下的pytorch包的安装情况,可以先进入pytorch环境,并在环境下输入python命令进入python界面,再依次输入如下指令:

import torch
import torchvision
print(torch.cuda.is_available())

若均不报错,并且最后一个输出为True,则表示GPU版的pytorch包安装成功,pytorch环境搭建完成。则可以输入quit()退出python,输入deactivate指令退出环境。

四.NVIDIA驱动安装

NVIDIA图形驱动程序主要用来驱动NVIDIA显卡,让系统改正确识别NVIDIA的图形显示卡,可进行2D/3D渲染,发挥显卡应有的效能。

首先可以先看一下电脑是否具有独立显卡:进入设备管理器,找到

方框中的标识具有独立显卡。若没有,则需要到NVIDIA官网下载合适的NVIDIA驱动程序。

然后点击搜索,然后之后两个页面全部点下载,即可开始下载。

然后找到安装文件

我下载了两种文件作对比,我上面操作下载的文件是下面的notebook版(笔记本版)的,而desktop版的是台式机版本的。

以笔记本版为例,以管理员身份运行下面那个exe文件,这是临时解压文件的路径,后续安装完成后悔删除,所以就直接按照默认路径即可,按ok。

下载临时文件完成后,进入安装界面,然后一路按照默认选项按继续或下一步即可

然后,在桌面空白处右键,选择NVIDIA控制面板。

然后选择管理3D设置,再选择高性能NVIDIA处理器,点击应用即可。

五.conda指令

以环境名为pytorch,对应python解释器版本3.10为例,以下在命令行中的conda指令归纳如下:

创建环境:

conda create -n pytorch python=3.10

conda create --name pytorch python=3.10

删除环境:

conda remove -n pytorch --all

激活环境:(对于base环境,可直接简写为activate)

activate pytorch

退出环境:

deactivate

下载 / 卸载包:

conda install package_name

conda remove package_name

查询环境中的所有包:

conda list

查询已搭建的环境:

conda env list

查询环境中的相关路径和下载渠道等信息:

conda info

打开python解释器:

python

#IT##程序员##经验分享##干货分享##程序员##计算机##互联网##Python#

相关推荐

《Queendom》宣布冠军!女团MAMAMOO四人激动落泪

网易娱乐11月1日报道据台湾媒体报道,南韩女团竞争回归的生死斗《Queendom》昨(10/31)晚播出大决赛,并以直播方式进行,6组女团、女歌手皆演唱新歌,并加总前三轮的赛前赛、音源成绩与直播现场投...

正确复制、重写别人的代码,不算抄袭

我最近在一篇文章提到,工程师应该怎样避免使用大量的库、包以及其他依赖关系。我建议的另一种方案是,如果你没有达到重用第三方代码的阈值时,那么你就可以自己编写代码。在本文中,我将讨论一个在重用和从头开始编...

HTML DOM tr 对象_html event对象

tr对象tr对象代表了HTML表格的行。HTML文档中出现一个<tr>标签,就会创建一个tr对象。tr对象集合W3C:W3C标签。集合描述W3Ccells返回...

JS 打造动态表格_js如何动态改变表格内容

后台列表页最常见的需求:点击表头排序+一键全选。本文用原生js代码实现零依赖方案,涵盖DOM查询、排序算法、事件代理三大核心技能。效果速览一、核心思路事件入口:为每个<th>绑...

连肝7个晚上,总结了66条计算机网络的知识点

作者|哪吒来源|程序员小灰(ID:chengxuyuanxiaohui)计算机网络知识是面试常考的内容,在实际工作中经常涉及。最近,我总结了66条计算机网络相关的知识点。1、比较http0....

Vue 中 强制组件重新渲染的正确方法

作者:MichaelThiessen译者:前端小智来源:hackernoon有时候,依赖Vue响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的...

为什么100个前端只有1人能说清?浏览器重排/重绘深度解析

面试现场的"致命拷问""你的项目里做过哪些性能优化?能具体讲讲重排和重绘的区别吗?"作为面试官,我在秋招季连续面试过100多位前端候选人,这句提问几乎成了必考题。但令...

HTML DOM 介绍_dom4j html

HTMLDOM(文档对象模型)是一种基于文档的编程接口,它是HTML和XML文档的编程接口。它可以让开发人员通过JavaScript或其他脚本语言来访问和操作HTML和XML文档...

JavaScript 事件——“事件流和事件处理程序”的注意要点

事件流事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而NetscapeCommunicator的事件流是事件捕获流。事件冒泡即事件开始时由最具体的元素接收,然后逐级向上传播到较为不...

探秘 Web 水印技术_水印制作网页

作者:fransli,腾讯PCG前端开发工程师Web水印技术在信息安全和版权保护等领域有着广泛的应用,对防止信息泄露或知识产品被侵犯有重要意义。水印根据可见性可分为可见水印和不可见水印(盲水印)...

国外顶流网红为流量拍摄性侵女学生?仅被封杀三月,回归仍爆火

曾经的油管之王,顶流网红DavidDobrik复出了。一切似乎都跟他因和成员灌酒性侵女学生被骂到退网之前一样:住在950万美元的豪宅,开着20万美元的阿斯顿马丁,每条视频都有数百万观看...人们仿佛...

JavaScript 内存泄漏排查方法_js内存泄漏及解决方法

一、概述本文主要介绍了如何通过Devtools的Memory内存工具排查JavaScript内存泄漏问题。先介绍了一些相关概念,说明了Memory内存工具的使用方式,然后介绍了堆快照的...

外贸独立站,网站优化的具体内容_外贸独立站,网站优化的具体内容有哪些

Wordpress网站优化,是通过优化代码、数据库、缓存、CSS/JS等内容,提升网站加载速度、交互性和稳定性。网站加载速度,是Google搜索引擎的第一权重,也是SEO优化的前提。1.优化渲染阻塞。...

这8个CSS工具可以提升编程速度_css用什么编译器

下面为大家推荐的这8个CSS工具,有提供函数的,有提供类的,有提取代码的,还有收集CSS的统计数据的……请花费两分钟的时间看完这篇文章,或许你会找到意外的惊喜,并且为你的编程之路打开了一扇新的大门。1...

vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比

一、从历史说起Web是WorldWideWeb的简称,中文译为万维网我们可以将它规划成如下的几个时代来进行理解石器时代文明时代工业革命时代百花齐放时代石器时代石器时代指的就是我们的静态网页,可以欣...