依頼135 報告:deep1 の実機推論の安全範囲を50本から作る・次の学習から学習率の下げ方をステップ数に合わせる (2026-11-09) 実機は動かしていない。Pod・lab_train.sh pid 8808・KIOXIA の lab/Log27/train/ には触っていない。 ■ 1. 安全範囲 (決め1) lab_start.sh で --model deep1 (と新しい deep1b) のときは、run_policy_client.py --raw-dir を /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_deep_even10_v1/raw_episodes にした。 trim・corr・corr2・corr3 は今までどおり trim2。位置合わせ (camera_align.py) のお手本はどのモデルも trim2 のまま。 起動時に「[RANGE ] 安全範囲 (学習データ ±10°) は ... から」を出す。deep のデータがなければ API を呼ぶ前に止まる。 範囲 (run_policy_client.py の load_envelope と同じ計算。データの最小・最大 ±10° を物理可動域・J4_SAFE・J1_SAFE_MAX で切る) deep1 (deep_even10_v1 50本・7128行) trim2 (19本・2717行) 関節 データ範囲 安全範囲 データ範囲 安全範囲 j0 -61.7〜+44.7 -71.7〜+54.7 -61.7〜+44.7 -71.7〜+54.7 j1 +1.2〜+87.9 -8.8〜+88.0 +1.3〜+87.9 -8.7〜+88.0 (上限は J1_SAFE_MAX 88°) j2 -34.5〜+42.5 -44.5〜+52.5 -35.7〜+31.4 -45.7〜+41.4 j3 -7.8〜+17.0 -17.8〜+27.0 -7.8〜+17.0 -17.8〜+27.0 j4 -76.6〜 +0.4 -86.6〜+10.4 -88.2〜 +0.4 -90.0〜+10.4 (下限は J4_SAFE -90°) j5 -40.7〜-25.3 -50.7〜-15.3 -40.6〜-23.6 -50.6〜-13.6 違い:j2 の上限が +11.1° 広い (+41.4 → +52.5)。j4 の下限は 3.4° 狭い (-90.0 → -86.6)。j5 の上限は 1.7° 狭い。j0・j3 は同じ。 ■ 2. 学習率の下げ方 (決め2) - add_deep_config.py に --variant (必須) を足した。 v1 = 設定 pi05_mecharm_deep_even10_lora・decay_steps 5_000 (依頼133 の今回の 2999。中身は変えていない) b = 設定 pi05_mecharm_deep_even10_b_lora・decay_steps = --steps (warmup 300・peak 5e-5・decay_lr 5e-6 は同じ) decay_steps が warmup 300 以下なら止まる。v1 と b は名前が違うので同じ config.py に両方入れられる。 - pod_prep_deep.sh は を取る (v1/b 以外なら tar を見る前に止まる)。 - lab_lib.sh / lab_train.sh:新しいモデル名 deep1b を足した (上げる先 PixelstoMotors/pi05-mecharm-deep-even10-b-lora-v1、 KIOXIA の checkpoints/pi05_mecharm_deep_even10_b_lora_v1/<ステップ>、exp deep_even10_v1_b、Pod の /workspace/ckpt/deep_b_v1_2999)。 lab_train.sh --model deep1b --steps N で decay_steps = N。 - 今回のモデル (deep1) の扱い:設定の名前 pi05_mecharm_deep_even10_lora = decay_steps 5000 として残す。 lab_start.sh --model deep1 は今までどおり deep_v1_2999 を立てる (3f は add_deep_config.py --steps 3000 --variant v1)。 lab_train.sh --model deep1 で新しく学習しようとすると止まって deep1b を案内する (同じ置き場所・リポジトリに別の下げ方の モデルが上書きされるのを防ぐため)。--stop (記録の model=deep1) はそのまま使える。 - 由来 (train_provenance.json) の config に lr_schedule {warmup_steps 300, peak_lr 5e-5, decay_steps, decay_lr 5e-6, source "add_deep_config.py --variant v1|b"} を足した (deep1・deep1b だけ。corr〜corr3 には足さない)。 ※いま動いている学習は前のコードで動いているので、その由来には lr_schedule は入らない。 見分けは config.name = pi05_mecharm_deep_even10_lora (= decay_steps 5000) で行う。 - corr〜corr3 の続きの学習の設定は変えていない。 ■ 3. テスト - test_lab_train.sh:OK 240 / NG 0 (deep1b の成功・--steps 2000 で decay 2000・--steps 300 は止まる・deep1 の新しい学習は止まる・ --stop の deep1 は decay 5000 で由来を書く・corr3 の由来に lr_schedule なし・正規化の値の失敗 3 種を deep1b で) - test_lab_start.sh:OK 172 / NG 0 (deep1 の --raw-dir が deep_even10_v1・trim は trim2・deep のデータがなければ止まる・ corr3 は deep のデータがなくても trim2 で進む・deep1 は --variant v1 で 2999 を立てる・deep1b の流れ) - pi05/test_merge_and_config.py:34 件 OK (v1 は trim と同じ decay 5000・b は decay = ステップ数 (3000/2000)・ --variant 必須・decay ≤ 300 は止まる・書き換えられた decay は止まる・pod_prep_deep.sh は知らない variant で先に止まる) ■ 4. codex 1 回。指摘なし (安全範囲・deep1 の残し方・deep1b の区別・いまの学習に影響しないことを確認したとの答え)。 (1 回目の最初の起動は標準入力待ちで止まったので、標準入力を閉じて流し直した。数に入れていない) ■ 5. commit 6715f5e (変えたファイルだけを指定して add) ■ 6. いまの学習に影響がなかったことの確かめ - lab_train.sh は main の中身を始めに読み、lab_lib.sh は始めに source 済み。pi05/ は 3a で Pod へ送り済み、4b (pod_prep_deep.sh) も済み。 終わりに Mac 側で読み直すのは provenance.py だけ (変えていない)。コードの指紋は始める時点で測れている (「測れなかった」の WARN なし)。 - pid 8808 は動いている。lab_train_20261109_153622.txt の最後の行: [TRAIN ] 17:55 step 1060/3000 loss 0.0069 (Step 1050 の行) 経過 2:11 上限まで 4:40 (作業前 17:25 は step 806/3000。5 分おきに進んでいる) ■ 決めてほしいこと 1. 新しいモデルの名前:deep1b・設定 pi05_mecharm_deep_even10_b_lora・Hugging Face PixelstoMotors/pi05-mecharm-deep-even10-b-lora-v1 (非公開で上げる) にした。これでよいか。 2. deep1 の安全範囲は j2 の上限が trim2 より +11.1° 広い (+52.5°)。実機で deep1 を動かす前に、この広がりで良いか確かめてほしい。 3. run_policy_client.py は写り方の確かめの基準画像も --raw-dir の最初のエピソードから取る。deep1・deep1b では基準が deep_even10_v1 の最初の本 (pi05_20261031_175527) になる (lab_start.sh は --ignore-framing を付けているので止まらず警告だけ)。位置合わせ (camera_align.py) は trim2 のまま。これでよいか。 4. lab_start.sh --model deep1b はステップ数 3000 (2999) を前提にしている。deep1b を別のステップ数で学習するときは lab_lib.sh の LAB_DEEP1B_STEPS も合わせて変える必要がある。 判定:止めた(決めてほしいことあり)