【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置

  • 前言
  • 一、pip
    • 1、导出结果含有路径
    • 2、导出不带路径的
  • 二、Conda
    • 1、导出requirements.txt
    • 2、导出yml 文件
  • 三、第三方包:pipreqs(推荐)
      • 1、创建并激活conda环境
      • 2、安装requirements文件的pip源的包
  • 四、pytorch的配置
    • 安装正确版本的pytorch+torchvision+cuda

前言

进行深度学习时,学习github上面的项目,经常需要配置不同的虚拟环境。最简便的方式是使用 requirements.txt 导入所需的项目,但是涉及到 pytorch 时,需要特别注意。如果你的 requirements.txt 文件中的 PyTorch 版本与你的环境不兼容,你可能会在安装时遇到错误。在这种情况下,你需要手动指定一个与你的环境兼容的 PyTorch 版本。

一、pip

1、导出结果含有路径

导出结果会存在路径,生成的 requirements.txt 文件在当前目录下。

pip freezen > requirements.txt

2、导出不带路径的

生成的requirements.txt文件在当前目录下。

pip list --format=freeze >requirement.txt

生成 requirements.txt,pip freeze 会将当前PC环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包,此方法需要注意。

二、Conda

1、导出requirements.txt

a. 导出

conda list -e > requirements.txt

b. 导入安装

conda install --yes --file requirements.txt

注意:使用 requirements.txt 导入时,如果有 pytorch 或者torch 先删除 requirements.txt 里面的的pytorch,安装其它库起

2、导出yml 文件

a.导出

conda env export > freeze.yml

b.导入安装

conda env create -f freeze.yml

三、第三方包:pipreqs(推荐)

使用pipreqs,这个工具的好处是可以通过对项目目录的扫描,发现使用了哪些库,生成依赖清单。

step1:安装pipreqs(默认没有安装)

pip install pipreqs

step2:使用pipreqs导出

在python项目的根目录下 使用

pipreqs ./

如果报错,则采用下面的代码

pipreqs ./ --encoding=utf-8

生成的requirements.txt文件在当前目录下。

1、创建并激活conda环境

conda create -n 环境名称 python=3.10 anaconda
conda activate 环境名称

2、安装requirements文件的pip源的包

cd 到 requirements.txt 文件所在的路径下,然后使用国内镜像网站安装

pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt

四、pytorch的配置

注意 PyTorch 版本和兼容性:

requirements.txt 文件中列出的 pytorch 版本可能与你的系统环境(如操作系统、Python版本、CUDA版本等)不兼容。PyTorch 有许多不同的构建版本,对应于不同的操作系统、Python版本和CUDA版本。如果你的 requirements.txt 文件中的 PyTorch 版本与你的环境不兼容,你可能会在安装时遇到错误。在这种情况下,你需要手动指定一个与你的环境兼容的 PyTorch 版本。

由于 python 版本和pytorch和torchvision和cuda有对应的关系,需要明确项目使用上面版本进行下一步的conda虚拟环境的创建。这里使用当今最火爆的yolov5项目的requirement,作为示例,如下图所示,所要求的pytorch版本为python>=3.7.0 torch>=1.7.0 torchvision>=0.8.1

在这里插入图片描述

安装正确版本的pytorch+torchvision+cuda

具体的版本的下载代码可以在这里查到,这里举例使用国内镜像安装,仅在原始命令后,添加下载网址。

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

https://blog.csdn.net/KingsMan666/article/details/133688711

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/380185.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

金融信贷风控评分卡模型

评分卡模型概念 评分模型是根据借款人的历史数据,选取不同维度的数据类型,通过计算而得出的对借款人信用情况打分的模型。不同等级的信用分数代表了借款人信用情况的好坏,以此来分析借款人按时还款的可能性。 评分卡模型分类 A卡&#xff…

揭开Markdown的秘籍:标题|文字样式|列表

🌈个人主页:聆风吟 🔥系列专栏:Markdown指南、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️Markdown 标题二. ⛳️Markdown 文字样式2.1 🔔斜体2.2 &…

Netty连接通道中的Channel参数模型

ChannelOption(Channel中的连接参数) ChannelOption.SOBACKLOG ChannelOption.SO_BACKLOG对应的是tcp/ip协议listen函数中的backlog参数,服务端处理客户端连接请求是顺序处理的,所以同一时间只能处理一个客户端连接,多个客户端来的时候&…

代理与Reflect反射

属性描述符 Proprety Descriptor 属性描述符 用于描述一个属性的相关信息 1.Object.getOwnPropertyDescriptor(对象,属性名) 可以得到一个对象的 某个属性的属性描述符 Object.getOwnPropertyDescriptors(对象) 可以得到某个对象的所有属性描述符 如果需要为某个…

node.js基础-02

Author nodes:(题记) Hypertest Transfer protocol is very important to programming personnel。it doesnt matter if youre a front-end engineer or a back-end engineer.So,lets study it together. http协议对于编程工程师很重要&am…

基于华为云欧拉操作系统(HCE OS)单节点容器化部署(Prometheus、node-exporter、Grafana)应用性能监控平台

写在前面 博文内容为 华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS)实验笔记整理认证地址:https://edu.huaweicloud.com/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1内容涉及,HCE OS 容器化部署(Prometheus、…

【C++修行之道】(引用、函数提高)

目录 一、引用 1.1引用的基本使用 1.2 引用注意事项 1.3 引用做函数参数 1.4 引用做函数返回值 1.5 引用的本质 1.6 常量引用 1.7引用和指针的区别 二、函数提高 2.1 函数默认参数 2.2函数占位参数 2.3 函数重载 2.4函数重载注意事项 一、引用 1.1引用的基本使用 …

【canvas】获取鼠标点击位置坐标的颜色信息

在项目当中,要实现某业务需求例如PS魔棒功能时,则需要获取点击坐标的颜色信息。 功能不复杂,代码也很少,一看便知~~ 核心API为getImageData,传入4个参数,前2个为点击坐标xy,后2个都传1&#xf…

那些 C语言指针 你不知道的小秘密 (3)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能…

vscode连接ssh报错

关于vscode更新版本至1.86后,导致无法连接服务器问题的记录 原因:vscode1.86更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7)都无法用remote-ssh来连接了&#…

Linux探秘之旅:透彻理解路径、命令与系统概念

目录 如何远程连接 远程登录简明指南 linux区别 1.严格区分大小写 2.linux的命令返回结果判断 3.如何查看网络信息 4.关于后缀名(Linux不关心文件后缀) 4.1 需要记忆的后缀 5.echo命令 6.linux一切皆文件 6.1比如磁盘的文件 6.2可执行文件 …

nginx + DNS域名解析

配置链接: Nginx 安装配置 | 菜鸟教程 安装完nginx后,访问: cd /usr/local/nginx/sbin/ 然后使用./nginx可使用nginx。 访问:http://服务器的ip地址后出现 因为访问IP地址很繁琐,需要记忆ip的数字地址,因此需要给它一个通俗的…

如何在Sprint中管理UI测试?

作为iOS团队,我们编写3种类型的UI测试。如果你问这些是什么;快照、冒烟和回归测试。那么这些测试到底是什么?让我们稍微谈谈这些。 快照测试快照测试是检查UI中的某些内容是否损坏的测试。 首先,它将所需的视图图像保存在某处&am…

Lombok 高级说明

优质博文:IT-BLOG-CN 一、痛点 【1】代码臃肿:POJO中的getter/setter/equals/hashcode/toString等; 【2】样板式代码:I/O流的关闭操作等; Lombok是一个可以通过注解简化Java代码开发的工具,能够在我们编…

string容器

1. string基本概念 1.1 本质: string是C风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 1.2 特点…

书生·浦语大模型全链路开源体系

参考:https://www.bilibili.com/video/BV1Rc411b7ns/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1 背景: 人工智能的发展从针对特定任务,用一个模型解决一个问题过渡到一个模型来应对多模态、多任务,大模…

K210如何下载程序

一、打开资料包里提供的K-Flash程序烧录软件 二、选择串口 三、选择波特率 四、选择In-Chip,烧录到Flash芯片里面,重新上电还会运行程序 五、如果选择In - Memory,这次可以运行,但下次重新上电就不会保持这次的程序了。 六、选择固…

springboot+vue居民小区设备报修系统

小区报修系统可以提高设施维护的效率,减少机构的人力物力成本,并使得维修人员可以更好地了解维护设备的情况,及时解决问题。 对于用户来说,报修系统也方便用户的维修请求和沟通,提高了用户的满意度和信任。其次小区报修…

在PyTorch中,如何查看深度学习模型的每一层结构?

这里写目录标题 1. 使用print(model)2. 使用torchsummary库3.其余方法(可以参考) 在PyTorch中,如果想查看深度学习模型的每一层结构,可以使用print(model)或者model.summary()(如果你使用的是torchsummary库&#xff0…

网关中全局过滤器实现jwt校验

意味着有很多相同接口的实现类&#xff0c;那么必定会有优先级的问题。于是Spring就提供了Ordered这个接口&#xff0c;来处理相同接口实现类的优先级问题。 public class AuthorizeFilter implements Ordered, GlobalFilter {Overridepublic Mono<Void> filter(ServerW…