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

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

前言

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

一、pip

1、导出结果含有路径

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

python 复制代码
pip freezen > requirements.txt

2、导出不带路径的

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

python 复制代码
pip list --format=freeze >requirement.txt

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

二、Conda

1、导出requirements.txt

a. 导出

python 复制代码
conda list -e > requirements.txt

b. 导入安装

python 复制代码
conda install --yes --file requirements.txt

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

2、导出yml 文件

a.导出

python 复制代码
conda env export > freeze.yml

b.导入安装

python 复制代码
conda env create -f freeze.yml

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

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

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

python 复制代码
pip install pipreqs

step2:使用pipreqs导出

在python项目的根目录下 使用

python 复制代码
pipreqs ./

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

python 复制代码
pipreqs ./ --encoding=utf-8

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

1、创建并激活conda环境

python 复制代码
conda create -n 环境名称 python=3.10 anaconda
conda activate 环境名称

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

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

python 复制代码
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

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

python 复制代码
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

相关推荐
人生在勤,不索何获-白大侠9 分钟前
day16——Java集合进阶(Collection、List、Set)
java·开发语言
LIN-JUN-WEI27 分钟前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
望获linux1 小时前
【Linux基础知识系列】第四十三篇 - 基础正则表达式与 grep/sed
linux·运维·服务器·开发语言·前端·操作系统·嵌入式软件
ahead~1 小时前
【大模型入门】访问GPT_API实战案例
人工智能·python·gpt·大语言模型llm
留不住丨晚霞2 小时前
说说SpringBoot常用的注解?
java·开发语言
大模型真好玩2 小时前
准确率飙升!GraphRAG如何利用知识图谱提升RAG答案质量(额外篇)——大规模文本数据下GraphRAG实战
人工智能·python·mcp
19892 小时前
【零基础学AI】第30讲:生成对抗网络(GAN)实战 - 手写数字生成
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·近邻算法
hardStudy_h2 小时前
C++——内联函数与Lambda表达式
开发语言·jvm·c++
applebomb2 小时前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
艾莉丝努力练剑2 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法