autowzry-agent

快速开始指南

本指南介绍如何使用QMobaAgent (autowzry-agent)进行数据收集、标记、训练和对战。


前置准备

1. 克隆项目

git clone https://github.com/yourusername/autowzry-agent.git
cd autowzry-agent

2. 安装包

# 安装项目包(开发模式)
pip install -e .

重要:这一步会自动安装所有依赖(torch、numpy、h5py、opencv-python等),并将qmoba_agent包安装到Python环境中。使用-e参数意味着代码修改会立即生效,非常适合开发和调试。

3. 配置文件说明

本项目使用两种配置文件:

在线模式需要配置autowzry配置文件,编辑 config/config.device.yaml

LINK_dict:
  0: Android:///127.0.0.1:5555  # 修改为你的设备地址

离线模式不需要设备配置,可以直接使用视频文件进行训练。

详细配置说明见后文”配置文件”部分。


完整训练流程

步骤1:收集数据

方式1:从视频收集(离线模式,推荐)

python scripts/collect_from_video.py --video workspace/videos/1.mp4 --interval 1.0 --max-frames 400 --output workspace/episodes/data1.hdf5

参数说明:

方式2:从设备收集(在线模式)

python scripts/collect_from_device.py --interval 1.0 --max-frames 50 --output workspace/episodes/data2.hdf5

参数说明:

输出:生成HDF5文件,例如 workspace/episodes/data1.hdf5workspace/episodes/data2.hdf5


步骤1.5:提取指定帧范围(可选)

如果收集的数据包含开头无效帧,可以提取指定帧范围:

python scripts/extract_data.py --file workspace/episodes/data1.hdf5 --frame-range 2 376

参数说明:

输出:自动生成新文件名 workspace/episodes/data1_F2_E376.hdf5

特点


步骤2:标记数据

为收集的数据添加action和state标签:

python scripts/label_data.py --file workspace/episodes/data1_F2_E376.hdf5

参数说明:

输出:HDF5文件中添加 state_*, action_* 字段

注意:enabled_states 和 enabled_actions 从配置文件读取,默认为:


步骤3:训练模型

使用标记好的数据训练模型:

python scripts/train.py --files workspace/episodes/data1_F2_E376.hdf5 workspace/episodes/data2.hdf5

参数说明:

输出:模型保存到 workspace/checkpoints/model_mini.pth(mini模式)或 model_full.pth(full模式)


步骤4:模型测试与对战

方式1:离线测试(使用视频)

python scripts/battle.py --model workspace/checkpoints/model_mini.pth --video workspace/videos/1.mp4 --max-steps 50 --interval 1.0 --record-interval 1 --output workspace/episodes/battle_record.hdf5

方式2:在线对战(连接设备)

python scripts/battle.py --model workspace/checkpoints/model_mini.pth --max-steps 50

参数说明:

按 Ctrl+C 停止

录制说明


【Debug测试用】检查Buffer数据

用于验证TrainingBuffer是否正确加载数据,检测异常reward值。非必需步骤,仅在调试时使用。

python scripts/check_buffer.py --files workspace/episodes/data1_F2_E376.hdf5 workspace/episodes/data2.hdf5

参数说明:

功能:


开发者工具

端到端自动化测试

test_pipeline.py 用于自动化测试完整训练流程,适合开发调试使用。

python scripts/test_pipeline.py --video workspace/videos/1.mp4 --max-frames 100 --epochs 10

参数说明:

功能:自动执行6个步骤

  1. 从视频收集数据
  2. 标记数据(动作+奖励)
  3. 提取数据子集
  4. 检查buffer数据
  5. 训练模型
  6. 测试模型(离线)

输出目录workspace/test_pipeline/

注意:这是开发调试工具,普通用户不需要使用。


配置文件

本项目使用两种配置文件:

agent配置文件 (config/agent.config.yaml)

用途:本项目的训练配置,包含训练参数、buffer设置、模型配置等。

生成默认配置:

python config/config.py

配置文件包含

详细配置说明见 config/agent.config.yaml 文件内的注释。

autowzry配置文件 (config/config.device.yaml)

用途:图像识别库的设备连接配置,仅在线模式需要。

配置示例:

LINK_dict:
  0: Android:///127.0.0.1:5555  # 设备连接地址

# 其他autowzry相关配置...

说明