iDP3复现代码模型训练全流程(一)——train_policy.sh
iDP3 核心脚本包括三个:deploy_policy.sh、vis_dataset.sh、train_policy.sh,分别代表了部署、预处理和训练,分别作为对应 py 脚本的参数设置前置环节


训练环节仅需运行指令:
# 3d policy
bash scripts/train_policy.sh idp3 gr1_dex-3d 0913_example# 2d policy
bash scripts/train_policy.sh dp_224x224_r3m gr1_dex-image 0913_example
idp3、dp_224x224_r3m:policy 名称
gr1_dex-3d、gr1_dex-image:Fourier GR1、dexterous hands-3d/image
0913_example:附加信息,某个特定时间点的样例
此脚本输入设置包括:算法名称、任务名称和其他配置信息,支持调试模式和训练模式,并集成 wanb 作为日志记录工具
接下来分析一下其运行逻辑
目录
1 变量设置
2 命令行参数
3 衍生变量
4 调试模式
5 切换目录并设置环境变量
6 执行 train.py
1 变量设置
dataset_path=/home/ze/projects/Improved-3D-Diffusion-Policy/training_data_exampleDEBUG=False
wandb_mode=offline
dataset_path:训练数据集路径
DEBUG:切换调试模式(True)或训练模式(False)
wandb_mode:配置 wandb 记录模式,支持 online 或 offline
2 命令行参数
alg_name=${1}
task_name=${2}addition_info=${3}
接收算法名称(alg_name)、任务名称(task_name)和附加信息(addition_info)作为输入参数
3 衍生变量
config_name=${alg_name}seed=0
exp_name=${task_name}-${alg_name}-${addition_info}
run_dir="data/outputs/${exp_name}_seed${seed}"gpu_id=0
echo -e "\033[33mgpu id (to use): ${gpu_id}\033[0m"
config_name:根据算法名称设置配置文件名
exp_name:构建唯一的实验名称
run_dir:指定输出文件的存储目录
gpu_id:使用的 GPU ID
4 调试模式
if [ $DEBUG = True ]; thensave_ckpt=False# wandb_mode=onlineecho -e "\033[33mDebug mode!\033[0m"echo -e "\033[33mDebug mode!\033[0m"echo -e "\033[33mDebug mode!\033[0m"
elsesave_ckpt=Trueecho -e "\033[33mTrain mode\033[0m"
fi
根据 DEBUG 变量的值,动态地设置训练参数和运行模式
此处展开说明一下:
如果 DEBUG=True,则进入调试模式
如果 DEBUG=False,则进入训练模式
在调试模式下,save_ckpt 被设置为 False,即不会保存训练过程中的模型检查点(checkpoints)
调试模式通常用于快速验证脚本或模型是否可以正常运行,避免浪费存储空间和时间在保存中间结果上
此外,注释部分可以切换 wandb(Weights and Biases)的记录模式到在线模式,以实时查看调试日志。当前注释状态下,wandb_mode 保持原始的 offline 配置,以减少调试期间的外部依赖
echo -e "\033[33mDebug mode!\033[0m"
在终端中打印出黄色的 “Debug mode!” ,强调处于调试模式
echo:用于输出文本
-e:启用转义序列
"\033[33m":设置文本颜色为黄色(ANSI 转义序列)
"\033[0m":重置文本样式(返回到默认颜色)
然后就,重要的事情说三次......
5 切换目录并设置环境变量
cd Improved-3D-Diffusion-Policyexport HYDRA_FULL_ERROR=1
export CUDA_VISIBLE_DEVICES=${gpu_id}
切换到项目目录以执行训练脚本
配置环境变量以启用完整错误跟踪(HYDRA_FULL_ERROR),并指定用于训练的 GPU 设备
6 执行 train.py
python train.py --config-name=${config_name}.yaml \task=${task_name} \hydra.run.dir=${run_dir} \training.debug=$DEBUG \training.seed=${seed} \training.device="cuda:0" \exp_name=${exp_name} \logging.mode=${wandb_mode} \checkpoint.save_ckpt=${save_ckpt} \task.dataset.zarr_path=$dataset_path
--config-name:yaml 配置文件名
task:任务名
hydra.run.dir:Hydra 输出目录
training.debug:调试模式标志
training.seed:设置随机种子以确保可重复性
training.device:选择 GPU 设备
exp_name:指定实验名称,用于日志记录
logging.mode:配置 wandb 日志模式
checkpoint.save_ckpt:是否保存模型检查点
task.dataset.zarr_path:数据集路径
相关文章:
iDP3复现代码模型训练全流程(一)——train_policy.sh
iDP3 核心脚本包括三个:deploy_policy.sh、vis_dataset.sh、train_policy.sh,分别代表了部署、预处理和训练,分别作为对应 py 脚本的参数设置前置环节 训练环节仅需运行指令: # 3d policy bash scripts/train_policy.sh idp3 gr1…...
重温设计模式--单例模式
文章目录 单例模式(Singleton Pattern)概述单例模式的实现方式及代码示例1. 饿汉式单例(在程序启动时就创建实例)2. 懒汉式单例(在第一次使用时才创建实例) 单例模式的注意事项应用场景 C代码懒汉模式-经典…...
【人工智能】Python中的机器学习管道:如何用scikit-learn构建高效的ML管道
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在机器学习项目中,数据预处理、特征工程、模型训练与评估是不可或缺的环节。随着项目规模的扩大和复杂度的增加,手动管理这些步骤不仅繁琐…...
Redis存在安全漏洞
Redis是美国Redis公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值(Key-Value)存储数据库,并提供多种语言的API。 Redis存在安全漏洞。攻击者利用该漏洞使用特制的Lua脚本触发堆栈缓冲区溢出漏洞,从…...
Scala图书管理系统
项目创建并实现基础UI package org.appimport scala.io.StdInobject Main {def main(args: Array[String]): Unit {var running truewhile (running) {println("欢迎来到我的图书管理系统,请选择")println("1.查看所有图书")println("2…...
【数据可视化案列】白葡萄酒质量数据的EDA可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
Postman接口测试:全局变量/接口关联/加密/解密
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 全局变量和环境变量 全局变量:在postman全局生效的变量,全局唯一 环境变量:在特定环境下生效的变量,本环境内唯一 …...
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
一、vueelementui实现下拉表格多选搜索1.0 二、vueelementui实现下拉表格多选搜索分页回显全选2.0 在1.0的基础上,终于可以实现在下拉框表格分页的前提下不同页码的回显辣,分页是前端来分页的(代码略乱且没有封装还很长,随便看看…...
电商系统-产品经理
电视产品经理的工作体系: 产品经理的分类与职责 C端产品经理:面向个人用户,关注用户体验和产品易用性B端产品经理:面向企业客户,注重功能完整性和商业价值专业方向细分: 用户产品经理:专注用户…...
《庐山派从入门到...》PWM板载蜂鸣器
《庐山派从入门到...》PWM板载蜂鸣器 配置PWM模块控制板载无源蜂鸣器播放【一闪一闪亮晶晶】播放do re mi 《庐山派从入门到...》PWM控制无源蜂鸣器 PWM(Pulse Width Modulation,脉宽调制)是一种在嵌入式系统中常用的技术,它可以用…...
【河南新标】豫财预〔2024〕105号-《关于省级政务信息化建设项目支出预算标准的规定》-费用标准解读系列29
2024年12月3日,河南省财政厅发布了《关于省级政务信息化建设项目支出预算标准的规定》豫财预〔2024〕105号。《关于省级政务信息化建设项目支出预算标准的规定 (试行)》(豫财预 〔2020〕81号)同时废止。新的豫财预〔20…...
【数据结构】数据结构整体大纲
数据结构用来干什么的?很简单,存数据用的。 (这篇文章仅介绍数据结构的大纲,详细讲解放在后面的每一个章节中,逐个击破) 那为什么不直接使用数组、集合来存储呢 ——> 如果有成千上亿条数据呢ÿ…...
【C++基础】09、结构体
一、结构体(struct) C/C 数组允许定义可存储相同类型数据项的变量,但是结构体是 C 中另一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。 结构体用于表示一条记录,假设现在想要跟踪图书馆中书本的动态,可能需要跟踪每…...
大恒相机开发(2)—Python软触发调用采集图像
大恒相机开发(2)—Python软触发调用采集图像 完整代码详细解读和功能说明扩展学习 这段代码是一个Python程序,用于从大恒相机采集图像,通过软件触发来采集图像。 完整代码 咱们直接上python的完整代码: # version:…...
QT的前景与互联网岗位发展
qt是用来干什么的 --》桌面应用开发(做电脑的应用程序,面对客户端)。 主要用于开发跨平台的应用程序和用户界面(UI)。它是一个全面的C库集合,提供了构建软件应用所需的各种工具和功能。 客户端开发的重…...
青藤入选工信部“2024年网络安全技术应用典型案例拟支持项目名单”
近日,工业和信息化部公示了“2024年网络安全技术应用典型案例拟支持项目名单”,青藤云安全联合某股份制银行共同申报的主机威胁狩猎平台项目凭借其技术先进性及行业示范性成功入选。 网络安全技术应用试点示范工作是由工业和信息化部、国家互联网信息办公…...
NVIDIA GPU 内部架构介绍
NVIDIA GPU 架构 NVIDIA GPU 的 SM(Streaming Multiprocessor) 和 GPC(Graphics Processing Cluster) 是 GPU 架构中的关键组成部分。它们决定了 GPU 的计算能力和性能,以下是对这两个参数的详细介绍: 1. …...
重温设计模式----装饰模式
文章目录 装饰模式定义UML 图其主要优点包括:装饰模式的主要角色有:C 代码示例总结 装饰模式定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式必生成子类更加灵活 装饰模式(Decorator Pattern&…...
第十六章 C++ 字符串
C 字符串 C 提供了以下两种类型的字符串表示形式: C 风格字符串C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 null 字符 终止的一维字符数组。因此,一个以 null 结尾的…...
MySQL中Seconds_Behind_Master是怎么计算的
目录 1.Seconds_Behind_Master计算方式2.Seconds_Behind_Master 计算方式会存在什么问题3.更好的方式3.1 实现方法3.2 优点在MySQL中,Seconds_Behind_Master是一个用于表示从库(Slave)落后于主库(Master)的时间(以秒为单位)的指标。 1.Seconds_Behind_Master计算方式 其…...
前端使用AI试水报告读
1 实用案例 1.1 表格样式生成 本示例用于生成包含富文本样式与单元格背景色的Word表格文档。 模板内容: 渲染代码: # python-docx-template/blob/master/tests/comments.py from docxtpl import DocxTemplate, RichText # data: python-docx-template/bl…...
HsMod终极指南:如何让炉石传说体验提升300%
HsMod终极指南:如何让炉石传说体验提升300% 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 如果你是一位炉石传说玩家,是否曾经为漫长的动画等待、繁琐的开包操作或…...
效率对比:OpenClaw原生操作vsQwen3.5-9B增强版任务执行
效率对比:OpenClaw原生操作vsQwen3.5-9B增强版任务执行 1. 测试背景与实验设计 去年在开发个人自动化工作流时,我遇到了一个经典困境:某些任务用传统脚本就能完成,但面对需要认知判断的环节又不得不引入大模型。OpenClaw恰好提供…...
ZYNQ PS端FFT加速实战:在Xilinx SDK中集成CMSIS-DSP库
1. 为什么要在ZYNQ PS端实现FFT加速? 在嵌入式信号处理领域,快速傅里叶变换(FFT)是最基础也是最关键的算法之一。很多工程师第一次接触ZYNQ平台时,往往会优先考虑使用PL端的FFT IP核来实现加速。但实际项目中ÿ…...
别再数据线了!用FastAPI 分钟搭个局域网文件+剪贴板神器颂
为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...
算法岗正在分化:谁在做模型谁在做应用
你这个问题,我先给个结论,一个可能会让你有点意外但绝对是现实的结论:你遇到的情况,不是特例,而是正在迅速成为行业的主流和新常态。你实习干的活,很有可能就是未来几年大多数“AI工程师”或者“算法工程师…...
FasterRCNN训练完别急着关!用predict.py批量预测并保存结果的完整配置指南
FasterRCNN模型预测实战:从批量推理到结果保存的全流程解析 当你终于完成FasterRCNN模型漫长的训练过程,看着损失曲线平稳下降,验证集指标达到预期,那种成就感不言而喻。但很多开发者在这里犯了一个常见错误——直接关闭项目转向下…...
革新性动物森友会存档编辑工具:NHSE全流程定制指南
革新性动物森友会存档编辑工具:NHSE全流程定制指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE(Animal Crossing: New Horizons save editor)是一款专业…...
Linux内核中的实时调度器详解
Linux内核中的实时调度器详解 引言 实时调度器是Linux内核中负责调度实时任务的重要组件,它确保实时任务能够在规定的时间内完成,满足实时系统的时间约束。Linux内核支持多种实时调度策略,包括SCHED_FIFO、SCHED_RR和SCHED_DEADLINEÿ…...
C# 面试高频题:装箱和拆箱是如何影响性能的?下
OCP原则 ocp指开闭原则,对扩展开放,对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则(DIP) 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程, 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...
