robomimic应用教程(一)——模型训练

Robomimic使用集中式配置系统来指定所有级别的(超)参数

本文介绍了配置(推荐)和启动训练运行的两种方法

目录

一、使用config json(推荐)

二、在代码中构造一个配置对象

三、查看运行结果

1. 实验结果会存在一个固定文件夹中,可以设置存储位置:

2. 可以设置展示方式:

3. 可以设置存储方式:

4. 可以设置评估执行过程及视频存储:

5. 可以设置Tensorboard可视化:

6. 设置wandb可视化


一、使用config json(推荐)

指定训练参数的首选方法是通过--config参数将config json传递给主训练脚本train.py

数据集可以通过设置config json的train部分的data属性来指定,也可以通过--dataset参数来指定

下面的示例为BC算法运行一个默认模板json。这是开展训练的首选方式

python train.py --config ../exps/templates/bc.json --dataset ../../tests/assets/test_v141.hdf5

生成json配置以启动训练运行,可参考超参数助手教程

更多实战过程可参考Dexcap运行逻辑专题内容

二、在代码中构造一个配置对象

启动训练运行的另一种方法是创建默认配置,例如config = config_factory(algo_name="bc")

在python代码中修改配置,然后调用训练函数,就像在examples/train_bc_rnn.py脚本中一样。

import robomimic
import robomimic.utils.torch_utils as TorchUtils
from robomimic.config import config_factory
from robomimic.scripts.train import train# make default BC config
config = config_factory(algo_name="bc")# set config attributes here that you would like to update
config.experiment.name = "bc_rnn_example"
config.train.data = "/path/to/dataset.hdf5"
config.train.output_dir = "/path/to/desired/output_dir"
config.train.batch_size = 256
config.train.num_epochs = 500
config.algo.gmm.enabled = False# get torch device
device = TorchUtils.get_torch_device(try_to_use_cuda=True)# launch training run
train(config, device=device)

三、查看运行结果

使用第一种方法指定训练参数,就可以在config.json脚本文件中配置相关设置,定义及查看训练运行的结果

1. 实验结果会存在一个固定文件夹中,可以设置存储位置:

data

可以在<train.output_dir>/<experiment.name>/<date>实验目录文件夹下查看训练结果:

实验目录文件夹内部格式是固定的:

config.json               # config used for this experiment
logs/                     # experiment log fileslog.txt                    # terminal outputtb/                        # tensorboard logswandb/                     # wandb logs
videos/                   # videos of robot rollouts during training
models/                   # saved model checkpoints

2. 可以设置展示方式:

logging

"logging": {# save terminal outputs under `logs/log.txt` in experiment folder"terminal_output_to_txt": true,# save tensorboard logs under `logs/tb` in experiment folder"log_tb": true# save wandb logs under `logs/wandb` in experiment folder"log_wandb": true
},

3. 可以设置存储方式:

save

比如every_n_epochs定义了每多少轮存储一次

"save": {# enable saving model checkpoints"enabled": true,# controlling frequency of checkpoints"every_n_seconds": null,"every_n_epochs": 50,"epochs": [],# saving the best checkpoints"on_best_validation": false,"on_best_rollout_return": false,"on_best_rollout_success_rate": true
},

4. 可以设置评估执行过程及视频存储:

rollout
"rollout": {"enabled": true,              # enable evaluation rollouts"n": 50,                      # number of rollouts per evaluation"horizon": 400,               # number of timesteps per rollout"rate": 50,                   # frequency of evaluation (in epochs)"terminate_on_success": true  # terminating rollouts upon task success
}

视频存储配置模块:

render_video

要存储视频,则设置为true

5. 可以设置Tensorboard可视化:

在实验目录文件夹中、打开终端、激活环境、并输入:

tensorboard --logdir logs --bind_all

实验结果(y轴)是根据epochs(x轴)记录的。关键的日志指标包括:

Rollout/:评估的任务成功率、奖励等,Rollout/Success_Rate/{envname}-max:最大成功率随时间变化

Timing_Stats/:算法执行加载、训练和回滚等操作所消耗的时间

Train/:训练数据

Validation/:验证数据

System/RAM Usage (MB):系统内存使用情况

6. 设置wandb可视化

此外,可以通过wandb查看结果,类似于tensorboard(UMI中使用的wandb),需配置log_wandb为True

首次登录wandb,需要登录账号(自己提前注册)

robomimic/macros_private.py中将WANDB_ENTITY设置为wandb账户名

Note:如果该文件不存在,运行python robomimic/scripts/setup_macros.py来设置private macros file

默认情况下,所有结果将记录在名为default的wandb项目下

可以通过设置配置文件中的wandb_proj_name更改

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

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

相关文章

嵌入式入门小工程

此代码基于s3c2440 1.点灯 //led.c void init_led(void) {unsigned int t;t GPBCON;t & ~((3 << 10) | (3 << 12) | (3 << 14) | (3 << 16));t | (1 << 10) | (1 << 12) | (1 << 14) | (1 << 16);GPBCON t; }void le…

如何精准高效做好网站安全防护?一文解读

企业数字化转型过程中&#xff0c;难免会受到多种网络安全威胁带来的负面影响。比如攻击者通过利用Web服务程序以及网站系统的安全漏洞&#xff0c;对企业进行数据窃取等破坏活动&#xff0c;严重损害企业利益。如何精准高效做好网站安全防护&#xff1f;相信本文会为你带来启发…

心觉:保持感恩的心,为什么可以吸引更多好机会和财富

​Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作176/1000天 保持一颗感恩的心&#xff0c;就可以吸引更多的机会和财富 很多人可能不理解&#xff0c;但是这是事实 千正万确的…

armbian debian 系统安装overlayroot后无法启用

千盼万盼 终于debian12可以用了 它终于也跟ubuntu 系统一样可以安装overlayroot了 但是 满怀欣喜的装完了发现 压根没法启动 这。。。。。 原因吗 也简单。。。 默认的映像里没有busybox......... 而它有这个要求。。。 overlayroot 包中有一个小错误&#xff1a;它要求 gr…

Java基础(上)

Java基础&#xff08;上&#xff09; 基础概念与常识 Java语言有哪些特点&#xff1f; 简单易学&#xff08;语法简单&#xff0c;上手容易&#xff09;面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;平台无关性&#xff08;Java虚拟机实现平台无关…

黑群晖安装教程

黑群晖&#xff08;一种非官方的群晖NAS系统安装方式&#xff09;的安装教程相对复杂&#xff0c;但按照以下步骤操作&#xff0c;可以顺利完成安装。请注意&#xff0c;由于黑群晖涉及非官方操作&#xff0c;安装过程中可能遇到各种不确定因素&#xff0c;建议具备一定的计算机…

AI智能跟踪技术核心!

1. 目标检测技术 在视频序列的第一帧中&#xff0c;通过目标检测算法确定要追踪的目标对象的位置和大小。 技术实现&#xff1a;目标检测算法可以基于传统的图像处理技术&#xff0c;如颜色、纹理、形状等特征&#xff0c;也可以基于深度学习方法&#xff0c;如卷积神经网络&…

Wireshark学习使用记录

wireshark 是一个非常好用的抓包工具&#xff0c;使用 wireshark 工具抓包分析&#xff0c;是学习网络编程必不可少的一项技能。 原理 Wireshark使用的环境大致分为两种:一种是电脑直连互联网的单机环境&#xff0c;另外一种就是应用比较多的互联网环境&#xff0c;也就是连接…

Android SystemUI组件(07)锁屏KeyguardViewMediator分析

该系列文章总纲链接&#xff1a;专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节持续迭代之前章节的思维导图&#xff0c;主要关注左侧上方锁屏分析部分即可。 为了更好理解本文的内容&#xff0c;优先说明下SystemUI中与Ke…

虚拟机VMware安装+centos8

1、安装虚拟机 这里以VMware-workstation-full-14.1.1-7528167.exe为例进行安装虚拟机。 注意win11&#xff0c;不能安装14的版本&#xff0c;新建虚拟机打开会崩的。建议换成16版本的。 此处安装的为centos7版本&#xff0c;双击就可以开始安装了。 选择下一步 勾选我接受&a…

【电路笔记】-运算放大器积分器

运算放大器积分器 文章目录 运算放大器积分器1、概述2、运算放大器积分器的表示2.1 理想积分器2.2 交流响应2.3 输出公式3、限制4、总结1、概述 在我们之前与运算放大器相关的大多数文章中,配置都是基于带有电阻器作为反馈环路、分压器或互连许多运算放大器的一部分的放大器。…

C++入门(03)萌新问题多(二)

文章目录 1. VS2022 控制台输出中文时&#xff0c;变成了一堆“&#xff1f;”1.1 字体、语言设置1.2 在程序中指定控制台编码1.3 修改注册表&#xff08;只能说试试吧&#xff09; 1. VS2022 控制台输出中文时&#xff0c;变成了一堆“&#xff1f;” 问题如下&#xff0c;Vi…

linux cat命令的实现

cat 是 Linux 和其他 Unix-like 系统中的一个常用命令&#xff0c;它的名称来源于 "concatenate"&#xff08;连接&#xff09;的缩写。cat 命令主要用于查看、创建和拼接文件。它读取一个或多个文件的内容&#xff0c;并将它们显示在标准输出&#xff08;通常是终端…

(done) 声音信号处理基础知识(4)

来源&#xff1a;https://www.youtube.com/watch?vdaB9naGBVv4 模拟信号特点如下 时域连续(x轴) 振幅连续(y轴) 如下是模拟信号的一个例子&#xff1a; 数字信号特点如下&#xff1a; 一个离散值序列 数据点的值域是一系列有限的值 ADC&#xff1a;模拟信号到数字信号的…

【优选算法之双指针】No.2--- 经典双指针算法(下)

文章目录 前言一、双指针示例&#xff1a;1.1 ⽔果成篮1.2 和为s的两个数字1.3 三数之和1.4 四数之和 二、双指针总结&#xff1a; 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到我的乱七八糟小星球&#x1f31d; &#x1f4cb;专…

刷题训练之字符串

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练掌握字符串算法。 > 毒鸡汤&#xff1a;学习&#xff0c;学习&#xff0c;再学习 ! 学&#xff0c;然后知不足。 > 专栏选自&#xff1a;刷题…

SQL Server 2022的数据类型

新书速览|SQL Server 2022从入门到精通&#xff1a;视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) 数据类…

5. 数字证书与公钥基础设施

5. 数字证书与公钥基础设施 (1) PKI 的定义、组成及应用 PKI(Public Key Infrastructure,公钥基础设施) 是一个使用公钥技术来提供安全服务的框架。它定义了如何管理和维护公钥,以及如何通过证书来验证公钥的真实性。PKI的核心组成部分包括: 证书颁发机构(CA, Certifica…

智慧校园建设解决方案建设系统简介

一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端&#xff08;管理员、教师、家长端&#xff09; 3.2.3 手机客户端&#x…

Three.js 3D人物漫游项目(中)

本文目录 前言最终效果展示1、人物添加阴影1.1 添加地板1.1.1 效果 1.2 模型castShadow1.2.1 效果 1.3 轨道控制器1.3.1 效果 2、创建建筑物2.1 代码2.2 效果 前言 在数字技术的浪潮中&#xff0c;三维图形渲染技术以其独特的魅力&#xff0c;正逐步渗透到我们生活的方方面面&a…