模板: RoArm AI Kit 训练
7. 训练
- 注意:以下操作均在容器内执行
- 注意:需要进入到 lerobot 目录下执行以下代码
7.1 参数说明
可根据实际需求适当调整以下参数
--policy.type:使用什么模型进行训练,基础先使用act。 --local_files_only: 是否使用本地数据进行训练,默认是true,代表使用。 --wandb.enable:是否启用 wandb 平台,上传训练日志,默认是false,代表不使用。 --resume: 是否恢复训练,true,代表使用。 --config_path: 如果恢复训练则需要提供训练参数文件的地址,如 "/home/ws/lerobot/outputs/train/act_roarm_m3_test/checkpoints/last/pretrained_model/train_config.json"
如果你通过 --control.push_to_hub=true 将数据集上传到了 Hugging Face Hub,可以通过在线拉取你的数据集在别的设备上进行训练。
7.2 训练数据集准备
7.2.1 压缩
如果未上传数据到 hub 上,需要打包数据集用于后续的训练,数据集的保存位置,以"/root/.cache/huggingface/lerobot"为例:
tar czvf roarm_m3_datasets.tar.gz /root/.cache/huggingface/lerobot
接着,选中文件,下载到本地。
7.2.2 解压
选中文件,上传到训练环境的 root 目录。
将打包后的数据集放置到进行训练的容器内,进入到根目录,解压到"/root/.cache/huggingface/lerobot":
cd /root/../ && tar xzvf /root/roarm_m3_datasets.tar.gz
7.3 Windows 系统本地 GPU 训练
- 注意:Windows 系统本地 GPU 需要是英伟达。
7.3.1 训练环境搭建
在 Windows 系统上,使用docker desktop,使用我们配置好 LeRobot 环境的 Ubuntu 22.04 镜像RoArm-M3-AI-Kit-GPU-x86_64,无需自行再进行环境的安装配置。
docker load -i RoArm-M3-AI-Kit-GPU-x86_64.tar
使用镜像,创建容器,其中"--shm-size=4g",可根据系统上的空闲 GPU 容量进行分配。
docker run --gpus all -it -p 2200:22 -p 9090:9090 --shm-size=4g --ulimit memlock=-1 --ulimit stack=67108864 --env NVIDIA_DRIVER_CAPABILITIES=all -w /home/ws/lerobot --name lerobot dudulrx0601/lerobot_gpu
接着,进入到容器后,开启远程登陆。
service ssh start
使用 MobaXterm 远程登陆到本地的容器内。
进入到 lerobot 目录。
cd /home/ws/lerobot
如果之前没有选择上传数据集,可以在浏览器中打开 http://127.0.0.1:9090 在本地可视化数据集,确认是否是需要进行训练的数据集:
python lerobot/scripts/visualize_dataset_html.py \
--repo-id ${HF_USER}/roarm_m3_test \
--host 0.0.0.0
7.3.2 训练
使用英伟达 GPU 进行本地数据集的训练:
python lerobot/scripts/train.py \
--dataset.repo_id=${HF_USER}/roarm_m3_test \
--policy.type=act \
--output_dir=outputs/train/act_roarm_m3_test \
--job_name=act_roarm_m3_test \
--local_files_only=true\
--wandb.enable=false
7.4 Jetson Orin 系统本地 GPU 训练
在 Ubuntu 系统上,使用我们配置好 LeRobot 环境的 Ubuntu 22.04 镜像[RoArm-M3-AI-Kit-GPU-arm64],无需自行再进行环境的安装配置。
使用 Jetson Orin GPU 进行本地数据集的训练:
python lerobot/scripts/train.py \
--dataset.repo_id=${HF_USER}/roarm_m3_test \
--policy.type=act \
--output_dir=outputs/train/act_roarm_m3_test \
--job_name=act_roarm_m3_test \
--local_files_only=true\
--wandb.enable=false
7.5 云平台 GPU 训练
- 以下使用 AutoDL 平台,使用上传过去的本地数据集进行训练。
7.5.1 训练环境搭建
首先,注册 AutoDL 平台账号并登录。
接着,根据创建实例,建议镜像使用"PyTorch/ 2.5.1/3.12(ubuntu22.04)/ 12.4" 推荐的完整具体参数如下所示。
创建完实例后,将实例开机,复制登录指令和密码,使用 MobaXterm 进行远程登陆。
登录指令格式解释:
ssh -p port user@ip
远程登陆到服务器后,下载 LeRobot 项目。
git clone https://github.com/DUDULRX/lerobot.git
进入 lerobot 目录,安装依赖项(此步需要等待一段时间)。
cd lerobot && pip install -e ".[roarm]"
7.5.2 训练
使用上传过去的本地数据集进行训练:
python lerobot/scripts/train.py \
--dataset.repo_id=${HF_USER}/roarm_m3_test \
--policy.type=act \
--output_dir=outputs/train/act_roarm_m3_test \
--job_name=act_roarm_m3_test \
--local_files_only=true\
--wandb.enable=false
