HumansXドキュメントセンター 公式サイトへ ↗

データ学習

学習にはより大きな計算リソースが必要です。ここでは、機器で収集したデータを USB メモリ(または外付け HDD)でコピーし、PC(またはサーバーなど)に移して学習を行います。

1. USB メモリのデータを PC の学習環境にコピーする

収集したデータを ~/.cache/huggingface/lerobot/USER に移動します。以下で具体的な手順を説明します。

1. 学習用データセットを USB メモリから PC にコピーします。

2. WSL 環境に入ります

PC のターミナルを開き(Win+R で cmd と入力)、以下の画面で wsl と入力して実行します。

2. PC 上の学習用データセットを WSL 環境のフォルダにコピーします

sudo cp -r /mnt/c/Users/13521/Desktop/so100_test3 ~/.cache/huggingface/lerobot/uni

sudo:管理者権限

cp:コピーコマンド

/mnt/c/Users/13521/Desktop/so100_test3:C ドライブ / ユーザー / PC のユーザー名 / デスクトップ / so100_test3 フォルダを表します。PC のユーザー名の部分はご自身の PC のユーザー名に置き換え、保存場所もご自身の保存場所に合わせて調整してください。

~/.cache/huggingface/lerobot/uni:保存先のパス

ls ~/.cache/huggingface/lerobot/uni

2. データ学習

1. 実行環境:上の画面のターミナルで以下のコマンドを実行します。

conda activate lerobot

2. プロジェクトフォルダに移動します

cd ~/lerobot/

3. 学習コマンドを実行します:

  1. repo id の名前はデータセット名と一致させてください。

  2. output_dir の名前は学習結果を保存するフォルダです。必要に応じて調整してください。例えば下記では 25122603 となっていますが、新たに学習する場合は別の名前に変更することを推奨します。

python lerobot/scripts/train.py \
--dataset.repo_id=uni/so100_test25122603 \
--policy.type=act \
--output_dir=outputs/train/act_so100_test25122603 \
--job_name=act_so100_test25122603 \
--policy.device=cuda \
--wandb.enable=false

パラメータの説明:

No. 名称 パラメータの説明
1 repo id データ収集時のものと一致させる必要があります
2 output_dir 学習後のモデルの保存先です。別の名前に変更することを推奨します(英字で指定)
3 job_name 学習モデルのプロジェクト名です。保存先フォルダ名と一致させてください(英字で指定)

4. 学習の完了を待ちます(4060Ti GPU で約 6.5 時間かかります)

5. 学習完了:

3. PC で学習したモデルを USB メモリにコピーする

PC 上で学習済みのファイルを探します。通常は ~/lerobot/outputs/train の下にあります。以下の操作で該当ファイルを見つけます。

ファイルを PC 上の任意の場所にコピーします。以下は D ドライブの aloha フォルダにコピーする例です。

sudo cp -r act_so100_test3.1 /mnt/d/aloha/

注意:フォルダ名は学習時の output_dir と対応させる必要があります。

続いて PC 上で該当フォルダを開きます。推論モデルは act_so100_test3.1/last/pretrained_model に保存されています。

注意:pretrained_model サブフォルダは丸ごとコピーする必要があります。

最後に pretrained_model を USB メモリにコピーし、データ収集機器に移す準備をします。