解决Ultralytics的自定义YOLO模型单GPU可以训练多GPU训练却报错subprocess.CalledProcessError的问题

解决步骤

  • 一、报错详情
  • 二、解决思路
    • 1. 创建.sh运行文件
    • 2. YOLO训练脚本文件
    • 3. 终端命令
    • 4. 成功运行

一、报错详情

subprocess.CalledProcessError: Command '['/home/xxx/anaconda3/envs/openmmlab/bin/python', '-m', 'torch.distributed.run', '--nproc_per_node', '3', '--master_port', '45955', '/home/xxx/.config/Ultralytics/DDP/_temp_k27mw9_0140144378558880.py']' returned n
请添加图片描述

二、解决思路

先看这一篇能否顺利解决你的问题【已解决】yolov8 多卡训练报错subprocess.CalledProcessError
文中提到在train文件增加find_unused_parameters=True参数。不过官方最新版本已经帮我们加了这个参数了。

1. 创建.sh运行文件

我们可以在ultralytics目录下创建一个run.sh文件,复制粘贴如下代码,根据自身代码环境完成相应替换:

#!/bin/bashPYTHON_PATH="/home/xxx/anaconda3/envs/xxx/bin/python" # 替换自己的python文件路径export CUDA_VISIBLE_DEVICES=3,4,5 # 选择相应多GPU位置
export MASTER_ADDR=localhost
export MASTER_PORT=29501 # 选择没有冲突的接口默认29500
export WORLD_SIZE=2
export OMP_NUM_THREADS=1
export NCCL_DEBUG=INFO$PYTHON_PATH -m torch.distributed.launch \--nproc_per_node=3 \ # GPU个数--master_port=29501 \ --node_rank=0 \--master_addr=localhost \/home/xxx/ultralytics/train.py # 自己的训练脚本文件

2. YOLO训练脚本文件

/home/xxx/ultralytics/train.py中输入

from ultralytics import YOLO# Load a model
model = YOLO("/home/xxx/ultralytics/ultralytics/cfg/models/11/yolo11s-xxx.yaml")  # build a new model from YAML# Train the model
results = model.train(data="/home/xxx/ultralytics/ultralytics/cfg/datasets/xxx.yaml", batch=15, epochs=200, imgsz=640)

3. 终端命令

切换ultralytics项目文件夹目录

cd /home/xxx/ultralytics/run.sh

运行run.sh文件

./run.sh

4. 成功运行

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(1)

1.Linux的背景介绍 Linux 操作系统的发展历程充满了激情与创新喵~🎀 萌芽期 (1983 - 1991):Linux 的历史可追溯到 1983 年,理查德斯托曼 (Richard Stallman) 发起 GNU 计划,目标是创建一个自由软件操作系统。1987 年发…

三款良心实用的桌面待办提醒软件 让工作效率Up提升!

互联网科技的迅速发展,让大家的工作方式也发生了巨大的变化,过去传统的办公方式已然不能适应当下节奏快速发展的时代。在如今工作快节奏的催促下,我们如何才能从琐碎、复杂的工作任务重,找到一条清晰的工作节奏成为效率工作up提升…

热点更新场景,OceanBase如何实现性能优化

案例背景 这个案例来自一个保险行业的客户:他们的核心系统底层采用了OceanBase数据库作为存储解决方案,然而,在系统上线运行后,出现了一个异常情况,执行简单的主键更新语句时SQL执行时间出现了显著的波动。为了迅速定…

【银河麒麟】时间同步工具chrony与ntp对比

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn Chrony介绍 Chrony 是一个用于时间同步的软件。…

fork函数详解

前言 之前我们提到,创建子进程的时候,需要使用fork()函数,其中分别有id 0和id >0的if函数,但是实验表明,两个if函数中的内容都得到了实现。按照我们之前所学,一个变量同一时间只能有一个值,…

二叉排序树

在说二叉排序树之前先考虑这样一个例子,假设我们的数据集开始只有一个数{62},然后现在需要将88插入数据集,于是数据集成了{62,88},还保持着从小到大有序,再查找有没有58,没有则插入,可此时要想在…

GitLab 中文版如何禁止从 UI 上下载代码?

本文分享如何通过配置来禁止用户从 GitLab 中文版 UI 界面上下载源代码。 GitLab 中文版也就是极狐GitLab,使用界面和 GitLab 一样。常规下载代码的方式也一样,要么使用 SSH 或者 HTTP 克隆,要么直接从 UI 上下载源代码: 但是有些…

Conmi的正确答案——ESP32导出烧录进芯片的固件

版本:ESP-IDF 4.4.7 系统:Windows 11 相关链接: 官网:Read Flash Contents: read_flash GITHUB独立工具:esptool 命令: # 我这里用的是C3和windows版的EXE工具 esptool.exe --chip ESP32-C3 -p COM17 -b …

vue2+ element ui 集成pdfjs-dist

目录 1. 下载Pdf.js1.1 下载1.2 修改配置1.2.1 将pdfjs-3.8.162-dist复制到项目中1.2.2 解决跨域问题1.2.3 将pdf.worker.js文件复制到public目录下1.2.4 安装 pdfjs-dist1.2.5 前端vue代码(示例) 3. 参考资料 1. 下载Pdf.js 1.1 下载 下载链接(官方)需…

为什么越来越多的跨境卖家放弃电商平台,转向独立站?

对于做跨境电商的卖家来说,采用多平台、多站点的经营策略非常重要。这样做不仅可以分散风险,避免把所有的钱都押在一个市场上,减少“把所有鸡蛋放在一个篮子里”的风险,还能拓宽销售渠道,帮助卖家赚更多的钱&#xff0…

PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级

PCB生产ERP系统的智能拼版技术,是基于PCB前端报价系统获取到的用户或市场人员已录入系统的板子尺寸及set参数等,按照最优原则或利用率最大化原则自动进行计算并输出拼版样式图和板材利用率,提高工程人员效率,减少板材的浪费。覆铜…

2024年第四届数字化社会与智能系统国际学术会议(DSInS 2024)

会议地点 悉尼会场:澳大利亚悉尼-悉尼科技大学空中科技大学功能中心,沃特尔(Aerial UTS Function Centre, Wattle Room) 具体地址:Building 10, Level 7, 235 Jones Street, Ultimo, New South Wales, 2007, AU 郑州…

从零开始快速构建Vue3项目

一、技术选型 组件大类 具体插件 vue3插件 相关插件开发文档 基础架构搭建 初始项目搭建、打包构件工具:vite开始 | Vite路由管理及菜单权限封装vue-router介绍 | Vue Router状态管理Pinia介绍 | Pinia 中文文档API请求及异常封装axiosUI框架 element-uihttps…

spring cloud 入门笔记1(RestTemplate,Consul)

最大感受: spring cloud无非是将spring boot中的各个工作模块拆分成独立的小spring boot,各个模块之间,不再是通过导包什么的,调用而是通过网路进行各个模块之间的调用 工具一:RestTemplate 在Java代码中发送HTTP请…

从虚构到现实!FAME助力模型编辑走向实际应用

论文:FAME: Towards Factual Multi-Task Model Editing 链接:https://arxiv.org/abs/2410.10859项目:https://github.com/BITHLP/FAME 前言 大语言模型中丰富的知识使得其在如智能助理,法律顾问,医疗咨询等多个领域中…

无需Photoshop即可在线裁剪和调整图像大小的工具

Bitmind是一个灵活且易于使用的批量图像本地化处理器,经过抓包看,这个工具在浏览器本地运行,不会上传图片到服务器,所以安全性完全有保证。 它可以将图像调整到任何特定尺寸,并在必要时按比例裁剪。 这是一个在线工具…

计算两个结构的乘法

在行列可自由变换的平面上,2点结构有3个 3点结构有6个 计算2*2 2a1*2a14a6 2a1*2a24a8 2a1*2a34a12 显然2a1*2a14a6因为这3个结构都分布在同一列上,就是整数乘法。2a1*2a2的结果有2种写法,一种外形像2a1细节为2a2,一种外形为2…

短剧项目全流程花费项目详解:从软件采购到OSS流量

一、引言 随着网络视频的兴起,短剧项目作为一种新兴的内容形式,受到了广泛关注。然而,短剧项目运营过程中涉及诸多费用,本文将对短剧项目的各项花费进行明细分析,以帮助相关从业者更好地规划预算和控制成本。 二、软…

Vector Optimization – Vector Mask Register

文章目录 Vector优化 – Vector掩码寄存器 Vector优化 – Vector掩码寄存器 One of the reasons for low levels of vectorization is the presence of conditionals (IF statements) inside loops. IF statements introduce control dependencies into a loop. 矢量化水平低的…

冗余连接2 hard题 代随C#写法

此题在卡码网109与力扣685题亦有记载 有一说一C#写法我没咋搞懂 就看明白了思路 这里贴一个答案待后续我醒悟了再来看罢 难就难在对整体数据结构classUnion(并查集)的理解不熟并且 对于输入输出这个迭代过程理解上也比较吃力 109. 冗余连接II 题…