12. 跳转至

12. ACT 模型#

12.1 环境初始化#

  • 完成数据采集程序环境配置:参照数据采集,然后进入数据采集的conda环境:
conda activate airbot_data
  • 下载程序包并安装:
git clone --depth 1 https://github.com/OpenGHz/Imitate-All.git && cd Imitate-All
pip install -r requirements/train_eval.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:

后续命令要在airbot_data环境下执行!

  • 安装MMK2的SDK

    请参考4.2节安装SDK

12.2 数据采集#

请详细参照12.5.4.2 MMK2数据采集文档中步骤进行操作。

在数据采集完成后,将数据集存放在ACT模型训练程序的默认位置,您可以使用以下命令创建目录:

mkdir -p data/mcap

然后,您可以手动或使用如下命令复制数据(请注意修改命令中的路径):

cp path/to/your/task/mcap_file data/mcap

数据存放格式类似下图:

data-storage

12.3 参数配置#

在训练或推理之前 ,需要配置参数。 ./configurations/task_configs 目录下创建一个与任务同名的 Python 文件,可参考configurations/task_configs/airbots/airbot_mmk2_example.py

提示

比如任务名为mmk_stack_block_0604,则将参考文件复制到./configurations/task_configs并重命名为mmk_stack_block_0604.py

对于mmk2的不同任务而言,主要修改如下参数:

  • cameras:训练使用的相机
  • chunk_size:每次预测的动作序列的长度
  • temporal_agg:是否进行单步预测平滑
  • batch_size_train,batch_size_validate:直接影响训练效率,但是越高的batch_size对GPU硬件要求越高,对于8GB显卡一般不能超过4
  • num_epochs:训练轮数,轮数越多训练时间越长,也有机会获得更好的训练效果

12.4 模型训练#

请先完成数据集的准备和参数配置(至少需要 2 个数据实例的训练,否则会导致无法拆分训练集和验证集)。

提示

首次运行训练命令会自动下载预训练权重文件,终端无代理可能会导致下载失败,可通过此链接手动下载(复制链接到浏览器中打开):https://download.pytorch.org/models/resnet18-f37072fd.pth,或者下载下方飞书文件,然后执行如下命令将其移动到指定目录:

mkdir -p ~/.cache/torch/hub/checkpoints/ && mv resnet18-f37072fd.pth ~/.cache/torch/hub/checkpoints/。

提示

部分设备的默认路径可能不同,若移动后无效请通过终端查案实际下载路径

conda activate airbot_data
python3 policy_train.py -tn <task_name>
# eg: python3 policy_train.py -tn mmk_stack_block_0604 

参数: -tn:任务名称,需要与数据集名称和配置文件的任务名称一致。
模型: 生成的模型在./my_ckpt/<task_name>/<time_stamp>目录中。

Directory

正确运行示例:

image

12.5 模型推理#

12.5.1 激活环境#

conda activate airbot_data

12.5.2 推理#

注意

注意推理前退出遥操模式。

12.5.3 配置文件#

配置文件位于:./configurations/basic_configs/example/environment/airbot_mmk.yaml中。配置方式与数据采集类似,这里对于mmk一般需要修改的参数如下:

  • ip:MMK的ip地址
  • cameras:推理时使用的相机及其配置,数量应与训练配置文件中的保持一致。注意相机配置应保证跟实际硬件条件对齐,否则配置错误后需要重启设备进行重新配置。

12.5.4 开始推理#

12.5.4.1 模型文件#

推理会根据任务名和时间戳找到对应的模型文件,路径格式为:./my_ckpt/<task_name>/<time_stamp>

12.5.4.2 命令#

python3 policy_evaluate.py -show -cf configurations/basic_configs/example/environment/airbot_mmk.yaml -tn <task_name> -ts <timestamp> -mts <max_steps>

例如:

python3 policy_evaluate.py -cf configurations/basic_configs/example/environment/airbot_mmk.yaml -tn airbot_mmk -ts 20250910-104530 -mts 100

12.5.4.3 参数#

  • -show:显示相机图像。
  • -cf:机器人配置文件路径。
  • -tn:指定了任务名,程序将根据任务名获取对应的任务配置文件,并根据任务名和时间戳获取对应的模型文件。
  • -ts指定了模型文件的时间戳,用于获取对应的模型文件。
  • -mts:每轮推理的总步数。

提示

启动推理后终端会打印提示信息,按回车键可开始推理,需注意按键响应依赖OpenCV窗口,需鼠标点击窗口后按键才会生效。

12.6 信息查看#

策略训练后,关键信息和数据集统计信息将存储在key\_info.pkl文件和dataset\_stats.pkl中,可以使用以下步骤查看。

文件夹下激活 conda 环境:

conda activate airbot_data

然后,使用以下命令查看指定时间戳的信息:

python3 show_info.py -tn airbot_mmk -ts 20240420-214215 -in key_info

您将在终端中看到与该任务相关的关键信息,包括:

Key Information

提示

可以在模型推理前先预浏览下统计信息,检查是否存在异常值,防止模型推理过程中出现意外情况。