当前位置: 首页 > news >正文

Pytorch环境配置的方法

Pytorch虚拟环境配置全流程
以安装pytorch1.9.1为例

1. 创建虚拟环境
安装Anaconda3,打开 PowerShell 创建虚拟环境并进入:

conda create -n torch1.9.1 python==3.8
conda activate torch1.9.1

conda create -n torch1.9.1 python==3.8
conda activate torch1.9.1


这里给虚拟环境命名为torch1.9.1,以后如果遇到同样需要pytorch1.9.1的项目,直接使用该环境。

2. 准备对应Pytorch版本的CUDA
这里默认大家都是用GPU的,那么安装pytorch时需要考虑CUDA的版本匹配问题。

到Pytorch官网页面使用Ctrl+F查询“1.9.1”

看到1.9.1匹配的CUDA版本有10.2和11.3,根据需求选择其一即可。

CUDA的安装地址CUDA下载地址在这里,具体安装方法不再赘述。

请注意,电脑上可能安装了好几个不同版本的CUDA,但是使用时要在系统环境变量→PATH里把需要的CUDA版本上移,最上面的CUDA才会生效。

可以在PowerShell里进行查询:

nvcc -V  # 当前CUDA版本
nvidia-smi  # 系统最高支持的CUDA版本

3.切换清华源

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


4. 在虚拟环境中配置Pytorch
复制CUDA10.2底下的这一行命令,粘贴到刚刚创建的虚拟环境中


conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 


检查:

python  # 进入python
import torch  # 导入pytorch,没有任何报错则为成功
print (torch.__version__)  # v1.9.1
print(torch.cuda.is_available())  # True
exit()  # 退出pytorch

5.如果在上一步出现 torch.cuda.is_available() 是 False的情况,可以翻找当前的 PowerShell,看是不是安装了cpu版本的pytorch,如果是,那么接下来的操作用来重新安装GPU版的pytorch

        5.1 进入链接:Index of /anaconda/cloud/pytorch/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

找到对应python3.8版本的gpu版压缩包

右键下载,下载后保存在torch1.9.1所在的文件夹下,或者其他无中文的位置

        5.2 在 powershell中安装

然后就可以重复第四步,验证 torch.cuda.is_available() 是否为 True 了


6. 将虚拟环境导入Pycharm
File → Settings → Project → Python Interpreter → Add Local Interpreter

Conda Environment → Use existing environment → 下拉选择torch1.9.1

到此为止项目所需要的pytorch安装成功

相关文章:

  • eclipse maven打包报错: 致命错误: 在类路径或引导类路径中找不到程序包 java.lang的解决
  • MySQL 保姆级教程(七):用正则表达式进行搜索
  • 【Python】已解决报错:AttributeError: module ‘json‘ has no attribute ‘loads‘解决办法
  • mac免费的ntfs软件哪个好 MAC读取NTFS硬盘格式
  • 分数限制下,选好专业还是选好学校?
  • Databricks超10亿美元收购Tabular;Zilliz 推出 Milvus Lite ; 腾讯云支持Redis 7.0
  • 软考初级网络管理员__网络单选题
  • 黑龙江等保测评的流程和注意事项
  • 2023年全国大学生数学建模竞赛C题蔬菜类商品的自动定价与补货决策(含word论文和源代码资源)
  • 如何用多线程执行 unittest 测试用例实现方案
  • One能聊天接入百度千帆AppBuilder
  • 六西格玛助力便携式产品功耗大降:打造绿色节能新标杆!
  • Spring MVC详解(上)
  • 描述React中的key属性的作用,为什么它对于列表渲染很重要?
  • Spring事务管理与Spring AOP详解
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 08.Android之View事件问题
  • ComponentOne 2017 V2版本正式发布
  • export和import的用法总结
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript标准库系列——Math对象和Date对象(二)
  • oschina
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Vultr 教程目录
  • 从重复到重用
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 飞驰在Mesos的涡轮引擎上
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 汉诺塔算法
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端临床手札——文件上传
  • 浅谈web中前端模板引擎的使用
  • 事件委托的小应用
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 关于Android全面屏虚拟导航栏的适配总结
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​configparser --- 配置文件解析器​
  • #define与typedef区别
  • #pragma data_seg 共享数据区(转)
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (第一天)包装对象、作用域、创建对象
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (五)MySQL的备份及恢复
  • (转)LINQ之路
  • 、写入Shellcode到注册表上线
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET大文件上传知识整理