フィジカルAI研究室を作る Log#10 | 位置を変えたお手本で、Physical Intelligence の π0.5 を学習し直した

机の上の小さなロボットアームに「赤いブロックを白い箱に入れる」動きを覚えさせている AI が、ブロックを見ていませんでした。お手本の動きを19回分見せて学習させたところ、ブロックをどこに置いても、アームは毎回ほぼ同じ場所へ手を伸ばしていました。原因はお手本のほうで、19回ともブロックをほぼ同じ場所に置いて録っていたからです。AI から見ると「いつもの場所に手を伸ばせば正解」で、カメラに映るブロックの位置を見る必要がありませんでした。

そこで、ブロックの置き場所を5か所に変えて、お手本を19回分録り直しました。ブロックをつかむ瞬間のアームの土台の向きは、前回の19回が −42°〜−28° の範囲に収まっていたのに対し、今回は −62°〜+13° に広がっています。この回は、その新しいお手本で AI を学習し直した記録です。使った AI は、米国の Physical Intelligence 社が公開しているロボット用のモデル π0.5(パイレイテンゴ)です。カメラの画像と指示文を受け取って、関節をどう動かすかを返します。手元のアーム mechArm 270(関節6つの小型アーム)で録ったお手本を使って、追加で学ばせています(ファインチューニング)。

学習は4,000回分の練習(ステップ)を、7時間55分かけて行いました。お手本の動きとの差を表す数字(loss)は 0.0858 から 0.0037 まで下がりました。前回、ほぼ同じ場所のお手本で学習したときと並べると、1,000ステップで 0.0078 と 0.0082、3,000ステップで 0.0047 と 0.0047 で、ほとんど同じ下がり方です。loss はお手本をどれだけまねできたかの数字なので、ブロックの位置に合わせて手を伸ばすようになったかは、この数字からは分かりません。 それは次に、実機のアームで確かめます。

学習そのものより時間がかかったのは、GPU(学習に使う計算用の部品)を借りるところでした。Runpod というサービスで、前回と同じ A40 を時間単位で借りようとしたところ、朝6時半から空きがありませんでした。別の種類の GPU も、一覧に「空いている」と出ているのに、押すと「もうありません」と返ってきます。結局、「空いたら自動で起動する」予約を入れて待ち、起動したのは11時ごろでした。

やったことなぜ結果
学習の設定を、新しいお手本用に別の名前で足した
前回の学習と、正規化の統計や保存先が混ざらないようにするため
変えたのは名前・データ名・ステップ数の3か所だけ
GPU(A40)を借りた学習には GPU が要る
6:39 から空きがなく、予約で待って11時ごろ起動
19本・3,949コマを学習用の形式に変えた
openpi(π0.5 の学習用のコード)が読める形にするため
変換と統計の計算で数分
4,000ステップ学習した
前回と同じ回数でそろえて比べるため
7時間55分、1ステップ約7.0秒、loss 0.0858 → 0.0037
学習したモデルを手元の SSD に持ち帰り、照合した
GPU を返すと中身が消えるため
29ファイル・6.34GB、名前とサイズがすべて一致

GPU は Runpod の Secure Cloud(Runpod 自身のデータセンター)の A40 を、1時間 0.62 ドルで借りました。かかった費用は約 5.45 ドルです。

この回の作業は、Claude(Anthropic の AI)と一緒に進めました。学習の設定を足すスクリプトと手順は Claude が書き、Runpod の画面操作、Mac のターミナルでのコマンドの実行、GPU の空きの確認はこちらで行っています。ここから下は、使ったコマンド・コード・出力を全量で載せた作業ログです。

作業ログ ― 新しいお手本 teach_v1 は、5か所・19本・3,949ステップ

使ったお手本は、手でアームを動かして要所の姿勢を教え、その動きをアームに再生させながら、真上のカメラで画像と関節の角度を録ったものです(集め方は LOG352 に全量で載せています)。データセットの名前は mecharm_redblock_box_teach_v1 です。

前回まで使っていたお手本 mecharm_redblock_box_scripted_v1 との違いは次のとおりです。

項目
scripted_v1(前回まで)
teach_v1(今回)
集め方
ブロックの位置をカメラで見つけて動くスクリプトを回した
手で教えた動きを再生した
ブロックの置き場所ほぼ同じ場所5か所
学習に使った本数19本19本
コマ数(10Hz)5,6353,949
指示文
put the red block in the white box
同じ
画像の大きさ384×216同じ

1本あたりのコマ数が少ないのは、手で教えた動きのほうが、スクリプトの動きより短いためです。4,000ステップ × 1回32コマで数えると、今回は全コマを約32周、前回は約23周見たことになります。

データセットの索引(index.json)の全20項目です。1本目は記録のファイルがそろっていなかったので、変換の段階で外れています。

{
  "run_0001_20261019_183116": {
    "run": "run_0001_20261019_183116",
    "used": false,
    "reason": "missing:states.csv,top.mp4,top_frame_log.csv"
  },
  "run_0001_20261019_183454": {
    "run": "run_0001_20261019_183454",
    "used": true,
    "reason": "ok",
    "steps": 208,
    "idle_trimmed_sec": 15.4
  },
  "run_0001_20261019_191257": {
    "run": "run_0001_20261019_191257",
    "used": true,
    "reason": "ok",
    "steps": 205,
    "idle_trimmed_sec": 14.1
  },
  "run_0001_20261019_191347": {
    "run": "run_0001_20261019_191347",
    "used": true,
    "reason": "ok",
    "steps": 208,
    "idle_trimmed_sec": 16.6
  },
  "run_0001_20261019_191441": {
    "run": "run_0001_20261019_191441",
    "used": true,
    "reason": "ok",
    "steps": 241,
    "idle_trimmed_sec": 20.7
  },
  "run_0001_20261019_191541": {
    "run": "run_0001_20261019_191541",
    "used": true,
    "reason": "ok",
    "steps": 211,
    "idle_trimmed_sec": 15.3
  },
  "run_0001_20261019_191635": {
    "run": "run_0001_20261019_191635",
    "used": true,
    "reason": "ok",
    "steps": 214,
    "idle_trimmed_sec": 15.3
  },
  "run_0001_20261019_192343": {
    "run": "run_0001_20261019_192343",
    "used": true,
    "reason": "ok",
    "steps": 200,
    "idle_trimmed_sec": 14.3
  },
  "run_0001_20261019_192438": {
    "run": "run_0001_20261019_192438",
    "used": true,
    "reason": "ok",
    "steps": 202,
    "idle_trimmed_sec": 15.3
  },
  "run_0001_20261019_192539": {
    "run": "run_0001_20261019_192539",
    "used": true,
    "reason": "ok",
    "steps": 203,
    "idle_trimmed_sec": 15.2
  },
  "run_0001_20261019_192633": {
    "run": "run_0001_20261019_192633",
    "used": true,
    "reason": "ok",
    "steps": 198,
    "idle_trimmed_sec": 15.3
  },
  "run_0001_20261019_193404": {
    "run": "run_0001_20261019_193404",
    "used": true,
    "reason": "ok",
    "steps": 228,
    "idle_trimmed_sec": 14.2
  },
  "run_0001_20261019_193459": {
    "run": "run_0001_20261019_193459",
    "used": true,
    "reason": "ok",
    "steps": 234,
    "idle_trimmed_sec": 13.4
  },
  "run_0001_20261019_193617": {
    "run": "run_0001_20261019_193617",
    "used": true,
    "reason": "ok",
    "steps": 216,
    "idle_trimmed_sec": 15.2
  },
  "run_0001_20261019_193825": {
    "run": "run_0001_20261019_193825",
    "used": true,
    "reason": "ok",
    "steps": 245,
    "idle_trimmed_sec": 16.8
  },
  "run_0001_20261019_193932": {
    "run": "run_0001_20261019_193932",
    "used": true,
    "reason": "ok",
    "steps": 212,
    "idle_trimmed_sec": 15.2
  },
  "run_0001_20261019_194818": {
    "run": "run_0001_20261019_194818",
    "used": true,
    "reason": "ok",
    "steps": 183,
    "idle_trimmed_sec": 15.6
  },
  "run_0001_20261019_194913": {
    "run": "run_0001_20261019_194913",
    "used": true,
    "reason": "ok",
    "steps": 183,
    "idle_trimmed_sec": 15.2
  },
  "run_0001_20261019_195023": {
    "run": "run_0001_20261019_195023",
    "used": true,
    "reason": "ok",
    "steps": 180,
    "idle_trimmed_sec": 15.3
  },
  "run_0001_20261019_195120": {
    "run": "run_0001_20261019_195120",
    "used": true,
    "reason": "ok",
    "steps": 178,
    "idle_trimmed_sec": 15.4
  }
}

新しいお手本は、つかむ瞬間の土台の角度が −61.7°〜+13.2° に広がっている

お手本の置き場所が本当に散らばっているかを、角度で確かめました。各お手本で爪を閉じた最初のコマ(グリッパーの記録が 0 から 1 に変わったコマ)の、関節6つの角度を並べています。j0 はアームの土台の回転、j1 は肩です。

cd /Volumes/KIOXIA/r2r2r-data/datasets && python3 -c "
import numpy as np,glob,json
for ds in ['mecharm_redblock_box_teach_v1','mecharm_redblock_box_scripted_v1']:
  idx=json.load(open(ds+'/index.json'))
  rows=[]
  for d in sorted(glob.glob(ds+'/raw_episodes/run_*')):
    name=d.split('/')[-1]
    if not idx.get(name,{}).get('used'): continue
    s=np.load(d+'/episode.npz')['state']
    g=np.where(s[:,6]>0.5)[0]
    i=int(g[0]) if len(g) else -1
    rows.append([name, i, len(s)]+[round(float(v),1) for v in s[i,:6]])
  for r in rows: print(ds[22:], r)
  a=np.array([r[3:5] for r in rows]); print('j0 range',a[:,0].min(),a[:,0].max(),'j1 range',a[:,1].min(),a[:,1].max())
"

今回のお手本(teach_v1・19本)です。置き場所の番号は LOG352 の記録(runs/experiments/record_teach_demo/20261019_LOG352/README.md)の番号です。

置き場所試行爪を閉じたコマ全コマj0 土台j1 肩j2 肘j3j4 手首j5
1
run_0001_20261019_183454
84208-36.481.67.93.5-87.7-29.4
2
run_0001_20261019_191257
67205-34.887.9-34.07.1-45.9-34.3
2
run_0001_20261019_191347
68208-34.787.9-34.06.5-46.3-34.5
2
run_0001_20261019_191441
95241-35.787.5-35.56.8-40.5-35.8
2
run_0001_20261019_191541
78211-35.787.9-34.06.4-46.1-34.5
2
run_0001_20261019_191635
75214-35.587.9-34.06.4-46.1-34.5
3
run_0001_20261019_192343
84200-27.763.714.1-7.6-61.2-27.9
3
run_0001_20261019_192438
78202-27.863.714.1-7.7-61.4-27.3
3
run_0001_20261019_192539
75203-27.263.714.1-7.7-61.4-27.3
3
run_0001_20261019_192633
74198-27.463.714.1-7.6-61.4-27.2
4
run_0001_20261019_193404
92228-61.662.514.81.5-60.7-32.4
4
run_0001_20261019_193459
84234-61.662.414.81.1-60.8-31.7
4
run_0001_20261019_193617
85216-61.762.414.81.1-60.8-31.7
4
run_0001_20261019_193825
95245-61.562.313.91.3-58.0-32.4
4
run_0001_20261019_193932
81212-61.662.514.81.2-60.7-31.6
5
run_0001_20261019_194818
7418313.260.019.5-2.5-61.5-26.7
5
run_0001_20261019_194913
7518312.860.019.4-3.6-61.6-26.7
5
run_0001_20261019_195023
7218012.860.019.4-3.4-61.5-26.7
5
run_0001_20261019_195120
7117812.960.019.4-3.1-61.5-26.7

前回までのお手本(scripted_v1)のうち、学習に使った19本です(つかみ直した1本 run_0001_20261015_182552 は前回も学習から外しています)。

試行爪を閉じたコマ全コマj0 土台j1 肩j2 肘j3j4 手首j5
run_0001_20261015_173315
80307-41.789.0-32.9-11.7-51.6-29.1
run_0001_20261015_175333
80293-41.889.0-32.8-5.5-51.3-29.1
run_0001_20261015_181752
76291-40.087.4-30.0-8.7-52.2-34.5
run_0001_20261015_182056
83279-36.589.0-32.7-0.8-51.3-30.2
run_0001_20261015_183310
89294-41.789.1-32.9-10.6-50.7-29.5
run_0001_20261015_185536
84267-42.389.1-33.0-10.5-49.6-29.4
run_0001_20261015_193907
85282-37.687.8-32.1-3.7-49.1-31.5
run_0001_20261015_194135
329524-41.589.0-32.7-6.3-52.1-29.5
run_0001_20261015_194420
90287-31.588.4-33.4-10.8-47.8-29.5
run_0001_20261016_175444
86328-32.388.2-29.218.0-51.5-32.3
run_0001_20261016_175708
80289-30.087.4-30.0-12.5-52.2-34.4
run_0001_20261016_180013
84271-28.388.1-32.65.6-48.9-32.4
run_0001_20261016_184725
79274-41.589.1-32.8-6.3-50.1-29.7
run_0001_20261016_185201
80266-37.088.7-28.013.4-57.4-31.2
run_0001_20261016_190925
79227-31.988.2-29.012.1-52.0-31.7
run_0001_20261016_191539
81290-29.586.0-28.9-7.7-51.7-34.6
run_0001_20261016_191942
81276-38.187.9-32.610.1-49.1-33.3
run_0001_20261016_192229
79308-31.988.8-28.08.8-57.2-31.2
run_0001_20261016_194238
83282-29.687.5-30.017.2-52.4-36.2

つかむ瞬間の土台の角度は、前回の19本が −42.3°〜−28.3° の幅 14° だったのに対し、今回は −61.7°〜+13.2° の幅 75° です。肩の角度も、前回は 86.0°〜89.1° にほぼ固まっていたのが、今回は 60.0°〜87.9° に広がっています。置き場所1と2は土台の角度が近い(−36° 前後)ものの、肩が 81.6° と 87.9° で、距離が違う場所です。

学習の設定 pi05_mecharm_teach_lora を、前回の設定から3か所だけ変えて足した

openpi は、学習の設定を名前で呼び出します。前回の設定 pi05_mecharm_lora は、データ名が local/mecharm_redblock_box_v1 に固定されていました。このまま新しいお手本を同じ名前で変換すると、正規化の統計(値の大きさをそろえるための平均やばらつき)と、学習したモデルの保存先が、前回の学習と同じ名前になってしまいます。

そこで、前回の設定を丸ごと写して、次の3か所だけを変えた設定を足すスクリプトを作りました。

項目
pi05_mecharm_lora(前回)
pi05_mecharm_teach_lora(今回)
設定名
pi05_mecharm_lora
pi05_mecharm_teach_lora
データ名(repo_id)
local/mecharm_redblock_box_v1
local/mecharm_redblock_box_teach_v1
ステップ数5,0004,000

学習率の予定(warmup 300 ステップ・最大 5e-5・cosine で 5,000 ステップかけて 5e-6 まで下げる)は、前回と同じにしました。前回は「5,000 ステップの予定」で始めて、2,000 ステップで一度止め(LOG341)、続きから 4,000 ステップまで回しています(LOG348)。今回も 5,000 の予定のまま 4,000 で終えると、学習率の動き方まで前回と同じになり、違うのはお手本だけになります。

openpi 本体を書き換えるのではなく、前回と同じく、clone した openpi に後から足す形にしています。前回の設定を足す install_addon.py を先に実行してから、このスクリプトを実行します。

#!/usr/bin/env python3
"""openpi config.py に teach_v1 用の学習設定 pi05_mecharm_teach_lora を足す (LOG355 / lab Log10).

install_addon.py を実行した後に 1 回実行:
  python3 add_teach_config.py /workspace/openpi
pi05_mecharm_lora (v1) の設定をそのまま写し、次の 3 か所だけ変える:
  name            pi05_mecharm_lora            -> pi05_mecharm_teach_lora
  repo_id         local/mecharm_redblock_box_v1 -> local/mecharm_redblock_box_teach_v1
  num_train_steps 5_000                        -> 4_000
学習率の予定 (decay_steps=5_000) は v1 と同じにする。v1 は 5,000 の予定で 4,000 まで回したので、
データ以外の条件が v1 の 4,000 ステップと揃う。
"""
import sys
from pathlib import Path

cfg = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve() / "src" / "openpi" / "training" / "config.py"
s = cfg.read_text()
MARK = "    # >>> r2r2r mecharm teach_v1 (train config)\n"
if MARK in s:
    print("already installed (config.py は変更なし)")
    sys.exit(0)

A = "    # >>> r2r2r mecharm addon (train config)\n"
B = "    # <<< r2r2r mecharm addon (train config)\n"
assert s.count(A) == 1 and s.count(B) == 1, "先に install_addon.py を実行する"
i, j = s.index(A), s.index(B) + len(B)
block = s[i:j]
reps = [
    (A, MARK),
    (B, "    # <<< r2r2r mecharm teach_v1 (train config)\n"),
    ('name="pi05_mecharm_lora"', 'name="pi05_mecharm_teach_lora"'),
    ('repo_id="local/mecharm_redblock_box_v1"', 'repo_id="local/mecharm_redblock_box_teach_v1"'),
    ("num_train_steps=5_000,", "num_train_steps=4_000,"),
]
for a, b in reps:
    assert block.count(a) == 1, f"見つからない/重複: {a!r}"
    block = block.replace(a, b)
assert "decay_steps=5_000" in block
s = s[:j] + block + s[j:]
cfg.write_text(s)
print("installed: pi05_mecharm_teach_lora (repo_id=local/mecharm_redblock_box_teach_v1, 4,000 steps)")

GPU を借りる前に、Mac の上で、openpi の設定ファイルの形をまねた小さなファイルに当てて試しました。install_addon.py のあとに2回続けて実行し、1回目で足され、2回目では何も変わらないことと、足した設定の中身を確かめています。

installed: policies/mecharm_policy.py + config.py (pi05_mecharm_lora)
installed: pi05_mecharm_teach_lora (repo_id=local/mecharm_redblock_box_teach_v1, 4,000 steps)
already installed (config.py は変更なし)
47:        name="pi05_mecharm_lora",
55:            repo_id="local/mecharm_redblock_box_v1",
70:            decay_steps=5_000,
73:        num_train_steps=5_000,  # 成功 20 本 (約 6,000 フレーム) で約 27 周
82:        name="pi05_mecharm_teach_lora",
90:            repo_id="local/mecharm_redblock_box_teach_v1",
105:            decay_steps=5_000,
108:        num_train_steps=4_000,  # 成功 20 本 (約 6,000 フレーム) で約 27 周

108行目のコメント「成功 20 本 (約 6,000 フレーム) で約 27 周」は、前回の設定から写したままです。今回の 3,949 コマでは約32周になります。動きには関係しないので、そのまま残しました。

スクリプトは KIOXIA(Mac につないだ外付け SSD)の lab/Log10/pod/add_teach_config.py に置きました。

お手本を tar にまとめると、2.0G と出ていたものが 102M だった

Pod(Runpod で借りる GPU マシン)へ送るために、お手本のフォルダを1つのファイルにまとめました。

(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % cd /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1 && tar cf ~/mecharm_teach_raw_episodes.tar raw_episodes && ls -lh ~/mecharm_teach_raw_episodes.tar
-rw-r--r--  1 shimazueiichi  staff   102M 10月 20 06:40 /Users/shimazueiichi/mecharm_teach_raw_episodes.tar
(base) shimazueiichi@shimadzueiichinoMacBook-Pro mecharm_redblock_box_teach_v1 % tar tf ~/mecharm_teach_raw_episodes.tar | grep -v '/$' | wc -l
    3987

フォルダの大きさを du -sh で見たときは 2.0G でした。KIOXIA は小さいファイル1つにも大きな区画を割り当てる形式なので、du は実際の中身より大きく出ます。実際の大きさで数え直すと、ファイルは 3,987 個(うち画像 3,949 枚)、約 119MB でした。そのうち約 20MB はフォルダ 39 個の分で、ファイルだけなら約 100MB です。tar の中のファイル数も 3,987 で、全部入っていました。

A40 に空きがなく、Pod の作成が「空いたら起動する予約」になった

Pod の設定は前回と同じです。テンプレートは Runpod Pytorch 2.8.0(CUDA 12.8.1・Ubuntu 24.04)、GPU は A40 1台、コンテナディスクは 200GB、Volume(Pod を消しても残るディスク)は付けません。SSH でファイルを送るために、TCP の22番ポートを、Pod を作るときに公開しておきます(後から設定を変えると Pod が再起動して中身が消えることを、DAY337 で経験しています)。

Runpod のテンプレートの上書き設定。SSH terminal access にチェック、Container disk 200GB、Exposed TCP ports に 22

6:39 に Deploy を押すと、Pod は起動せず、「Auto-deploy」という表示の付いた項目ができました。詳しい画面には「Starts at 7:09」「Subscription expires 10月21日 7:09」とあり、A40 に空きが出たら自動で起動する予約になっていました。

検索欄に A40 と打って「All」のタブで見ると、A40 には「Out of capacity」と出ていました。

GPU の一覧で A40 を検索した画面。A40(1時間 0.59 ドル)にも RTX A4000 にも Out of capacity と出ている

Community Cloud の A100・A40 も、選ぶと「Instance not available」になった

GPU の一覧には、Filter に条件が1つかかっていました。Cloud type が Secure(Runpod 自身のデータセンター)だけになっています。これを Community(個人や小さな事業者が貸し出している GPU)に変えると、別の GPU が出てきます。Community で SSH の22番ポートを使うには、Public IP をオンにする必要があります。

Filter GPUs の画面。Cloud type を Community にすると、Community Cloud は予測できない動きをすることがあるという注意と、Public IP のスイッチが出る

Community の一覧に出ていた A100 PCIe(80GB・1時間 1.19 ドル)を選ぶと、「Instance not available」と出て、Deploy Pod が押せませんでした。

A100 PCIe を選んだ画面。Total 1.22 ドル/時、Instance not available と出て Deploy Pod が押せない

このとき Claude は、Community の機械は1台ごとに付けられるディスクの量が決まっているので、200GB が大きすぎるのだろうと見て、120GB、100GB に下げてもらいました。表示は変わらず、ディスクは原因ではありませんでした。一覧に出てから選ぶまでの間に、その機械が借りられていたと考えています。

6:52 には、Community で空いているのは 16GB の GPU(RTX 5080 と Tesla V100)だけになりました。π0.5 の学習にはメモリが足りません。6:54 に Community の A40(1時間 0.35 ドル)が出ましたが、これも選ぶと同じ表示でした。

Secure に戻して A40 をもう一度 Deploy すると、また予約になりました(6:56 作成・「Starts at 7:25」)。Pods の一覧に残っていたのは、この予約1つだけです。

「Starts at 7:25」を過ぎても、予約は待ったままだった

7:29 に見ても、Pods の画面は「Waiting for availability」のままでした。

Pods の画面。Waiting for availability の下に、inc_turquoise_platypus(Auto-deploy・A40 x1・作成 6:56・期限 10月21日 7:25)が1つだけある

「Starts at」の時刻に起動するわけではありませんでした。何を表す時刻なのかは、画面からは分かっていません。

9:28 に一覧に出た A40 と A100 SXM も、押す間に埋まった

9:28 に Deploy の画面を開くと、Secure の「Available」に A100 SXM(1時間 1.79 ドル)、A40(0.59 ドル)、B300 MIG 34GB、RTX 5090 が並んでいました。A40 を選んで Deploy を押す前に、A40 は一覧から消えていました。

9:31 に A100 SXM を選ぶと、合計 1.82 ドル/時、「Instance not available」の表示もなく、Deploy Pod が押せる状態でした。押すと、上に「There are no longer any instances available with the requested specifications. Please refresh and try again.」と出て、ボタンが「Deploy when available」(空いたら起動する予約)に変わりました。

A100 SXM で Deploy Pod を押した直後。上にもう空きがないという通知が出て、下のボタンが Deploy when available に変わった

一覧に Available と出ていても、押すまでの数秒で埋まっていました。 A100 の予約は作っていません。A40 の予約と両方が起動すると、2台分の料金がかかるためです。

11時ごろ A40 の予約が起動し、Pod が動き始めた

11:59 に Pods の画面を見ると、予約が起動して Pod になっていました。

Pods の画面。inc_turquoise_platypus が緑の印で動いている。A40 x1、1時間 0.62 ドル

残高は 6:35 に 12.37 ドル、11:59 に 11.71 ドルでした。0.66 ドルは A40 の約1時間分なので、起動したのは11時前後です。起動を知らせるメールには気づいていませんでした。

ここから下のログでは、Pod の IP アドレスとポート番号を <POD_IP> と <SSH_PORT> に置き換えています。

Pod の準備:tmux の中で openpi を取得し、uv sync を通した

Mac から SSH で Pod に入ります。

(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % ssh root@<POD_IP> -p <SSH_PORT> -i ~/.ssh/id_ed25519
The authenticity of host '[<POD_IP>]:<SSH_PORT> ([<POD_IP>]:<SSH_PORT>)' can't be established.
ED25519 key fingerprint is: SHA256:mxMuwTX3InGzlB4e0L6AoWmoe5T7barwda5hlRD9HVE
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[<POD_IP>]:<SSH_PORT>' (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.5 LTS (GNU/Linux 6.8.0-138-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

 _____                             _ 
|  __ \                           | |
| |__) |   _ _ __  _ __   ___   __| |
|  _  / | | | '_ \| '_ \ / _ \ / _` |
| | \ \ |_| | | | | |_) | (_) | (_| |
|_|  \_\__,_|_| |_| .__/ \___/ \__,_|
                  | |                
                  |_|                
For detailed documentation and guides, please visit:
https://docs.runpod.io/
and https://blog.runpod.io

root@237d7fe075b2:/# apt-get update && apt-get install -y tmux
mkdir -p /workspace/logs /workspace/r2r2r /workspace/data
tmux new -s lab
Get:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64  InRelease [1578 B]
Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]      
Get:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64  Packages [1934 kB]
Get:4 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu noble InRelease [17.8 kB]
Get:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu noble/main amd64 Packages [60.1 kB]
Get:6 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [2122 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:8 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:9 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [117 kB]
Get:11 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1808 kB]
Get:12 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [331 kB]
Get:13 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1549 kB]
Get:14 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [19.3 MB]
Get:15 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [55.6 kB]
Get:16 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [1410 kB]
Get:17 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [2231 kB]
Get:18 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [61.7 kB]
Get:19 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1729 kB]
Get:20 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [2168 kB]
Get:21 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [36.0 kB]
Get:22 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [49.0 kB]
Get:23 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [669 B]
Fetched 35.6 MB in 2s (14.5 MB/s)                             
Reading package lists... Done
W: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
tmux is already the newest version (3.4-1ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 75 not upgraded.

tmux(ターミナルを閉じても中の作業が続く仕組み)は、このテンプレートには最初から入っていました。tmux の中で openpi を取得し、Python のライブラリを入れます。openpi は前回と同じ版(コミット 215abfb)にそろえます。

cd /workspace
git clone --recurse-submodules https://github.com/Physical-Intelligence/openpi.git
cd openpi && git checkout 215abfb
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
GIT_LFS_SKIP_SMUDGE=1 uv sync

uv sync の最後の部分です。

 + urllib3==2.4.0
 + virtualenv==20.31.2
 + wadler-lindig==0.1.6
 + wandb==0.19.11
 + wcwidth==0.2.13
 + websockets==15.0.1
 + werkzeug==3.1.3
 + widgetsnbextension==4.0.14
 + wrapt==1.14.1
 + xxhash==3.5.0
 + yarl==1.20.0
 + zarr==3.0.8
 + zipp==3.22.0
root@237d7fe075b2:/workspace/openpi#

この手順の途中で、Pod の中で打つコマンドを、Mac のターミナルで打ってしまう場面がありました。Pod がまだ起動していない朝の時点で、手順を先に打っていたものです。どれも失敗しただけで、Mac には何も起きていません。

(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % apt-get update && apt-get install -y tmux
mkdir -p /workspace/logs /workspace/r2r2r /workspace/data
tmux new -s lab
zsh: command not found: apt-get
mkdir: /workspace: Read-only file system
mkdir: /workspace: Read-only file system
mkdir: /workspace: Read-only file system
zsh: command not found: tmux

行頭が (base) shimazueiichi@... なら Mac、root@... なら Pod です。

転送が終わる前に展開して、tar が途中で切れていた

uv sync と並行して、Mac の別のターミナルから、お手本・スクリプト・設定を足すスクリプトを送りました。

(base) shimazueiichi@shimadzueiichinoMacBook-Pro ~ % scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 ~/mecharm_teach_raw_episodes.tar root@<POD_IP>:/workspace/data/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r ~/r2r2r-scripts/pi05 root@<POD_IP>:/workspace/r2r2r/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 /Volumes/KIOXIA/r2r2r-data/lab/Log10/pod/add_teach_config.py root@<POD_IP>:/workspace/r2r2r/
mecharm_teach_raw_episodes.tar                 25%   26MB   1.3MB/s   00:57 ETA

Mac から Pod へは、毎秒約 1.3MB でした。102MB を送り終える前に、Pod 側で展開・設定の登録・変換を続けて打ったため、どれも失敗しました。

root@237d7fe075b2:/workspace/openpi# cd /workspace/data && tar xf mecharm_teach_raw_episodes.tar && ls raw_episodes | wc -l
cd /workspace/openpi
python3 /workspace/r2r2r/pi05/openpi_addon/install_addon.py /workspace/openpi
python3 /workspace/r2r2r/add_teach_config.py /workspace/openpi
uv run python /workspace/r2r2r/pi05/convert_to_lerobot.py --raw-dir /workspace/data/raw_episodes --repo-id local/mecharm_redblock_box_teach_v1
uv run scripts/compute_norm_stats.py --config-name pi05_mecharm_teach_lora
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
python3: can't open file '/workspace/r2r2r/pi05/openpi_addon/install_addon.py': [Errno 2] No such file or directory
python3: can't open file '/workspace/r2r2r/add_teach_config.py': [Errno 2] No such file or directory
/workspace/openpi/.venv/bin/python: can't open file '/workspace/r2r2r/pi05/convert_to_lerobot.py': [Errno 2] No such file or directory

最後の正規化の統計の計算は、設定がまだ足されていないので、設定名が見つからずに止まりました。

  File "/workspace/openpi/src/openpi/training/config.py", line 987, in get_config
    raise ValueError(f"Config '{config_name}' not found.{closest_str}")
ValueError: Config 'pi05_mecharm_teach_lora' not found. Did you mean 'pi05_aloha'? 

転送が終わってから、途中まで展開したフォルダを消し、tar の中身の数と、届いたスクリプトを確かめました。

root@237d7fe075b2:/workspace/openpi# cd /workspace/data && rm -rf raw_episodes && tar tf mecharm_teach_raw_episodes.tar | grep -v '/$' | wc -l
ls /workspace/r2r2r /workspace/r2r2r/pi05
3987
/workspace/r2r2r:
add_teach_config.py  pi05

/workspace/r2r2r/pi05:
RUNPOD_TRAIN.md                                 convert_to_lerobot.py
__pycache__                                     openpi_addon
build_demo_episodes.py                          policy_ws.py
build_demo_episodes.py.bak_pre_LOG352_202610

3,987 は、Mac で数えた数と同じです。

19本・3,949コマを LeRobot 形式に変換し、正規化の統計を新しい名前で書き出した

同じコマンドを打ち直しました。変換には、前回までと同じ convert_to_lerobot.py を使い、データ名だけを --repo-id で変えています。LeRobot 形式は、Hugging Face が公開しているロボット学習のライブラリ LeRobot のデータの形です。

cd /workspace/data && tar xf mecharm_teach_raw_episodes.tar && ls raw_episodes | wc -l
cd /workspace/openpi
python3 /workspace/r2r2r/pi05/openpi_addon/install_addon.py /workspace/openpi
python3 /workspace/r2r2r/add_teach_config.py /workspace/openpi
uv run python /workspace/r2r2r/pi05/convert_to_lerobot.py --raw-dir /workspace/data/raw_episodes --repo-id local/mecharm_redblock_box_teach_v1
uv run scripts/compute_norm_stats.py --config-name pi05_mecharm_teach_lora

画面の最後の部分です。

  run_0001_20261019_193932: 212 steps
Map: 100%|███████████████████████████| 183/183 [00:00<00:00, 1161.90 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 83.49ba/s]
  run_0001_20261019_194818: 183 steps
Map: 100%|███████████████████████████| 183/183 [00:00<00:00, 1250.66 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 96.89ba/s]
  run_0001_20261019_194913: 183 steps
Map: 100%|███████████████████████████| 180/180 [00:00<00:00, 1258.15 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 70.63ba/s]
  run_0001_20261019_195023: 180 steps
Map: 100%|███████████████████████████| 178/178 [00:00<00:00, 1172.30 examples/s]
Creating parquet from Arrow format: 100%|█████████| 2/2 [00:00<00:00, 92.63ba/s]
  run_0001_20261019_195120: 178 steps
done: 19 episodes / 3949 frames → /workspace/.cache/huggingface/lerobot/local/mecharm_redblock_box_teach_v1
100%|█████████████████████████████████████| 4.07M/4.07M [00:01<00:00, 4.26MiB/s]
Resolving data files: 100%|█████████████████| 19/19 [00:00<00:00, 125696.81it/s]
Downloading data: 100%|███████████████████| 19/19 [00:00<00:00, 31325.38files/s]
Generating train split: 3949 examples [00:01, 3654.04 examples/s]
Computing stats: 100%|████████████████████████| 123/123 [00:31<00:00,  3.89it/s]
Writing stats to: /workspace/openpi/assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1

19本・3,949 コマで、索引の数と一致しています。統計は assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1 に書かれ、前回の assets/pi05_mecharm_lora/local/mecharm_redblock_box_v1 とは別の場所です。

4,000 ステップの学習は7時間55分、loss は 0.0858 から 0.0037 へ下がった

学習は LoRA(モデル全体ではなく、追加した小さな部品だけを学習する方法)で行います。

cd /workspace/openpi
XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_mecharm_teach_lora --exp-name=teach_v1 --overwrite 2>&1 | tee /workspace/logs/train.log

学習のログの最初の41行です。Loaded norm stats from と data_config の行で、新しいお手本から計算した正規化の統計を読み込んでいます。そのあと、π0.5 の元の重み(11.6GiB)のダウンロードが始まります。

03:15:13.139 [I] Running on: 237d7fe075b2                                                         (2455:train.py:196)
INFO:2026-10-20 03:15:13,652:jax._src.xla_bridge:925: Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
03:15:13.652 [I] Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig' (2455:xla_bridge.py:925)
INFO:2026-10-20 03:15:13,653:jax._src.xla_bridge:925: Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
03:15:13.653 [I] Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory (2455:xla_bridge.py:925)
03:15:14.534 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:15:14.534 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:15:14.535 [I] [thread=MainThread] Failed to get flag value for EXPERIMENTAL_ORBAX_USE_DISTRIBUTED_PROCESS_ID. (2455:multihost.py:390)
03:15:14.535 [I] [process=0][thread=MainThread] CheckpointManager init: checkpointers=None, item_names=None, item_handlers={'assets': <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, 'train_state': <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, 'params': <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>}, handler_registry=None (2455:checkpoint_manager.py:620)
03:15:14.535 [I] Deferred registration for item: "assets". Adding handler `<openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>` for item "assets" and save args `<class 'openpi.training.checkpoints.CallbackSave'>` and restore args `<class 'openpi.training.checkpoints.CallbackRestore'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "train_state". Adding handler `<orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>` for item "train_state" and save args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "params". Adding handler `<orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>` for item "params" and save args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Deferred registration for item: "metrics". Adding handler `<orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>` for item "metrics" and save args `<class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonSaveArgs'>` and restore args `<class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonRestoreArgs'>` to `_handler_registry`. (2455:composite_checkpoint_handler.py:234)
03:15:14.535 [I] Initialized registry DefaultCheckpointHandlerRegistry({('assets', <class 'openpi.training.checkpoints.CallbackSave'>): <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, ('assets', <class 'openpi.training.checkpoints.CallbackRestore'>): <openpi.training.checkpoints.CallbackHandler object at 0x7b3f6aab53d0>, ('train_state', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, ('train_state', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aac8910>, ('params', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeSaveArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>, ('params', <class 'orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeRestoreArgs'>): <orbax.checkpoint._src.handlers.pytree_checkpoint_handler.PyTreeCheckpointHandler object at 0x7b3f6aa3fed0>, ('metrics', <class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonSaveArgs'>): <orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>, ('metrics', <class 'orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonRestoreArgs'>): <orbax.checkpoint._src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7b3f6b871b50>}). (2455:composite_checkpoint_handler.py:502)
03:15:14.536 [I] orbax-checkpoint version: 0.11.13                                                (2455:abstract_checkpointer.py:35)
03:15:14.536 [I] [process=0][thread=MainThread] Using barrier_sync_fn: <function get_barrier_sync_fn.<locals>.<lambda> at 0x7b3f526a3ce0> timeout: 7200 secs and primary_host=0 for async checkpoint writes (2455:async_checkpointer.py:170)
03:15:14.536 [I] Found 0 checkpoint steps in /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1 (2455:checkpoint_manager.py:1701)
03:15:14.536 [I] [process=0][thread=MainThread] CheckpointManager created,  primary_host=0, CheckpointManagerOptions=CheckpointManagerOptions(save_interval_steps=1, max_to_keep=1, keep_time_interval=None, keep_period=1000, should_keep_fn=None, best_fn=None, best_mode='max', keep_checkpoints_without_metrics=True, step_prefix=None, step_format_fixed_length=None, step_name_format=None, create=False, cleanup_tmp_directories=False, save_on_steps=frozenset(), single_host_load_and_broadcast=False, todelete_subdir=None, enable_background_delete=False, read_only=False, enable_async_checkpointing=True, async_options=AsyncOptions(timeout_secs=7200, barrier_sync_fn=None, post_finalization_callback=None, create_directories_asynchronously=True), multiprocessing_options=MultiprocessingOptions(primary_host=0, active_processes=None, barrier_sync_key_prefix=None), should_save_fn=None, file_options=FileOptions(path_permission_mode=None), save_root_metadata=True, temporary_path_class=None, save_decision_policy=None, prevent_write_metrics=False), root_directory=/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1: <orbax.checkpoint.checkpoint_manager.CheckpointManager object at 0x7b3f6aa3ee50> (2455:checkpoint_manager.py:801)
03:15:14.622 [I] Loaded norm stats from /workspace/openpi/assets/pi05_mecharm_teach_lora/local/mecharm_redblock_box_teach_v1 (2455:config.py:197)
03:15:14.623 [I] data_config: DataConfig(repo_id='local/mecharm_redblock_box_teach_v1', asset_id='local/mecharm_redblock_box_teach_v1', norm_stats={'state': NormStats(mean=array([ -2.63770103,  50.49562073,   3.79128742,   3.150455  ,
       -51.43732071, -32.14047623,   0.42225614]), std=array([35.15082932, 22.15872955, 14.8625946 ,  5.15621138, 21.55270386,
        3.60685444,  0.49391893]), q01=array([-61.62614893,   1.39657994, -35.5459003 ,  -7.75465724,
       -87.74253352, -40.55251048,   0.        ]), q99=array([ 44.61974199,  87.87268339,  31.10180083,  16.4565389 ,
        -0.260924  , -26.45196724,   0.9998    ])), 'actions': NormStats(mean=array([ 0.07332829,  0.0279311 ,  0.0080337 ,  0.02421108, -0.07518888,
       -0.03083729,  0.42225602]), std=array([7.71810484, 7.52976751, 3.43936443, 1.33129191, 7.94236755,
       0.81411815, 0.4939189 ]), q01=array([-20.55847655, -22.4227709 , -12.12292372,  -4.43781593,
       -25.49721281,  -2.76930663,   0.        ]), q99=array([26.71623218, 21.34455652, 10.00451379,  3.76541566, 23.96088104,
        2.90332375,  0.9998    ]))}, repack_transforms=Group(inputs=[RepackTransform(structure={'observation/image': 'image', 'observation/state': 'state', 'actions': 'actions', 'prompt': 'prompt'})], outputs=()), data_transforms=Group(inputs=(MecharmInputs(model_type=<ModelType.PI05: 'pi05'>), DeltaActions(mask=(True, True, True, True, True, True, False))), outputs=(AbsoluteActions(mask=(True, True, True, True, True, True, False)), MecharmOutputs())), model_transforms=Group(inputs=[InjectDefaultPrompt(prompt=None), ResizeImages(height=224, width=224), TokenizePrompt(tokenizer=<openpi.models.tokenizer.PaligemmaTokenizer object at 0x7b3f6a7dd0d0>, discrete_state_input=True), PadStatesAndActions(model_action_dim=32)], outputs=()), use_quantile_norm=True, action_sequence_keys=('actions',), prompt_from_task=True, rlds_data_dir=None, action_space=None, datasets=()) (2455:data_loader.py:243)
03:15:15.078 [I] local_batch_size: 32                                                             (2455:data_loader.py:324)
03:15:28.123 [I] Initialized data loader:
[0].images['base_0_rgb']: (32, 224, 224, 3)@float32
[0].images['left_wrist_0_rgb']: (32, 224, 224, 3)@float32
[0].images['right_wrist_0_rgb']: (32, 224, 224, 3)@float32
[0].image_masks['base_0_rgb']: (32,)@bool
[0].image_masks['left_wrist_0_rgb']: (32,)@bool
[0].image_masks['right_wrist_0_rgb']: (32,)@bool
[0].state: (32, 32)@float32
[0].tokenized_prompt: (32, 200)@int32
[0].tokenized_prompt_mask: (32, 200)@bool
[1]: (32, 10, 32)@float32 (2455:train.py:227)
03:15:29.297 [I] Downloading gs://openpi-assets/checkpoints/pi05_base/params to /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params (2455:download.py:86)

ダウンロードは1分20秒で終わりました。最初の1ステップの前のコンパイル(GPU で動く形に変換する処理)に 4分34秒かかり、そのあと1ステップ約 7.0〜7.1 秒で進みました。時刻は Pod の時計(UTC)で、03:17 は日本時間の 12:17 です。

03:15:29.297 [W] gsutil not found, falling back to gcsfs. This may fail if GCP credentials are not configured correctly. (2455:download.py:111)
03:15:57.583 [I] Progress on: -/12441721931 rate:- remaining:? elapsed:00:00 postfix:-            (2455:tqdm_logging.py:145)
03:16:07.613 [I] Progress on: 2.11GiB/11.6GiB rate:236,503,035.9iB/s remaining:00:43 elapsed:00:10 postfix:- (2455:tqdm_logging.py:145)
03:16:17.643 [I] Progress on: 4.38GiB/11.6GiB rate:244,811,631.1iB/s remaining:00:31 elapsed:00:20 postfix:- (2455:tqdm_logging.py:145)
03:16:27.668 [I] Progress on: 6.52GiB/11.6GiB rate:214,107,446.8iB/s remaining:00:25 elapsed:00:30 postfix:- (2455:tqdm_logging.py:145)
03:16:37.696 [I] Progress on: 8.14GiB/11.6GiB rate:166,116,254.5iB/s remaining:00:22 elapsed:00:40 postfix:- (2455:tqdm_logging.py:145)
03:16:47.727 [I] Progress on: 9.64GiB/11.6GiB rate:160,966,208.4iB/s remaining:00:12 elapsed:00:50 postfix:- (2455:tqdm_logging.py:145)
03:16:57.753 [I] Progress on: 10.8GiB/11.6GiB rate:101,413,951.6iB/s remaining:00:08 elapsed:01:00 postfix:- (2455:tqdm_logging.py:145)
03:17:07.779 [I] Progress on: 11.3GiB/11.6GiB rate:42,871,383.5iB/s remaining:00:08 elapsed:01:10 postfix:- (2455:tqdm_logging.py:145)
03:17:17.800 [I] Progress on: 11.6GiB/11.6GiB rate:30,491,831.9iB/s remaining:00:00 elapsed:01:20 postfix:- (2455:tqdm_logging.py:145)
03:17:17.801 [I] Progress on: 11.6GiB/11.6GiB rate:30,491,831.9iB/s remaining:00:00 elapsed:01:20 postfix:- (2455:tqdm_logging.py:145)
03:17:17.807 [I] Created BasePyTreeCheckpointHandler: use_ocdbt=True, use_zarr3=False, pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False), array_metadata_store=<orbax.checkpoint._src.metadata.array_metadata_store.Store object at 0x7b4106922450> (2455:base_pytree_checkpoint_handler.py:334)
03:17:17.847 [I] Restoring checkpoint from /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params. (2455:checkpointer.py:298)
03:17:25.289 [I] [process=0] /jax/checkpoint/read/bytes_per_sec: 1.7 GiB/s (total bytes: 12.5 GiB) (time elapsed: 7 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
03:17:25.289 [I] Finished restoring checkpoint in 7.44 seconds from /root/.cache/openpi/openpi-assets/checkpoints/pi05_base/params. (2455:checkpointer.py:309)
03:17:46.031 [I] Initialized train state:
['time_mlp_out']['kernel'].value: (1024, 1024)@float32 (2455:train.py:238)
03:17:46.040 [I] Progress on: -/4000 rate:- remaining:? elapsed:00:00 postfix:-                   (2455:tqdm_logging.py:145)


Step 0: grad_norm=1.1611, loss=0.0858, param_norm=1803.7705
03:22:20.338 [I] Progress on: -/4000 rate:- remaining:? elapsed:04:34 postfix:-                   (2455:tqdm_logging.py:145)
03:22:34.649 [I] Progress on: 4.00it/4.00kit rate:41.9s/it remaining:46:29:49 elapsed:04:48 postfix:- (2455:tqdm_logging.py:145)
03:22:48.620 [I] Progress on: 6.00it/4.00kit rate:21.7s/it remaining:24:05:32 elapsed:05:02 postfix:- (2455:tqdm_logging.py:145)
03:23:02.662 [I] Progress on: 8.00it/4.00kit rate:13.8s/it remaining:15:15:45 elapsed:05:16 postfix:- (2455:tqdm_logging.py:145)
03:23:16.696 [I] Progress on: 10.0it/4.00kit rate:10.2s/it remaining:11:19:53 elapsed:05:30 postfix:- (2455:tqdm_logging.py:145)
03:23:30.737 [I] Progress on: 12.0it/4.00kit rate:8.6s/it remaining:9:29:25 elapsed:05:44 postfix:- (2455:tqdm_logging.py:145)
03:23:44.819 [I] Progress on: 14.0it/4.00kit rate:7.8s/it remaining:8:37:04 elapsed:05:58 postfix:- (2455:tqdm_logging.py:145)
03:23:58.903 [I] Progress on: 16.0it/4.00kit rate:7.4s/it remaining:8:11:37 elapsed:06:12 postfix:- (2455:tqdm_logging.py:145)
学習中の Pod のターミナル。1ステップ 7.1 秒、残り7時間39分と表示されている

前回の速さは、LOG341 の A40 で 1ステップ約 7.1 秒、LOG348 の続きの学習で約 6.5 秒でした。学習の途中で、Claude は「前回は 6.5 秒だったので少し遅い」と伝えていましたが、LOG341 と比べるとほぼ同じ速さです。

loss(モデルの予測と、お手本の動きとの差の大きさ)は、50 ステップごとに記録されます。全80行です。

grep -a "loss=" /workspace/logs/train.log
Step 0: grad_norm=1.1611, loss=0.0858, param_norm=1803.7705
Step 50: grad_norm=0.3111, loss=0.0519, param_norm=1803.7704
Step 100: grad_norm=0.1753, loss=0.0360, param_norm=1803.7709
Step 150: grad_norm=0.1437, loss=0.0271, param_norm=1803.7725
Step 200: grad_norm=0.1297, loss=0.0220, param_norm=1803.7769
Step 250: grad_norm=0.1081, loss=0.0171, param_norm=1803.7831
Step 300: grad_norm=0.1000, loss=0.0162, param_norm=1803.7916
Step 350: grad_norm=0.0824, loss=0.0138, param_norm=1803.8026
Step 400: grad_norm=0.0730, loss=0.0125, param_norm=1803.8134
Step 450: grad_norm=0.0711, loss=0.0120, param_norm=1803.8240
Step 500: grad_norm=0.0646, loss=0.0115, param_norm=1803.8344
Step 550: grad_norm=0.0603, loss=0.0101, param_norm=1803.8442
Step 600: grad_norm=0.0580, loss=0.0096, param_norm=1803.8539
Step 650: grad_norm=0.0630, loss=0.0100, param_norm=1803.8640
Step 700: grad_norm=0.0582, loss=0.0085, param_norm=1803.8745
Step 750: grad_norm=0.0566, loss=0.0092, param_norm=1803.8824
Step 800: grad_norm=0.0558, loss=0.0082, param_norm=1803.8914
Step 850: grad_norm=0.0579, loss=0.0084, param_norm=1803.9021
Step 900: grad_norm=0.0546, loss=0.0083, param_norm=1803.9103
Step 950: grad_norm=0.0481, loss=0.0076, param_norm=1803.9187
Step 1000: grad_norm=0.0495, loss=0.0078, param_norm=1803.9263
Step 1050: grad_norm=0.0486, loss=0.0075, param_norm=1803.9343
Step 1100: grad_norm=0.0485, loss=0.0076, param_norm=1803.9421
Step 1150: grad_norm=0.0436, loss=0.0063, param_norm=1803.9493
Step 1200: grad_norm=0.0491, loss=0.0069, param_norm=1803.9565
Step 1250: grad_norm=0.0442, loss=0.0068, param_norm=1803.9635
Step 1300: grad_norm=0.0446, loss=0.0066, param_norm=1803.9707
Step 1350: grad_norm=0.0480, loss=0.0068, param_norm=1803.9780
Step 1400: grad_norm=0.0464, loss=0.0061, param_norm=1803.9849
Step 1450: grad_norm=0.0437, loss=0.0062, param_norm=1803.9919
Step 1500: grad_norm=0.0444, loss=0.0066, param_norm=1803.9978
Step 1550: grad_norm=0.0455, loss=0.0063, param_norm=1804.0040
Step 1600: grad_norm=0.0471, loss=0.0059, param_norm=1804.0103
Step 1650: grad_norm=0.0422, loss=0.0057, param_norm=1804.0156
Step 1700: grad_norm=0.0445, loss=0.0055, param_norm=1804.0206
Step 1750: grad_norm=0.0455, loss=0.0058, param_norm=1804.0265
Step 1800: grad_norm=0.0441, loss=0.0059, param_norm=1804.0320
Step 1850: grad_norm=0.0428, loss=0.0058, param_norm=1804.0369
Step 1900: grad_norm=0.0423, loss=0.0058, param_norm=1804.0419
Step 1950: grad_norm=0.0396, loss=0.0048, param_norm=1804.0471
Step 2000: grad_norm=0.0433, loss=0.0058, param_norm=1804.0519
Step 2050: grad_norm=0.0425, loss=0.0058, param_norm=1804.0565
Step 2100: grad_norm=0.0424, loss=0.0051, param_norm=1804.0605
Step 2150: grad_norm=0.0400, loss=0.0050, param_norm=1804.0649
Step 2200: grad_norm=0.0421, loss=0.0055, param_norm=1804.0693
Step 2250: grad_norm=0.0401, loss=0.0051, param_norm=1804.0734
Step 2300: grad_norm=0.0409, loss=0.0054, param_norm=1804.0768
Step 2350: grad_norm=0.0384, loss=0.0046, param_norm=1804.0803
Step 2400: grad_norm=0.0415, loss=0.0050, param_norm=1804.0840
Step 2450: grad_norm=0.0357, loss=0.0047, param_norm=1804.0881
Step 2500: grad_norm=0.0426, loss=0.0049, param_norm=1804.0912
Step 2550: grad_norm=0.0381, loss=0.0050, param_norm=1804.0938
Step 2600: grad_norm=0.0382, loss=0.0052, param_norm=1804.0966
Step 2650: grad_norm=0.0404, loss=0.0048, param_norm=1804.0994
Step 2700: grad_norm=0.0397, loss=0.0049, param_norm=1804.1018
Step 2750: grad_norm=0.0394, loss=0.0047, param_norm=1804.1044
Step 2800: grad_norm=0.0390, loss=0.0048, param_norm=1804.1069
Step 2850: grad_norm=0.0454, loss=0.0052, param_norm=1804.1090
Step 2900: grad_norm=0.0380, loss=0.0047, param_norm=1804.1116
Step 2950: grad_norm=0.0356, loss=0.0043, param_norm=1804.1139
Step 3000: grad_norm=0.0400, loss=0.0047, param_norm=1804.1156
Step 3050: grad_norm=0.0387, loss=0.0046, param_norm=1804.1172
Step 3100: grad_norm=0.0327, loss=0.0042, param_norm=1804.1184
Step 3150: grad_norm=0.0398, loss=0.0047, param_norm=1804.1198
Step 3200: grad_norm=0.0408, loss=0.0048, param_norm=1804.1213
Step 3250: grad_norm=0.0350, loss=0.0040, param_norm=1804.1234
Step 3300: grad_norm=0.0354, loss=0.0038, param_norm=1804.1250
Step 3350: grad_norm=0.0370, loss=0.0044, param_norm=1804.1259
Step 3400: grad_norm=0.0355, loss=0.0038, param_norm=1804.1272
Step 3450: grad_norm=0.0377, loss=0.0044, param_norm=1804.1279
Step 3500: grad_norm=0.0366, loss=0.0042, param_norm=1804.1292
Step 3550: grad_norm=0.0339, loss=0.0040, param_norm=1804.1302
Step 3600: grad_norm=0.0372, loss=0.0044, param_norm=1804.1312
Step 3650: grad_norm=0.0359, loss=0.0041, param_norm=1804.1318
Step 3700: grad_norm=0.0348, loss=0.0039, param_norm=1804.1324
Step 3750: grad_norm=0.0385, loss=0.0040, param_norm=1804.1331
Step 3800: grad_norm=0.0347, loss=0.0037, param_norm=1804.1340
Step 3850: grad_norm=0.0360, loss=0.0038, param_norm=1804.1346
Step 3900: grad_norm=0.0342, loss=0.0038, param_norm=1804.1353
Step 3950: grad_norm=0.0363, loss=0.0037, param_norm=1804.1359

途中の保存の記録です。1,000 ステップごとに保存し、最後の保存は 3999 という名前になります。

05:20:11.862 [I] Finished asynchronous save (blocking + background) in 8.45 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/1000 (2455:async_checkpointer.py:412)
07:17:53.335 [I] Finished asynchronous save (blocking + background) in 12.95 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/2000 (2455:async_checkpointer.py:412)
09:15:34.329 [I] Finished asynchronous save (blocking + background) in 8.47 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3000 (2455:async_checkpointer.py:412)
11:13:18.278 [I] Finished asynchronous save (blocking + background) in 27.02 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:async_checkpointer.py:412)

学習のログの最後の25行です。4,000 ステップまでの時間は 7時間55分29秒でした。最後の行の rate:14.2s/it は、保存の時間を含んだ最後の区間の値です。

11:13:15.215 [I] [process=0][thread=MainThread][step=3999] Starting CheckpointManager Save Finalize thread=save_finalize (2455:checkpoint_manager.py:1453)
11:13:15.216 [I] [process=0][thread=save_finalize] Waiting for background save thread=async_save. (2455:async_checkpointer.py:258)
11:13:15.217 [I] {'step': 3999, 'event_type': 'save', 'directory': '/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1', 'reached_preemption': False, 'preemption_received_at': None, 'synchronous': False, 'wait_for_prev_start_time': 1792494771.261079, 'wait_for_prev_duration_secs': 0.0001373291015625, 'checkpointer_blocking_start_time': 1792494771.2616944, 'checkpointer_blocking_duration_secs': 23.953718662261963, 'get_old_steps_start_time': 1792494795.215452, 'get_old_steps_duration_secs': 0.00018930435180664062, 'checkpoint_manager_blocking_start_time': 1792494771.2607076, 'checkpoint_manager_blocking_duration_secs': 23.956639051437378} (2455:standard_logger.py:34)
11:13:15.219 [I] Progress on: 4.00kit/4.00kit rate:14.2s/it remaining:00:00 elapsed:7:55:29 postfix:- (2455:tqdm_logging.py:145)
11:13:15.219 [I] Progress on: 4.00kit/4.00kit rate:14.2s/it remaining:00:00 elapsed:7:55:29 postfix:- (2455:tqdm_logging.py:145)
11:13:15.220 [I] Waiting for checkpoint manager to finish                                         (2455:train.py:275)
11:13:15.220 [I] [process=0][thread=MainThread][step=3999][wait_until_finished] Waiting for Save Finalize thread (save_finalize) to complete. (2455:checkpoint_manager.py:1998)
11:13:15.287 [I] [process=0][thread=array_type_handler] Wrote 105 array_metadata.ArrayMetadata to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state.orbax-checkpoint-tmp-15/array_metadatas/process_0 (2455:array_metadata_store.py:198)
11:13:17.881 [I] [process=0] /jax/checkpoint/write/bytes_per_sec: 277.4 MiB/s (total bytes: 7.2 GiB) (time elapsed: 26 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
11:13:18.261 [I] [process=0] /jax/checkpoint/write/bytes_per_sec: 132.0 MiB/s (total bytes: 3.5 GiB) (time elapsed: 26 seconds) (per-host) (2455:base_pytree_checkpoint_handler.py:114)
11:13:18.261 [I] [process=0][thread=async_save] 5 Handler Commit operations completed.            (2455:async_checkpointer.py:87)
11:13:18.262 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/assets.orbax-checkpoint-tmp-13 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/assets (2455:atomicity.py:289)
11:13:18.265 [I] [process=0][thread=async_save] Skipped cross-host ArrayMetadata validation because only one process is found: process_index=0. (2455:array_metadata_store.py:362)
11:13:18.270 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state.orbax-checkpoint-tmp-15 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/train_state (2455:atomicity.py:289)
11:13:18.272 [I] [process=0][thread=async_save] Skipped cross-host ArrayMetadata validation because only one process is found: process_index=0. (2455:array_metadata_store.py:362)
11:13:18.276 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/params.orbax-checkpoint-tmp-14 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12/params (2455:atomicity.py:289)
11:13:18.277 [I] Renaming /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999.orbax-checkpoint-tmp-12 to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:atomicity.py:289)
11:13:18.278 [I] [process=0][thread=async_save] Finished saving checkpoint (finalized tmp dir) to `/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999`. (2455:atomicity.py:573)
11:13:18.278 [I] Finished asynchronous save (blocking + background) in 27.02 seconds to /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 (2455:async_checkpointer.py:412)
11:13:18.278 [I] [process=0][thread=async_save] Background save thread done.                      (2455:async_checkpointer.py:143)
11:13:18.278 [I] [process=0][thread=save_finalize] Done with waiting for background save thread=async_save. (2455:async_checkpointer.py:266)
11:13:18.278 [I] [process=0][thread=save_finalize] No errors found in background save thread=async_save. (2455:async_checkpointer.py:276)
11:13:18.278 [I] [process=0][thread=save_finalize][step=3999] CheckpointManager Save Finalize is syncing with other hosts... (2455:checkpoint_manager.py:2095)
11:13:18.279 [I] [process=0][thread=save_finalize][step=3999] CheckpointManager Save Finalize is done on all hosts. (2455:checkpoint_manager.py:2110)
11:13:18.279 [I] [process=0][thread=MainThread][step=3999][wait_until_finished] Done waiting for Save Finalize thread (save_finalize) running at step=3999. (2455:checkpoint_manager.py:2010)

loss を前回の学習と並べると、ほとんど同じ下がり方だった

前回の学習(ほぼ同じ場所のお手本19本・LOG341 の 0〜1,950 ステップと、LOG348 の 2,000〜4,000 ステップ)と、今回の loss を並べました。

ステップ今回(5か所・19本)前回(ほぼ同じ場所・19本)
00.08580.1155
5000.01150.0128
1,0000.00780.0082
1,5000.00660.0057
2,0000.00580.0066
2,5000.00490.0048
3,0000.00470.0047
3,5000.00420.0034
3,9500.00370.0035
4,000(記録なし)0.0030

区間ごとの平均でも、差は小さいままでした。上の図解の「LOSS」の切り替えで、2本の線を重ねて見られます。

区間(ステップ)今回の平均前回の平均
0〜2500.04000.0474
300〜9500.01040.0112
1,000〜1,9500.00630.0065
2,000〜2,9500.00500.0047
3,000〜4,0000.00420.0035

前回のモデルは、loss が下がっていても、ブロックを置いた場所に関係なく、つかむときの土台(j0)と肩(j1)の角度がほぼ同じでした(LOG348)。loss は、お手本の各コマで「次の1秒の動き」をどれだけ当てられたかの平均です。π0.5 には、カメラの画像だけでなく、今の関節の角度も渡しています。アームがブロックへ向かって動き出したあとは、今の角度から続きの動きをほぼ当てられるはずで、画像を見ないと当てられないのは、どの置き場所でも同じ姿勢から始まる最初の数秒だと見ています(確かめてはいない見立てです)。1本約200コマのうちのそこだけでは、平均の loss にはほとんど表れません。画像を見て手を伸ばす先を決めているかは、実機で確かめます。

GPU は学習の間ずっと使用率100%、メモリは 41,279 MiB のままだった

学習の間、Mac の別のターミナルから Pod に入り、30 秒ごとに GPU の使用量を記録しました。

nvidia-smi --query-gpu=timestamp,memory.used,utilization.gpu --format=csv -l 30 | tee /workspace/logs/gpu_train.csv

メモリの 41,279 MiB は、XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 で、A40 の 48GB の9割を最初にまとめて確保した量です。実際にどれだけ使っているかは、この数字からは分かりません(Log#3 で測ったときは、先に確保しない設定で 8,486 MiB でした)。使用率は、コンパイルの途中の 03:20 に一度 100% になり、03:22 からは学習が終わる 11:13 までずっと 100% でした。終わったあとは 0 MiB・0% に戻っています。

記録の全958行(見出しを除く)です。

timestamp, memory.used [MiB], utilization.gpu [%]
2026/10/20 03:16:42.320, 41221 MiB, 0 %
2026/10/20 03:17:12.327, 41221 MiB, 0 %
2026/10/20 03:17:42.328, 41221 MiB, 0 %
2026/10/20 03:18:12.423, 41229 MiB, 0 %
2026/10/20 03:18:42.423, 41229 MiB, 0 %
2026/10/20 03:19:12.424, 41229 MiB, 0 %
2026/10/20 03:19:42.425, 41229 MiB, 0 %
2026/10/20 03:20:12.428, 41229 MiB, 0 %
2026/10/20 03:20:42.429, 41255 MiB, 100 %
2026/10/20 03:21:12.429, 41271 MiB, 0 %
2026/10/20 03:21:42.430, 41271 MiB, 0 %
2026/10/20 03:22:12.431, 41271 MiB, 0 %
2026/10/20 03:22:42.432, 41279 MiB, 100 %
2026/10/20 03:23:12.433, 41279 MiB, 100 %
2026/10/20 03:23:42.434, 41279 MiB, 100 %
2026/10/20 03:24:12.435, 41279 MiB, 100 %
2026/10/20 03:24:42.438, 41279 MiB, 100 %
2026/10/20 03:25:12.438, 41279 MiB, 100 %
2026/10/20 03:25:42.438, 41279 MiB, 100 %
2026/10/20 03:26:12.439, 41279 MiB, 100 %
2026/10/20 03:26:42.440, 41279 MiB, 100 %
2026/10/20 03:27:12.440, 41279 MiB, 100 %
2026/10/20 03:27:42.440, 41279 MiB, 100 %
2026/10/20 03:28:12.441, 41279 MiB, 100 %
2026/10/20 03:28:42.441, 41279 MiB, 100 %
2026/10/20 03:29:12.442, 41279 MiB, 100 %
2026/10/20 03:29:42.443, 41279 MiB, 100 %
2026/10/20 03:30:12.444, 41279 MiB, 100 %
2026/10/20 03:30:42.445, 41279 MiB, 100 %
2026/10/20 03:31:12.445, 41279 MiB, 100 %
2026/10/20 03:31:42.446, 41279 MiB, 100 %
2026/10/20 03:32:12.447, 41279 MiB, 100 %
2026/10/20 03:32:42.448, 41279 MiB, 100 %
2026/10/20 03:33:12.449, 41279 MiB, 100 %
2026/10/20 03:33:42.450, 41279 MiB, 100 %
2026/10/20 03:34:12.450, 41279 MiB, 100 %
2026/10/20 03:34:42.451, 41279 MiB, 100 %
2026/10/20 03:35:12.451, 41279 MiB, 100 %
2026/10/20 03:35:42.452, 41279 MiB, 100 %
2026/10/20 03:36:12.453, 41279 MiB, 100 %
2026/10/20 03:36:42.454, 41279 MiB, 100 %
2026/10/20 03:37:12.454, 41279 MiB, 100 %
2026/10/20 03:37:42.455, 41279 MiB, 100 %
2026/10/20 03:38:12.456, 41279 MiB, 100 %
2026/10/20 03:38:42.457, 41279 MiB, 100 %
2026/10/20 03:39:12.458, 41279 MiB, 100 %
2026/10/20 03:39:42.459, 41279 MiB, 100 %
2026/10/20 03:40:12.460, 41279 MiB, 100 %
2026/10/20 03:40:42.461, 41279 MiB, 100 %
2026/10/20 03:41:12.462, 41279 MiB, 100 %
2026/10/20 03:41:42.463, 41279 MiB, 100 %
2026/10/20 03:42:12.463, 41279 MiB, 100 %
2026/10/20 03:42:42.464, 41279 MiB, 100 %
2026/10/20 03:43:12.465, 41279 MiB, 100 %
2026/10/20 03:43:42.466, 41279 MiB, 100 %
2026/10/20 03:44:12.467, 41279 MiB, 100 %
2026/10/20 03:44:42.468, 41279 MiB, 100 %
2026/10/20 03:45:12.469, 41279 MiB, 100 %
2026/10/20 03:45:42.470, 41279 MiB, 100 %
2026/10/20 03:46:12.471, 41279 MiB, 100 %
2026/10/20 03:46:42.472, 41279 MiB, 100 %
2026/10/20 03:47:12.473, 41279 MiB, 100 %
2026/10/20 03:47:42.474, 41279 MiB, 100 %
2026/10/20 03:48:12.475, 41279 MiB, 100 %
2026/10/20 03:48:42.476, 41279 MiB, 100 %
2026/10/20 03:49:12.477, 41279 MiB, 100 %
2026/10/20 03:49:42.480, 41279 MiB, 100 %
2026/10/20 03:50:12.481, 41279 MiB, 100 %
2026/10/20 03:50:42.482, 41279 MiB, 100 %
2026/10/20 03:51:12.483, 41279 MiB, 100 %
2026/10/20 03:51:42.484, 41279 MiB, 100 %
2026/10/20 03:52:12.485, 41279 MiB, 100 %
2026/10/20 03:52:42.485, 41279 MiB, 100 %
2026/10/20 03:53:12.487, 41279 MiB, 100 %
2026/10/20 03:53:42.488, 41279 MiB, 100 %
2026/10/20 03:54:12.489, 41279 MiB, 100 %
2026/10/20 03:54:42.489, 41279 MiB, 100 %
2026/10/20 03:55:12.491, 41279 MiB, 100 %
2026/10/20 03:55:42.491, 41279 MiB, 100 %
2026/10/20 03:56:12.492, 41279 MiB, 100 %
2026/10/20 03:56:42.493, 41279 MiB, 100 %
2026/10/20 03:57:12.494, 41279 MiB, 100 %
2026/10/20 03:57:42.495, 41279 MiB, 100 %
2026/10/20 03:58:12.496, 41279 MiB, 100 %
2026/10/20 03:58:42.496, 41279 MiB, 100 %
2026/10/20 03:59:12.496, 41279 MiB, 100 %
2026/10/20 03:59:42.497, 41279 MiB, 100 %
2026/10/20 04:00:12.498, 41279 MiB, 100 %
2026/10/20 04:00:42.499, 41279 MiB, 100 %
2026/10/20 04:01:12.500, 41279 MiB, 100 %
2026/10/20 04:01:42.501, 41279 MiB, 100 %
2026/10/20 04:02:12.502, 41279 MiB, 100 %
2026/10/20 04:02:42.503, 41279 MiB, 100 %
2026/10/20 04:03:12.504, 41279 MiB, 100 %
2026/10/20 04:03:42.505, 41279 MiB, 100 %
2026/10/20 04:04:12.506, 41279 MiB, 100 %
2026/10/20 04:04:42.507, 41279 MiB, 100 %
2026/10/20 04:05:12.508, 41279 MiB, 100 %
2026/10/20 04:05:42.508, 41279 MiB, 100 %
2026/10/20 04:06:12.509, 41279 MiB, 100 %
2026/10/20 04:06:42.510, 41279 MiB, 100 %
2026/10/20 04:07:12.511, 41279 MiB, 100 %
2026/10/20 04:07:42.511, 41279 MiB, 100 %
2026/10/20 04:08:12.512, 41279 MiB, 100 %
2026/10/20 04:08:42.513, 41279 MiB, 100 %
2026/10/20 04:09:12.514, 41279 MiB, 100 %
2026/10/20 04:09:42.515, 41279 MiB, 100 %
2026/10/20 04:10:12.515, 41279 MiB, 100 %
2026/10/20 04:10:42.516, 41279 MiB, 100 %
2026/10/20 04:11:12.517, 41279 MiB, 100 %
2026/10/20 04:11:42.518, 41279 MiB, 100 %
2026/10/20 04:12:12.519, 41279 MiB, 100 %
2026/10/20 04:12:42.521, 41279 MiB, 100 %
2026/10/20 04:13:12.522, 41279 MiB, 100 %
2026/10/20 04:13:42.523, 41279 MiB, 100 %
2026/10/20 04:14:12.524, 41279 MiB, 100 %
2026/10/20 04:14:42.525, 41279 MiB, 100 %
2026/10/20 04:15:12.526, 41279 MiB, 100 %
2026/10/20 04:15:42.526, 41279 MiB, 100 %
2026/10/20 04:16:12.527, 41279 MiB, 100 %
2026/10/20 04:16:42.528, 41279 MiB, 100 %
2026/10/20 04:17:12.529, 41279 MiB, 100 %
2026/10/20 04:17:42.530, 41279 MiB, 100 %
2026/10/20 04:18:12.530, 41279 MiB, 100 %
2026/10/20 04:18:42.531, 41279 MiB, 100 %
2026/10/20 04:19:12.532, 41279 MiB, 100 %
2026/10/20 04:19:42.532, 41279 MiB, 100 %
2026/10/20 04:20:12.533, 41279 MiB, 100 %
2026/10/20 04:20:42.534, 41279 MiB, 100 %
2026/10/20 04:21:12.535, 41279 MiB, 100 %
2026/10/20 04:21:42.536, 41279 MiB, 100 %
2026/10/20 04:22:12.538, 41279 MiB, 100 %
2026/10/20 04:22:42.538, 41279 MiB, 100 %
2026/10/20 04:23:12.539, 41279 MiB, 100 %
2026/10/20 04:23:42.539, 41279 MiB, 100 %
2026/10/20 04:24:12.540, 41279 MiB, 100 %
2026/10/20 04:24:42.542, 41279 MiB, 100 %
2026/10/20 04:25:12.542, 41279 MiB, 100 %
2026/10/20 04:25:42.543, 41279 MiB, 100 %
2026/10/20 04:26:12.544, 41279 MiB, 100 %
2026/10/20 04:26:42.546, 41279 MiB, 100 %
2026/10/20 04:27:12.547, 41279 MiB, 100 %
2026/10/20 04:27:42.547, 41279 MiB, 100 %
2026/10/20 04:28:12.548, 41279 MiB, 100 %
2026/10/20 04:28:42.549, 41279 MiB, 100 %
2026/10/20 04:29:12.550, 41279 MiB, 100 %
2026/10/20 04:29:42.551, 41279 MiB, 100 %
2026/10/20 04:30:12.552, 41279 MiB, 100 %
2026/10/20 04:30:42.553, 41279 MiB, 100 %
2026/10/20 04:31:12.554, 41279 MiB, 100 %
2026/10/20 04:31:42.555, 41279 MiB, 100 %
2026/10/20 04:32:12.556, 41279 MiB, 100 %
2026/10/20 04:32:42.557, 41279 MiB, 100 %
2026/10/20 04:33:12.558, 41279 MiB, 100 %
2026/10/20 04:33:42.558, 41279 MiB, 100 %
2026/10/20 04:34:12.559, 41279 MiB, 100 %
2026/10/20 04:34:42.560, 41279 MiB, 100 %
2026/10/20 04:35:12.561, 41279 MiB, 100 %
2026/10/20 04:35:42.562, 41279 MiB, 100 %
2026/10/20 04:36:12.562, 41279 MiB, 100 %
2026/10/20 04:36:42.564, 41279 MiB, 100 %
2026/10/20 04:37:12.565, 41279 MiB, 100 %
2026/10/20 04:37:42.565, 41279 MiB, 100 %
2026/10/20 04:38:12.566, 41279 MiB, 100 %
2026/10/20 04:38:42.567, 41279 MiB, 100 %
2026/10/20 04:39:12.568, 41279 MiB, 100 %
2026/10/20 04:39:42.569, 41279 MiB, 100 %
2026/10/20 04:40:12.569, 41279 MiB, 100 %
2026/10/20 04:40:42.570, 41279 MiB, 100 %
2026/10/20 04:41:12.571, 41279 MiB, 100 %
2026/10/20 04:41:42.571, 41279 MiB, 100 %
2026/10/20 04:42:12.572, 41279 MiB, 100 %
2026/10/20 04:42:42.573, 41279 MiB, 100 %
2026/10/20 04:43:12.574, 41279 MiB, 100 %
2026/10/20 04:43:42.575, 41279 MiB, 100 %
2026/10/20 04:44:12.576, 41279 MiB, 100 %
2026/10/20 04:44:42.577, 41279 MiB, 100 %
2026/10/20 04:45:12.577, 41279 MiB, 100 %
2026/10/20 04:45:42.578, 41279 MiB, 100 %
2026/10/20 04:46:12.578, 41279 MiB, 100 %
2026/10/20 04:46:42.579, 41279 MiB, 100 %
2026/10/20 04:47:12.581, 41279 MiB, 100 %
2026/10/20 04:47:42.582, 41279 MiB, 100 %
2026/10/20 04:48:12.582, 41279 MiB, 100 %
2026/10/20 04:48:42.583, 41279 MiB, 100 %
2026/10/20 04:49:12.584, 41279 MiB, 100 %
2026/10/20 04:49:42.585, 41279 MiB, 100 %
2026/10/20 04:50:12.586, 41279 MiB, 100 %
2026/10/20 04:50:42.586, 41279 MiB, 100 %
2026/10/20 04:51:12.587, 41279 MiB, 100 %
2026/10/20 04:51:42.588, 41279 MiB, 100 %
2026/10/20 04:52:12.589, 41279 MiB, 100 %
2026/10/20 04:52:42.589, 41279 MiB, 100 %
2026/10/20 04:53:12.590, 41279 MiB, 100 %
2026/10/20 04:53:42.591, 41279 MiB, 100 %
2026/10/20 04:54:12.591, 41279 MiB, 100 %
2026/10/20 04:54:42.592, 41279 MiB, 100 %
2026/10/20 04:55:12.593, 41279 MiB, 100 %
2026/10/20 04:55:42.594, 41279 MiB, 100 %
2026/10/20 04:56:12.595, 41279 MiB, 100 %
2026/10/20 04:56:42.595, 41279 MiB, 100 %
2026/10/20 04:57:12.597, 41279 MiB, 100 %
2026/10/20 04:57:42.598, 41279 MiB, 100 %
2026/10/20 04:58:12.598, 41279 MiB, 100 %
2026/10/20 04:58:42.599, 41279 MiB, 100 %
2026/10/20 04:59:12.601, 41279 MiB, 100 %
2026/10/20 04:59:42.602, 41279 MiB, 100 %
2026/10/20 05:00:12.602, 41279 MiB, 100 %
2026/10/20 05:00:42.603, 41279 MiB, 100 %
2026/10/20 05:01:12.604, 41279 MiB, 100 %
2026/10/20 05:01:42.604, 41279 MiB, 100 %
2026/10/20 05:02:12.605, 41279 MiB, 100 %
2026/10/20 05:02:42.606, 41279 MiB, 100 %
2026/10/20 05:03:12.606, 41279 MiB, 100 %
2026/10/20 05:03:42.607, 41279 MiB, 100 %
2026/10/20 05:04:12.608, 41279 MiB, 100 %
2026/10/20 05:04:42.609, 41279 MiB, 100 %
2026/10/20 05:05:12.609, 41279 MiB, 100 %
2026/10/20 05:05:42.610, 41279 MiB, 100 %
2026/10/20 05:06:12.611, 41279 MiB, 100 %
2026/10/20 05:06:42.612, 41279 MiB, 100 %
2026/10/20 05:07:12.612, 41279 MiB, 100 %
2026/10/20 05:07:42.614, 41279 MiB, 100 %
2026/10/20 05:08:12.615, 41279 MiB, 100 %
2026/10/20 05:08:42.615, 41279 MiB, 100 %
2026/10/20 05:09:12.616, 41279 MiB, 100 %
2026/10/20 05:09:42.617, 41279 MiB, 100 %
2026/10/20 05:10:12.618, 41279 MiB, 100 %
2026/10/20 05:10:42.618, 41279 MiB, 100 %
2026/10/20 05:11:12.619, 41279 MiB, 100 %
2026/10/20 05:11:42.620, 41279 MiB, 100 %
2026/10/20 05:12:12.621, 41279 MiB, 100 %
2026/10/20 05:12:42.622, 41279 MiB, 100 %
2026/10/20 05:13:12.622, 41279 MiB, 100 %
2026/10/20 05:13:42.624, 41279 MiB, 100 %
2026/10/20 05:14:12.625, 41279 MiB, 100 %
2026/10/20 05:14:42.627, 41279 MiB, 100 %
2026/10/20 05:15:12.627, 41279 MiB, 100 %
2026/10/20 05:15:42.629, 41279 MiB, 99 %
2026/10/20 05:16:12.629, 41279 MiB, 100 %
2026/10/20 05:16:42.630, 41279 MiB, 100 %
2026/10/20 05:17:12.631, 41279 MiB, 100 %
2026/10/20 05:17:42.632, 41279 MiB, 100 %
2026/10/20 05:18:12.633, 41279 MiB, 100 %
2026/10/20 05:18:42.635, 41279 MiB, 100 %
2026/10/20 05:19:12.635, 41279 MiB, 100 %
2026/10/20 05:19:42.636, 41279 MiB, 99 %
2026/10/20 05:20:12.637, 41279 MiB, 100 %
2026/10/20 05:20:42.638, 41279 MiB, 100 %
2026/10/20 05:21:12.638, 41279 MiB, 100 %
2026/10/20 05:21:42.639, 41279 MiB, 100 %
2026/10/20 05:22:12.639, 41279 MiB, 100 %
2026/10/20 05:22:42.640, 41279 MiB, 100 %
2026/10/20 05:23:12.640, 41279 MiB, 100 %
2026/10/20 05:23:42.641, 41279 MiB, 100 %
2026/10/20 05:24:12.641, 41279 MiB, 100 %
2026/10/20 05:24:42.642, 41279 MiB, 100 %
2026/10/20 05:25:12.643, 41279 MiB, 100 %
2026/10/20 05:25:42.644, 41279 MiB, 100 %
2026/10/20 05:26:12.645, 41279 MiB, 100 %
2026/10/20 05:26:42.645, 41279 MiB, 100 %
2026/10/20 05:27:12.646, 41279 MiB, 100 %
2026/10/20 05:27:42.647, 41279 MiB, 100 %
2026/10/20 05:28:12.648, 41279 MiB, 100 %
2026/10/20 05:28:42.648, 41279 MiB, 100 %
2026/10/20 05:29:12.651, 41279 MiB, 100 %
2026/10/20 05:29:42.652, 41279 MiB, 100 %
2026/10/20 05:30:12.653, 41279 MiB, 100 %
2026/10/20 05:30:42.658, 41279 MiB, 100 %
2026/10/20 05:31:12.659, 41279 MiB, 100 %
2026/10/20 05:31:42.660, 41279 MiB, 100 %
2026/10/20 05:32:12.660, 41279 MiB, 100 %
2026/10/20 05:32:42.661, 41279 MiB, 100 %
2026/10/20 05:33:12.662, 41279 MiB, 100 %
2026/10/20 05:33:42.663, 41279 MiB, 100 %
2026/10/20 05:34:12.664, 41279 MiB, 100 %
2026/10/20 05:34:42.664, 41279 MiB, 100 %
2026/10/20 05:35:12.666, 41279 MiB, 100 %
2026/10/20 05:35:42.666, 41279 MiB, 100 %
2026/10/20 05:36:12.668, 41279 MiB, 100 %
2026/10/20 05:36:42.669, 41279 MiB, 100 %
2026/10/20 05:37:12.670, 41279 MiB, 100 %
2026/10/20 05:37:42.670, 41279 MiB, 100 %
2026/10/20 05:38:12.671, 41279 MiB, 100 %
2026/10/20 05:38:42.672, 41279 MiB, 100 %
2026/10/20 05:39:12.673, 41279 MiB, 100 %
2026/10/20 05:39:42.674, 41279 MiB, 100 %
2026/10/20 05:40:12.675, 41279 MiB, 100 %
2026/10/20 05:40:42.676, 41279 MiB, 100 %
2026/10/20 05:41:12.676, 41279 MiB, 100 %
2026/10/20 05:41:42.677, 41279 MiB, 100 %
2026/10/20 05:42:12.677, 41279 MiB, 100 %
2026/10/20 05:42:42.678, 41279 MiB, 100 %
2026/10/20 05:43:12.679, 41279 MiB, 100 %
2026/10/20 05:43:42.680, 41279 MiB, 100 %
2026/10/20 05:44:12.681, 41279 MiB, 100 %
2026/10/20 05:44:42.681, 41279 MiB, 100 %
2026/10/20 05:45:12.682, 41279 MiB, 100 %
2026/10/20 05:45:42.683, 41279 MiB, 100 %
2026/10/20 05:46:12.684, 41279 MiB, 100 %
2026/10/20 05:46:42.685, 41279 MiB, 100 %
2026/10/20 05:47:12.686, 41279 MiB, 100 %
2026/10/20 05:47:42.686, 41279 MiB, 100 %
2026/10/20 05:48:12.687, 41279 MiB, 100 %
2026/10/20 05:48:42.688, 41279 MiB, 100 %
2026/10/20 05:49:12.689, 41279 MiB, 100 %
2026/10/20 05:49:42.690, 41279 MiB, 100 %
2026/10/20 05:50:12.691, 41279 MiB, 100 %
2026/10/20 05:50:42.692, 41279 MiB, 100 %
2026/10/20 05:51:12.693, 41279 MiB, 100 %
2026/10/20 05:51:42.694, 41279 MiB, 100 %
2026/10/20 05:52:12.695, 41279 MiB, 100 %
2026/10/20 05:52:42.696, 41279 MiB, 100 %
2026/10/20 05:53:12.697, 41279 MiB, 100 %
2026/10/20 05:53:42.698, 41279 MiB, 100 %
2026/10/20 05:54:12.698, 41279 MiB, 100 %
2026/10/20 05:54:42.699, 41279 MiB, 100 %
2026/10/20 05:55:12.700, 41279 MiB, 100 %
2026/10/20 05:55:42.701, 41279 MiB, 100 %
2026/10/20 05:56:12.702, 41279 MiB, 100 %
2026/10/20 05:56:42.704, 41279 MiB, 100 %
2026/10/20 05:57:12.705, 41279 MiB, 100 %
2026/10/20 05:57:42.706, 41279 MiB, 100 %
2026/10/20 05:58:12.707, 41279 MiB, 100 %
2026/10/20 05:58:42.708, 41279 MiB, 100 %
2026/10/20 05:59:12.709, 41279 MiB, 100 %
2026/10/20 05:59:42.710, 41279 MiB, 100 %
2026/10/20 06:00:12.710, 41279 MiB, 100 %
2026/10/20 06:00:42.712, 41279 MiB, 100 %
2026/10/20 06:01:12.713, 41279 MiB, 100 %
2026/10/20 06:01:42.714, 41279 MiB, 100 %
2026/10/20 06:02:12.714, 41279 MiB, 100 %
2026/10/20 06:02:42.715, 41279 MiB, 100 %
2026/10/20 06:03:12.716, 41279 MiB, 100 %
2026/10/20 06:03:42.717, 41279 MiB, 100 %
2026/10/20 06:04:12.717, 41279 MiB, 100 %
2026/10/20 06:04:42.718, 41279 MiB, 100 %
2026/10/20 06:05:12.718, 41279 MiB, 100 %
2026/10/20 06:05:42.719, 41279 MiB, 100 %
2026/10/20 06:06:12.720, 41279 MiB, 100 %
2026/10/20 06:06:42.720, 41279 MiB, 100 %
2026/10/20 06:07:12.721, 41279 MiB, 100 %
2026/10/20 06:07:42.722, 41279 MiB, 100 %
2026/10/20 06:08:12.723, 41279 MiB, 100 %
2026/10/20 06:08:42.724, 41279 MiB, 100 %
2026/10/20 06:09:12.724, 41279 MiB, 100 %
2026/10/20 06:09:42.725, 41279 MiB, 100 %
2026/10/20 06:10:12.726, 41279 MiB, 100 %
2026/10/20 06:10:42.727, 41279 MiB, 100 %
2026/10/20 06:11:12.728, 41279 MiB, 100 %
2026/10/20 06:11:42.728, 41279 MiB, 100 %
2026/10/20 06:12:12.729, 41279 MiB, 100 %
2026/10/20 06:12:42.730, 41279 MiB, 100 %
2026/10/20 06:13:12.730, 41279 MiB, 100 %
2026/10/20 06:13:42.731, 41279 MiB, 100 %
2026/10/20 06:14:12.732, 41279 MiB, 100 %
2026/10/20 06:14:42.732, 41279 MiB, 100 %
2026/10/20 06:15:12.733, 41279 MiB, 100 %
2026/10/20 06:15:42.734, 41279 MiB, 100 %
2026/10/20 06:16:12.734, 41279 MiB, 100 %
2026/10/20 06:16:42.735, 41279 MiB, 100 %
2026/10/20 06:17:12.736, 41279 MiB, 100 %
2026/10/20 06:17:42.736, 41279 MiB, 100 %
2026/10/20 06:18:12.737, 41279 MiB, 100 %
2026/10/20 06:18:42.738, 41279 MiB, 100 %
2026/10/20 06:19:12.739, 41279 MiB, 100 %
2026/10/20 06:19:42.741, 41279 MiB, 100 %
2026/10/20 06:20:12.741, 41279 MiB, 100 %
2026/10/20 06:20:42.742, 41279 MiB, 100 %
2026/10/20 06:21:12.743, 41279 MiB, 100 %
2026/10/20 06:21:42.743, 41279 MiB, 100 %
2026/10/20 06:22:12.744, 41279 MiB, 100 %
2026/10/20 06:22:42.745, 41279 MiB, 100 %
2026/10/20 06:23:12.745, 41279 MiB, 100 %
2026/10/20 06:23:42.746, 41279 MiB, 100 %
2026/10/20 06:24:12.746, 41279 MiB, 100 %
2026/10/20 06:24:42.747, 41279 MiB, 100 %
2026/10/20 06:25:12.747, 41279 MiB, 100 %
2026/10/20 06:25:42.748, 41279 MiB, 100 %
2026/10/20 06:26:12.748, 41279 MiB, 100 %
2026/10/20 06:26:42.748, 41279 MiB, 100 %
2026/10/20 06:27:12.749, 41279 MiB, 100 %
2026/10/20 06:27:42.749, 41279 MiB, 100 %
2026/10/20 06:28:12.750, 41279 MiB, 100 %
2026/10/20 06:28:42.750, 41279 MiB, 100 %
2026/10/20 06:29:12.751, 41279 MiB, 100 %
2026/10/20 06:29:42.751, 41279 MiB, 100 %
2026/10/20 06:30:12.752, 41546 MiB, 100 %
2026/10/20 06:30:42.752, 41279 MiB, 100 %
2026/10/20 06:31:12.753, 41279 MiB, 100 %
2026/10/20 06:31:42.753, 41279 MiB, 100 %
2026/10/20 06:32:12.753, 41279 MiB, 100 %
2026/10/20 06:32:42.754, 41279 MiB, 100 %
2026/10/20 06:33:12.754, 41279 MiB, 100 %
2026/10/20 06:33:42.755, 41279 MiB, 100 %
2026/10/20 06:34:12.755, 41279 MiB, 100 %
2026/10/20 06:34:42.756, 41279 MiB, 100 %
2026/10/20 06:35:12.756, 41279 MiB, 100 %
2026/10/20 06:35:42.757, 41279 MiB, 100 %
2026/10/20 06:36:12.757, 41279 MiB, 100 %
2026/10/20 06:36:42.758, 41279 MiB, 100 %
2026/10/20 06:37:12.759, 41279 MiB, 100 %
2026/10/20 06:37:42.760, 41279 MiB, 100 %
2026/10/20 06:38:12.760, 41279 MiB, 100 %
2026/10/20 06:38:42.762, 41279 MiB, 100 %
2026/10/20 06:39:12.762, 41279 MiB, 100 %
2026/10/20 06:39:42.763, 41279 MiB, 100 %
2026/10/20 06:40:12.763, 41279 MiB, 100 %
2026/10/20 06:40:42.764, 41279 MiB, 100 %
2026/10/20 06:41:12.764, 41279 MiB, 100 %
2026/10/20 06:41:42.765, 41279 MiB, 100 %
2026/10/20 06:42:12.765, 41279 MiB, 100 %
2026/10/20 06:42:42.766, 41279 MiB, 100 %
2026/10/20 06:43:12.767, 41279 MiB, 100 %
2026/10/20 06:43:42.768, 41279 MiB, 100 %
2026/10/20 06:44:12.768, 41279 MiB, 100 %
2026/10/20 06:44:42.769, 41279 MiB, 100 %
2026/10/20 06:45:12.769, 41279 MiB, 100 %
2026/10/20 06:45:42.770, 41279 MiB, 100 %
2026/10/20 06:46:12.770, 41279 MiB, 100 %
2026/10/20 06:46:42.771, 41279 MiB, 100 %
2026/10/20 06:47:12.772, 41279 MiB, 100 %
2026/10/20 06:47:42.772, 41279 MiB, 99 %
2026/10/20 06:48:12.773, 41279 MiB, 100 %
2026/10/20 06:48:42.773, 41279 MiB, 100 %
2026/10/20 06:49:12.774, 41279 MiB, 100 %
2026/10/20 06:49:42.774, 41279 MiB, 100 %
2026/10/20 06:50:12.775, 41279 MiB, 100 %
2026/10/20 06:50:42.776, 41279 MiB, 100 %
2026/10/20 06:51:12.777, 41279 MiB, 100 %
2026/10/20 06:51:42.777, 41279 MiB, 100 %
2026/10/20 06:52:12.778, 41279 MiB, 100 %
2026/10/20 06:52:42.778, 41279 MiB, 100 %
2026/10/20 06:53:12.779, 41279 MiB, 100 %
2026/10/20 06:53:42.779, 41279 MiB, 100 %
2026/10/20 06:54:12.780, 41279 MiB, 100 %
2026/10/20 06:54:42.780, 41279 MiB, 100 %
2026/10/20 06:55:12.781, 41279 MiB, 100 %
2026/10/20 06:55:42.782, 41279 MiB, 100 %
2026/10/20 06:56:12.782, 41279 MiB, 100 %
2026/10/20 06:56:42.783, 41279 MiB, 100 %
2026/10/20 06:57:12.784, 41279 MiB, 100 %
2026/10/20 06:57:42.785, 41279 MiB, 100 %
2026/10/20 06:58:12.785, 41279 MiB, 100 %
2026/10/20 06:58:42.786, 41279 MiB, 100 %
2026/10/20 06:59:12.786, 41279 MiB, 100 %
2026/10/20 06:59:42.787, 41279 MiB, 100 %
2026/10/20 07:00:12.788, 41279 MiB, 100 %
2026/10/20 07:00:42.788, 41279 MiB, 100 %
2026/10/20 07:01:12.789, 41279 MiB, 100 %
2026/10/20 07:01:42.789, 41279 MiB, 100 %
2026/10/20 07:02:12.789, 41279 MiB, 100 %
2026/10/20 07:02:42.790, 41279 MiB, 100 %
2026/10/20 07:03:12.791, 41279 MiB, 100 %
2026/10/20 07:03:42.791, 41279 MiB, 100 %
2026/10/20 07:04:12.792, 41279 MiB, 100 %
2026/10/20 07:04:42.793, 41279 MiB, 100 %
2026/10/20 07:05:12.793, 41279 MiB, 100 %
2026/10/20 07:05:42.793, 41279 MiB, 100 %
2026/10/20 07:06:12.794, 41279 MiB, 100 %
2026/10/20 07:06:42.795, 41279 MiB, 100 %
2026/10/20 07:07:12.795, 41279 MiB, 100 %
2026/10/20 07:07:42.796, 41279 MiB, 100 %
2026/10/20 07:08:12.796, 41279 MiB, 100 %
2026/10/20 07:08:42.797, 41279 MiB, 100 %
2026/10/20 07:09:12.798, 41279 MiB, 100 %
2026/10/20 07:09:42.798, 41279 MiB, 100 %
2026/10/20 07:10:12.798, 41279 MiB, 100 %
2026/10/20 07:10:42.799, 41279 MiB, 100 %
2026/10/20 07:11:12.800, 41279 MiB, 100 %
2026/10/20 07:11:42.801, 41279 MiB, 100 %
2026/10/20 07:12:12.801, 41279 MiB, 100 %
2026/10/20 07:12:42.802, 41279 MiB, 100 %
2026/10/20 07:13:12.803, 41279 MiB, 100 %
2026/10/20 07:13:42.803, 41279 MiB, 100 %
2026/10/20 07:14:12.804, 41279 MiB, 100 %
2026/10/20 07:14:42.805, 41279 MiB, 100 %
2026/10/20 07:15:12.805, 41279 MiB, 100 %
2026/10/20 07:15:42.806, 41279 MiB, 100 %
2026/10/20 07:16:12.806, 41279 MiB, 100 %
2026/10/20 07:16:42.807, 41279 MiB, 100 %
2026/10/20 07:17:12.807, 41279 MiB, 100 %
2026/10/20 07:17:42.808, 41279 MiB, 6 %
2026/10/20 07:18:12.809, 41279 MiB, 100 %
2026/10/20 07:18:42.809, 41279 MiB, 100 %
2026/10/20 07:19:12.809, 41279 MiB, 100 %
2026/10/20 07:19:42.810, 41279 MiB, 100 %
2026/10/20 07:20:12.811, 41279 MiB, 100 %
2026/10/20 07:20:42.812, 41279 MiB, 100 %
2026/10/20 07:21:12.812, 41279 MiB, 100 %
2026/10/20 07:21:42.813, 41279 MiB, 100 %
2026/10/20 07:22:12.813, 41279 MiB, 100 %
2026/10/20 07:22:42.814, 41279 MiB, 100 %
2026/10/20 07:23:12.814, 41279 MiB, 100 %
2026/10/20 07:23:42.815, 41279 MiB, 100 %
2026/10/20 07:24:12.816, 41279 MiB, 100 %
2026/10/20 07:24:42.816, 41279 MiB, 100 %
2026/10/20 07:25:12.817, 41279 MiB, 100 %
2026/10/20 07:25:42.817, 41279 MiB, 100 %
2026/10/20 07:26:12.818, 41279 MiB, 100 %
2026/10/20 07:26:42.819, 41279 MiB, 100 %
2026/10/20 07:27:12.819, 41279 MiB, 100 %
2026/10/20 07:27:42.820, 41279 MiB, 100 %
2026/10/20 07:28:12.820, 41279 MiB, 100 %
2026/10/20 07:28:42.821, 41279 MiB, 100 %
2026/10/20 07:29:12.822, 41279 MiB, 100 %
2026/10/20 07:29:42.822, 41279 MiB, 100 %
2026/10/20 07:30:12.823, 41546 MiB, 100 %
2026/10/20 07:30:42.824, 41279 MiB, 100 %
2026/10/20 07:31:12.825, 41279 MiB, 100 %
2026/10/20 07:31:42.826, 41279 MiB, 99 %
2026/10/20 07:32:12.826, 41279 MiB, 100 %
2026/10/20 07:32:42.827, 41279 MiB, 100 %
2026/10/20 07:33:12.827, 41279 MiB, 100 %
2026/10/20 07:33:42.828, 41279 MiB, 100 %
2026/10/20 07:34:12.829, 41279 MiB, 100 %
2026/10/20 07:34:42.829, 41279 MiB, 100 %
2026/10/20 07:35:12.830, 41279 MiB, 100 %
2026/10/20 07:35:42.831, 41279 MiB, 100 %
2026/10/20 07:36:12.831, 41279 MiB, 100 %
2026/10/20 07:36:42.832, 41279 MiB, 100 %
2026/10/20 07:37:12.833, 41279 MiB, 100 %
2026/10/20 07:37:42.834, 41279 MiB, 100 %
2026/10/20 07:38:12.835, 41279 MiB, 100 %
2026/10/20 07:38:42.836, 41279 MiB, 100 %
2026/10/20 07:39:12.836, 41279 MiB, 100 %
2026/10/20 07:39:42.836, 41279 MiB, 100 %
2026/10/20 07:40:12.837, 41279 MiB, 100 %
2026/10/20 07:40:42.838, 41279 MiB, 100 %
2026/10/20 07:41:12.838, 41279 MiB, 100 %
2026/10/20 07:41:42.839, 41279 MiB, 100 %
2026/10/20 07:42:12.839, 41279 MiB, 100 %
2026/10/20 07:42:42.840, 41279 MiB, 100 %
2026/10/20 07:43:12.840, 41279 MiB, 100 %
2026/10/20 07:43:42.841, 41279 MiB, 100 %
2026/10/20 07:44:12.842, 41279 MiB, 100 %
2026/10/20 07:44:42.842, 41279 MiB, 100 %
2026/10/20 07:45:12.843, 41279 MiB, 100 %
2026/10/20 07:45:42.844, 41279 MiB, 100 %
2026/10/20 07:46:12.844, 41279 MiB, 100 %
2026/10/20 07:46:42.845, 41279 MiB, 100 %
2026/10/20 07:47:12.845, 41279 MiB, 100 %
2026/10/20 07:47:42.846, 41279 MiB, 100 %
2026/10/20 07:48:12.847, 41279 MiB, 100 %
2026/10/20 07:48:42.847, 41279 MiB, 100 %
2026/10/20 07:49:12.848, 41279 MiB, 100 %
2026/10/20 07:49:42.848, 41279 MiB, 100 %
2026/10/20 07:50:12.849, 41279 MiB, 100 %
2026/10/20 07:50:42.849, 41279 MiB, 100 %
2026/10/20 07:51:12.850, 41279 MiB, 100 %
2026/10/20 07:51:42.850, 41279 MiB, 100 %
2026/10/20 07:52:12.851, 41279 MiB, 100 %
2026/10/20 07:52:42.851, 41279 MiB, 100 %
2026/10/20 07:53:12.852, 41279 MiB, 100 %
2026/10/20 07:53:42.853, 41279 MiB, 100 %
2026/10/20 07:54:12.853, 41279 MiB, 100 %
2026/10/20 07:54:42.854, 41279 MiB, 100 %
2026/10/20 07:55:12.854, 41279 MiB, 100 %
2026/10/20 07:55:42.855, 41279 MiB, 100 %
2026/10/20 07:56:12.855, 41279 MiB, 100 %
2026/10/20 07:56:42.856, 41279 MiB, 100 %
2026/10/20 07:57:12.856, 41279 MiB, 100 %
2026/10/20 07:57:42.857, 41279 MiB, 100 %
2026/10/20 07:58:12.858, 41279 MiB, 100 %
2026/10/20 07:58:42.859, 41279 MiB, 100 %
2026/10/20 07:59:12.860, 41279 MiB, 100 %
2026/10/20 07:59:42.861, 41279 MiB, 100 %
2026/10/20 08:00:12.862, 41279 MiB, 100 %
2026/10/20 08:00:42.863, 41279 MiB, 100 %
2026/10/20 08:01:12.864, 41279 MiB, 100 %
2026/10/20 08:01:42.865, 41279 MiB, 100 %
2026/10/20 08:02:12.866, 41279 MiB, 100 %
2026/10/20 08:02:42.866, 41279 MiB, 100 %
2026/10/20 08:03:12.867, 41279 MiB, 100 %
2026/10/20 08:03:42.868, 41279 MiB, 100 %
2026/10/20 08:04:12.869, 41279 MiB, 100 %
2026/10/20 08:04:42.870, 41279 MiB, 100 %
2026/10/20 08:05:12.871, 41279 MiB, 100 %
2026/10/20 08:05:42.872, 41279 MiB, 100 %
2026/10/20 08:06:12.873, 41279 MiB, 100 %
2026/10/20 08:06:42.874, 41279 MiB, 100 %
2026/10/20 08:07:12.875, 41279 MiB, 100 %
2026/10/20 08:07:42.876, 41279 MiB, 100 %
2026/10/20 08:08:12.876, 41279 MiB, 100 %
2026/10/20 08:08:42.877, 41279 MiB, 100 %
2026/10/20 08:09:12.878, 41279 MiB, 100 %
2026/10/20 08:09:42.878, 41279 MiB, 100 %
2026/10/20 08:10:12.879, 41279 MiB, 100 %
2026/10/20 08:10:42.881, 41279 MiB, 100 %
2026/10/20 08:11:12.882, 41279 MiB, 100 %
2026/10/20 08:11:42.883, 41279 MiB, 100 %
2026/10/20 08:12:12.884, 41279 MiB, 100 %
2026/10/20 08:12:42.885, 41279 MiB, 100 %
2026/10/20 08:13:12.886, 41279 MiB, 100 %
2026/10/20 08:13:42.886, 41279 MiB, 100 %
2026/10/20 08:14:12.887, 41279 MiB, 100 %
2026/10/20 08:14:42.888, 41279 MiB, 100 %
2026/10/20 08:15:12.889, 41279 MiB, 100 %
2026/10/20 08:15:42.890, 41279 MiB, 100 %
2026/10/20 08:16:12.891, 41279 MiB, 100 %
2026/10/20 08:16:42.892, 41279 MiB, 100 %
2026/10/20 08:17:12.893, 41279 MiB, 100 %
2026/10/20 08:17:42.894, 41279 MiB, 100 %
2026/10/20 08:18:12.895, 41279 MiB, 100 %
2026/10/20 08:18:42.895, 41279 MiB, 100 %
2026/10/20 08:19:12.896, 41279 MiB, 100 %
2026/10/20 08:19:42.897, 41279 MiB, 100 %
2026/10/20 08:20:12.898, 41279 MiB, 100 %
2026/10/20 08:20:42.899, 41279 MiB, 100 %
2026/10/20 08:21:12.900, 41279 MiB, 100 %
2026/10/20 08:21:42.901, 41279 MiB, 100 %
2026/10/20 08:22:12.902, 41279 MiB, 100 %
2026/10/20 08:22:42.903, 41279 MiB, 100 %
2026/10/20 08:23:12.903, 41279 MiB, 100 %
2026/10/20 08:23:42.904, 41279 MiB, 100 %
2026/10/20 08:24:12.905, 41279 MiB, 100 %
2026/10/20 08:24:42.906, 41279 MiB, 100 %
2026/10/20 08:25:12.907, 41279 MiB, 100 %
2026/10/20 08:25:42.908, 41279 MiB, 100 %
2026/10/20 08:26:12.909, 41279 MiB, 100 %
2026/10/20 08:26:42.909, 41279 MiB, 100 %
2026/10/20 08:27:12.910, 41279 MiB, 100 %
2026/10/20 08:27:42.911, 41279 MiB, 100 %
2026/10/20 08:28:12.912, 41279 MiB, 100 %
2026/10/20 08:28:42.912, 41279 MiB, 100 %
2026/10/20 08:29:12.913, 41279 MiB, 99 %
2026/10/20 08:29:42.914, 41279 MiB, 100 %
2026/10/20 08:30:12.915, 41279 MiB, 100 %
2026/10/20 08:30:42.916, 41279 MiB, 100 %
2026/10/20 08:31:12.917, 41279 MiB, 100 %
2026/10/20 08:31:42.918, 41279 MiB, 100 %
2026/10/20 08:32:12.919, 41279 MiB, 100 %
2026/10/20 08:32:42.920, 41279 MiB, 100 %
2026/10/20 08:33:12.921, 41279 MiB, 99 %
2026/10/20 08:33:42.921, 41279 MiB, 100 %
2026/10/20 08:34:12.922, 41279 MiB, 100 %
2026/10/20 08:34:42.923, 41279 MiB, 100 %
2026/10/20 08:35:12.924, 41279 MiB, 100 %
2026/10/20 08:35:42.925, 41279 MiB, 100 %
2026/10/20 08:36:12.925, 41279 MiB, 100 %
2026/10/20 08:36:42.927, 41279 MiB, 100 %
2026/10/20 08:37:12.927, 41279 MiB, 99 %
2026/10/20 08:37:42.928, 41279 MiB, 100 %
2026/10/20 08:38:12.929, 41279 MiB, 100 %
2026/10/20 08:38:42.930, 41279 MiB, 100 %
2026/10/20 08:39:12.931, 41279 MiB, 100 %
2026/10/20 08:39:42.931, 41279 MiB, 100 %
2026/10/20 08:40:12.933, 41279 MiB, 100 %
2026/10/20 08:40:42.934, 41279 MiB, 100 %
2026/10/20 08:41:12.935, 41279 MiB, 100 %
2026/10/20 08:41:42.936, 41279 MiB, 100 %
2026/10/20 08:42:12.937, 41279 MiB, 100 %
2026/10/20 08:42:42.938, 41279 MiB, 100 %
2026/10/20 08:43:12.938, 41279 MiB, 100 %
2026/10/20 08:43:42.939, 41279 MiB, 100 %
2026/10/20 08:44:12.940, 41279 MiB, 100 %
2026/10/20 08:44:42.941, 41279 MiB, 100 %
2026/10/20 08:45:12.942, 41279 MiB, 100 %
2026/10/20 08:45:42.943, 41279 MiB, 100 %
2026/10/20 08:46:12.943, 41279 MiB, 100 %
2026/10/20 08:46:42.944, 41279 MiB, 100 %
2026/10/20 08:47:12.945, 41279 MiB, 100 %
2026/10/20 08:47:42.945, 41279 MiB, 100 %
2026/10/20 08:48:12.946, 41279 MiB, 100 %
2026/10/20 08:48:42.947, 41279 MiB, 100 %
2026/10/20 08:49:12.947, 41279 MiB, 100 %
2026/10/20 08:49:42.948, 41279 MiB, 100 %
2026/10/20 08:50:12.949, 41279 MiB, 100 %
2026/10/20 08:50:42.951, 41279 MiB, 100 %
2026/10/20 08:51:12.952, 41279 MiB, 100 %
2026/10/20 08:51:42.953, 41279 MiB, 100 %
2026/10/20 08:52:12.953, 41279 MiB, 100 %
2026/10/20 08:52:42.955, 41279 MiB, 100 %
2026/10/20 08:53:12.956, 41279 MiB, 100 %
2026/10/20 08:53:42.957, 41279 MiB, 100 %
2026/10/20 08:54:12.958, 41279 MiB, 100 %
2026/10/20 08:54:42.959, 41279 MiB, 100 %
2026/10/20 08:55:12.960, 41279 MiB, 100 %
2026/10/20 08:55:42.961, 41279 MiB, 100 %
2026/10/20 08:56:12.962, 41279 MiB, 100 %
2026/10/20 08:56:42.963, 41279 MiB, 100 %
2026/10/20 08:57:13.014, 41279 MiB, 100 %
2026/10/20 08:57:43.015, 41279 MiB, 100 %
2026/10/20 08:58:13.016, 41279 MiB, 100 %
2026/10/20 08:58:43.019, 41279 MiB, 100 %
2026/10/20 08:59:13.020, 41279 MiB, 100 %
2026/10/20 08:59:43.020, 41279 MiB, 100 %
2026/10/20 09:00:13.021, 41279 MiB, 100 %
2026/10/20 09:00:43.022, 41279 MiB, 100 %
2026/10/20 09:01:13.023, 41279 MiB, 100 %
2026/10/20 09:01:43.024, 41279 MiB, 100 %
2026/10/20 09:02:13.025, 41279 MiB, 100 %
2026/10/20 09:02:43.026, 41279 MiB, 100 %
2026/10/20 09:03:13.026, 41279 MiB, 100 %
2026/10/20 09:03:43.027, 41279 MiB, 100 %
2026/10/20 09:04:13.028, 41279 MiB, 100 %
2026/10/20 09:04:43.029, 41279 MiB, 100 %
2026/10/20 09:05:13.030, 41279 MiB, 100 %
2026/10/20 09:05:43.030, 41279 MiB, 100 %
2026/10/20 09:06:13.031, 41279 MiB, 100 %
2026/10/20 09:06:43.032, 41279 MiB, 100 %
2026/10/20 09:07:13.033, 41279 MiB, 100 %
2026/10/20 09:07:43.034, 41279 MiB, 100 %
2026/10/20 09:08:13.035, 41279 MiB, 100 %
2026/10/20 09:08:43.036, 41279 MiB, 100 %
2026/10/20 09:09:13.037, 41279 MiB, 100 %
2026/10/20 09:09:43.038, 41279 MiB, 100 %
2026/10/20 09:10:13.039, 41279 MiB, 100 %
2026/10/20 09:10:43.040, 41279 MiB, 100 %
2026/10/20 09:11:13.041, 41279 MiB, 100 %
2026/10/20 09:11:43.042, 41279 MiB, 100 %
2026/10/20 09:12:13.042, 41279 MiB, 100 %
2026/10/20 09:12:43.043, 41279 MiB, 100 %
2026/10/20 09:13:13.044, 41279 MiB, 100 %
2026/10/20 09:13:43.044, 41279 MiB, 100 %
2026/10/20 09:14:13.045, 41279 MiB, 100 %
2026/10/20 09:14:43.046, 41279 MiB, 100 %
2026/10/20 09:15:13.047, 41279 MiB, 100 %
2026/10/20 09:15:43.048, 41279 MiB, 100 %
2026/10/20 09:16:13.049, 41279 MiB, 100 %
2026/10/20 09:16:43.050, 41279 MiB, 100 %
2026/10/20 09:17:13.051, 41279 MiB, 100 %
2026/10/20 09:17:43.052, 41279 MiB, 100 %
2026/10/20 09:18:13.053, 41279 MiB, 100 %
2026/10/20 09:18:43.054, 41279 MiB, 100 %
2026/10/20 09:19:13.054, 41279 MiB, 100 %
2026/10/20 09:19:43.055, 41279 MiB, 100 %
2026/10/20 09:20:13.056, 41279 MiB, 100 %
2026/10/20 09:20:43.057, 41279 MiB, 100 %
2026/10/20 09:21:13.058, 41279 MiB, 100 %
2026/10/20 09:21:43.058, 41279 MiB, 100 %
2026/10/20 09:22:13.059, 41279 MiB, 100 %
2026/10/20 09:22:43.060, 41279 MiB, 100 %
2026/10/20 09:23:13.061, 41279 MiB, 100 %
2026/10/20 09:23:43.061, 41279 MiB, 100 %
2026/10/20 09:24:13.062, 41279 MiB, 100 %
2026/10/20 09:24:43.063, 41279 MiB, 100 %
2026/10/20 09:25:13.064, 41279 MiB, 100 %
2026/10/20 09:25:43.065, 41279 MiB, 100 %
2026/10/20 09:26:13.065, 41279 MiB, 100 %
2026/10/20 09:26:43.066, 41279 MiB, 100 %
2026/10/20 09:27:13.068, 41279 MiB, 100 %
2026/10/20 09:27:43.069, 41279 MiB, 100 %
2026/10/20 09:28:13.070, 41279 MiB, 99 %
2026/10/20 09:28:43.071, 41279 MiB, 100 %
2026/10/20 09:29:13.071, 41279 MiB, 100 %
2026/10/20 09:29:43.073, 41279 MiB, 100 %
2026/10/20 09:30:13.074, 41279 MiB, 99 %
2026/10/20 09:30:43.074, 41279 MiB, 100 %
2026/10/20 09:31:13.075, 41279 MiB, 100 %
2026/10/20 09:31:43.076, 41279 MiB, 100 %
2026/10/20 09:32:13.078, 41279 MiB, 100 %
2026/10/20 09:32:43.079, 41279 MiB, 100 %
2026/10/20 09:33:13.080, 41279 MiB, 100 %
2026/10/20 09:33:43.081, 41279 MiB, 100 %
2026/10/20 09:34:13.082, 41279 MiB, 100 %
2026/10/20 09:34:43.084, 41279 MiB, 100 %
2026/10/20 09:35:13.085, 41279 MiB, 100 %
2026/10/20 09:35:43.086, 41279 MiB, 100 %
2026/10/20 09:36:13.087, 41279 MiB, 99 %
2026/10/20 09:36:43.088, 41279 MiB, 100 %
2026/10/20 09:37:13.089, 41279 MiB, 100 %
2026/10/20 09:37:43.090, 41279 MiB, 100 %
2026/10/20 09:38:13.090, 41279 MiB, 100 %
2026/10/20 09:38:43.091, 41279 MiB, 100 %
2026/10/20 09:39:13.092, 41279 MiB, 100 %
2026/10/20 09:39:43.093, 41279 MiB, 100 %
2026/10/20 09:40:13.094, 41279 MiB, 100 %
2026/10/20 09:40:43.095, 41279 MiB, 100 %
2026/10/20 09:41:13.096, 41279 MiB, 100 %
2026/10/20 09:41:43.097, 41279 MiB, 100 %
2026/10/20 09:42:13.098, 41279 MiB, 100 %
2026/10/20 09:42:43.099, 41279 MiB, 100 %
2026/10/20 09:43:13.100, 41279 MiB, 100 %
2026/10/20 09:43:43.101, 41279 MiB, 100 %
2026/10/20 09:44:13.102, 41279 MiB, 100 %
2026/10/20 09:44:43.103, 41279 MiB, 100 %
2026/10/20 09:45:13.103, 41279 MiB, 100 %
2026/10/20 09:45:43.104, 41279 MiB, 100 %
2026/10/20 09:46:13.105, 41279 MiB, 100 %
2026/10/20 09:46:43.106, 41279 MiB, 100 %
2026/10/20 09:47:13.107, 41279 MiB, 100 %
2026/10/20 09:47:43.108, 41279 MiB, 100 %
2026/10/20 09:48:13.109, 41279 MiB, 100 %
2026/10/20 09:48:43.109, 41279 MiB, 100 %
2026/10/20 09:49:13.110, 41279 MiB, 100 %
2026/10/20 09:49:43.111, 41279 MiB, 100 %
2026/10/20 09:50:13.112, 41279 MiB, 100 %
2026/10/20 09:50:43.113, 41279 MiB, 100 %
2026/10/20 09:51:13.114, 41279 MiB, 100 %
2026/10/20 09:51:43.115, 41279 MiB, 100 %
2026/10/20 09:52:13.116, 41279 MiB, 100 %
2026/10/20 09:52:43.117, 41279 MiB, 100 %
2026/10/20 09:53:13.118, 41279 MiB, 100 %
2026/10/20 09:53:43.119, 41279 MiB, 100 %
2026/10/20 09:54:13.120, 41279 MiB, 100 %
2026/10/20 09:54:43.121, 41279 MiB, 100 %
2026/10/20 09:55:13.122, 41279 MiB, 100 %
2026/10/20 09:55:43.123, 41279 MiB, 100 %
2026/10/20 09:56:13.124, 41279 MiB, 100 %
2026/10/20 09:56:43.124, 41279 MiB, 100 %
2026/10/20 09:57:13.125, 41279 MiB, 100 %
2026/10/20 09:57:43.126, 41279 MiB, 100 %
2026/10/20 09:58:13.127, 41279 MiB, 100 %
2026/10/20 09:58:43.127, 41279 MiB, 100 %
2026/10/20 09:59:13.128, 41279 MiB, 100 %
2026/10/20 09:59:43.129, 41279 MiB, 100 %
2026/10/20 10:00:13.130, 41279 MiB, 100 %
2026/10/20 10:00:43.130, 41279 MiB, 100 %
2026/10/20 10:01:13.131, 41279 MiB, 100 %
2026/10/20 10:01:43.132, 41279 MiB, 100 %
2026/10/20 10:02:13.132, 41279 MiB, 100 %
2026/10/20 10:02:43.133, 41279 MiB, 100 %
2026/10/20 10:03:13.134, 41279 MiB, 100 %
2026/10/20 10:03:43.135, 41279 MiB, 100 %
2026/10/20 10:04:13.135, 41279 MiB, 100 %
2026/10/20 10:04:43.138, 41279 MiB, 100 %
2026/10/20 10:05:13.138, 41279 MiB, 100 %
2026/10/20 10:05:43.139, 41279 MiB, 100 %
2026/10/20 10:06:13.140, 41279 MiB, 100 %
2026/10/20 10:06:43.141, 41279 MiB, 100 %
2026/10/20 10:07:13.142, 41279 MiB, 100 %
2026/10/20 10:07:43.143, 41279 MiB, 100 %
2026/10/20 10:08:13.144, 41279 MiB, 100 %
2026/10/20 10:08:43.145, 41279 MiB, 100 %
2026/10/20 10:09:13.146, 41279 MiB, 100 %
2026/10/20 10:09:43.147, 41279 MiB, 100 %
2026/10/20 10:10:13.147, 41279 MiB, 100 %
2026/10/20 10:10:43.148, 41279 MiB, 100 %
2026/10/20 10:11:13.149, 41279 MiB, 100 %
2026/10/20 10:11:43.150, 41279 MiB, 100 %
2026/10/20 10:12:13.151, 41279 MiB, 100 %
2026/10/20 10:12:43.152, 41279 MiB, 100 %
2026/10/20 10:13:13.153, 41279 MiB, 100 %
2026/10/20 10:13:43.154, 41279 MiB, 100 %
2026/10/20 10:14:13.155, 41279 MiB, 100 %
2026/10/20 10:14:43.155, 41279 MiB, 100 %
2026/10/20 10:15:13.157, 41279 MiB, 100 %
2026/10/20 10:15:43.157, 41279 MiB, 100 %
2026/10/20 10:16:13.158, 41279 MiB, 100 %
2026/10/20 10:16:43.158, 41279 MiB, 100 %
2026/10/20 10:17:13.159, 41279 MiB, 100 %
2026/10/20 10:17:43.160, 41279 MiB, 100 %
2026/10/20 10:18:13.161, 41279 MiB, 100 %
2026/10/20 10:18:43.162, 41279 MiB, 100 %
2026/10/20 10:19:13.163, 41279 MiB, 100 %
2026/10/20 10:19:43.164, 41279 MiB, 100 %
2026/10/20 10:20:13.165, 41279 MiB, 100 %
2026/10/20 10:20:43.166, 41279 MiB, 100 %
2026/10/20 10:21:13.167, 41279 MiB, 100 %
2026/10/20 10:21:43.168, 41279 MiB, 100 %
2026/10/20 10:22:13.169, 41279 MiB, 100 %
2026/10/20 10:22:43.170, 41279 MiB, 100 %
2026/10/20 10:23:13.170, 41279 MiB, 100 %
2026/10/20 10:23:43.171, 41279 MiB, 100 %
2026/10/20 10:24:13.172, 41279 MiB, 100 %
2026/10/20 10:24:43.174, 41279 MiB, 100 %
2026/10/20 10:25:13.175, 41279 MiB, 100 %
2026/10/20 10:25:43.176, 41279 MiB, 100 %
2026/10/20 10:26:13.177, 41279 MiB, 100 %
2026/10/20 10:26:43.177, 41279 MiB, 100 %
2026/10/20 10:27:13.178, 41279 MiB, 100 %
2026/10/20 10:27:43.179, 41279 MiB, 100 %
2026/10/20 10:28:13.180, 41279 MiB, 100 %
2026/10/20 10:28:43.181, 41279 MiB, 100 %
2026/10/20 10:29:13.182, 41279 MiB, 100 %
2026/10/20 10:29:43.183, 41279 MiB, 100 %
2026/10/20 10:30:13.183, 41294 MiB, 100 %
2026/10/20 10:30:43.185, 41279 MiB, 100 %
2026/10/20 10:31:13.186, 41279 MiB, 100 %
2026/10/20 10:31:43.187, 41279 MiB, 100 %
2026/10/20 10:32:13.188, 41279 MiB, 100 %
2026/10/20 10:32:43.189, 41279 MiB, 100 %
2026/10/20 10:33:13.189, 41279 MiB, 100 %
2026/10/20 10:33:43.190, 41279 MiB, 100 %
2026/10/20 10:34:13.191, 41279 MiB, 100 %
2026/10/20 10:34:43.191, 41279 MiB, 100 %
2026/10/20 10:35:13.192, 41279 MiB, 100 %
2026/10/20 10:35:43.193, 41279 MiB, 99 %
2026/10/20 10:36:13.194, 41279 MiB, 100 %
2026/10/20 10:36:43.195, 41279 MiB, 100 %
2026/10/20 10:37:13.195, 41279 MiB, 100 %
2026/10/20 10:37:43.196, 41279 MiB, 100 %
2026/10/20 10:38:13.197, 41279 MiB, 100 %
2026/10/20 10:38:43.198, 41279 MiB, 100 %
2026/10/20 10:39:13.199, 41279 MiB, 100 %
2026/10/20 10:39:43.200, 41279 MiB, 100 %
2026/10/20 10:40:13.201, 41279 MiB, 100 %
2026/10/20 10:40:43.202, 41279 MiB, 100 %
2026/10/20 10:41:13.202, 41279 MiB, 100 %
2026/10/20 10:41:43.203, 41279 MiB, 100 %
2026/10/20 10:42:13.204, 41279 MiB, 100 %
2026/10/20 10:42:43.205, 41279 MiB, 100 %
2026/10/20 10:43:13.206, 41279 MiB, 100 %
2026/10/20 10:43:43.207, 41279 MiB, 100 %
2026/10/20 10:44:13.208, 41279 MiB, 100 %
2026/10/20 10:44:43.208, 41279 MiB, 100 %
2026/10/20 10:45:13.209, 41279 MiB, 100 %
2026/10/20 10:45:43.210, 41279 MiB, 100 %
2026/10/20 10:46:13.210, 41279 MiB, 100 %
2026/10/20 10:46:43.211, 41279 MiB, 100 %
2026/10/20 10:47:13.212, 41279 MiB, 100 %
2026/10/20 10:47:43.213, 41279 MiB, 100 %
2026/10/20 10:48:13.214, 41279 MiB, 100 %
2026/10/20 10:48:43.214, 41279 MiB, 100 %
2026/10/20 10:49:13.215, 41279 MiB, 100 %
2026/10/20 10:49:43.216, 41279 MiB, 100 %
2026/10/20 10:50:13.217, 41279 MiB, 100 %
2026/10/20 10:50:43.217, 41279 MiB, 100 %
2026/10/20 10:51:13.218, 41279 MiB, 100 %
2026/10/20 10:51:43.219, 41279 MiB, 100 %
2026/10/20 10:52:13.220, 41279 MiB, 100 %
2026/10/20 10:52:43.220, 41279 MiB, 100 %
2026/10/20 10:53:13.222, 41279 MiB, 100 %
2026/10/20 10:53:43.222, 41279 MiB, 100 %
2026/10/20 10:54:13.223, 41279 MiB, 100 %
2026/10/20 10:54:43.224, 41279 MiB, 100 %
2026/10/20 10:55:13.224, 41279 MiB, 100 %
2026/10/20 10:55:43.225, 41279 MiB, 100 %
2026/10/20 10:56:13.226, 41279 MiB, 100 %
2026/10/20 10:56:43.227, 41279 MiB, 100 %
2026/10/20 10:57:13.228, 41279 MiB, 100 %
2026/10/20 10:57:43.229, 41279 MiB, 100 %
2026/10/20 10:58:13.230, 41279 MiB, 100 %
2026/10/20 10:58:43.231, 41279 MiB, 100 %
2026/10/20 10:59:13.232, 41279 MiB, 100 %
2026/10/20 10:59:43.233, 41279 MiB, 100 %
2026/10/20 11:00:13.234, 41279 MiB, 100 %
2026/10/20 11:00:43.235, 41279 MiB, 100 %
2026/10/20 11:01:13.236, 41279 MiB, 100 %
2026/10/20 11:01:43.237, 41279 MiB, 100 %
2026/10/20 11:02:13.237, 41279 MiB, 100 %
2026/10/20 11:02:43.238, 41279 MiB, 100 %
2026/10/20 11:03:13.239, 41279 MiB, 99 %
2026/10/20 11:03:43.240, 41279 MiB, 100 %
2026/10/20 11:04:13.241, 41279 MiB, 100 %
2026/10/20 11:04:43.242, 41279 MiB, 100 %
2026/10/20 11:05:13.243, 41279 MiB, 99 %
2026/10/20 11:05:43.244, 41279 MiB, 100 %
2026/10/20 11:06:13.245, 41279 MiB, 100 %
2026/10/20 11:06:43.246, 41279 MiB, 100 %
2026/10/20 11:07:13.247, 41279 MiB, 100 %
2026/10/20 11:07:43.248, 41279 MiB, 100 %
2026/10/20 11:08:13.249, 41279 MiB, 100 %
2026/10/20 11:08:43.250, 41279 MiB, 100 %
2026/10/20 11:09:13.251, 41279 MiB, 100 %
2026/10/20 11:09:43.252, 41279 MiB, 100 %
2026/10/20 11:10:13.252, 41279 MiB, 100 %
2026/10/20 11:10:43.253, 41279 MiB, 100 %
2026/10/20 11:11:13.254, 41279 MiB, 100 %
2026/10/20 11:11:43.255, 41279 MiB, 100 %
2026/10/20 11:12:13.256, 41279 MiB, 100 %
2026/10/20 11:12:43.257, 41279 MiB, 100 %
2026/10/20 11:13:13.258, 41279 MiB, 0 %
2026/10/20 11:13:43.259, 0 MiB, 0 %
2026/10/20 11:14:13.259, 0 MiB, 0 %
2026/10/20 11:14:43.260, 0 MiB, 0 %
2026/10/20 11:15:13.261, 0 MiB, 0 %

学習したモデル 6.34GB を KIOXIA に持ち帰り、29ファイルの名前とサイズを照合した

Pod は消すと中身も消えます。次に実機で試すときに学習し直さなくて済むよう、3999 ステップのモデルを KIOXIA へ持ち帰りました。持ち帰ったのは、params(モデルの重み)、assets(正規化の統計)、_CHECKPOINT_METADATA の3つです。train_state(学習を続きから再開するための情報・前回は約3GB)は持ち帰っていません。前回の 4,000 ステップのモデルも、この3つだけで推論サーバーを起動できています。

先に Pod 側で、持ち帰るファイルの名前とサイズの一覧を作りました。

cd /workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1 && ls && cd 3999 && find params assets _CHECKPOINT_METADATA -type f -printf '%s %p\n' | sort -k2 > /workspace/logs/ckpt3999_sizes.txt && wc -l /workspace/logs/ckpt3999_sizes.txt

ログと一覧を先に、続けてモデルを Mac へ送りました。

(base) shimazueiichi@shimadzueiichinoMacBook-Pro drag_teaching % mkdir -p /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999 /Volumes/KIOXIA/r2r2r-data/lab/Log10
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r root@<POD_IP>:/workspace/logs /Volumes/KIOXIA/r2r2r-data/lab/Log10/
scp -P <SSH_PORT> -i ~/.ssh/id_ed25519 -r root@<POD_IP>:/workspace/openpi/checkpoints/pi05_mecharm_teach_lora/teach_v1/3999/{params,assets,_CHECKPOINT_METADATA} /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999/
train.log                                                                 100%  306KB 161.2KB/s   00:01    
gpu_train.csv                                                             100%   39KB  69.7KB/s   00:00    
ckpt3999_sizes.txt                                                        100% 1688     2.7KB/s   00:00    
6c318f7126d09d406a9551d86f28a5f5                                          100%  213     0.4KB/s   00:00    
31a435c88078d82b55475ce843d3cfee                                          100% 1258     2.3KB/s   00:00    
a64dbbc24e30a10f5ab4b16f7929178d                                          100% 1376     2.3KB/s   00:00    
31c3b2e4659c6c3c8fb81f9bc350fded                                          100% 5721    10.0KB/s   00:00    
e4fcf2f875db56aeb4a951d4bae1aed7                                          100%   90KB  89.2KB/s   00:01    
da48ff2073d011b5a0386d30cba6248e                                          100%   84MB   6.0MB/s   00:14    
58a9507da874fac6f7ae97100c059321                                          100%   98MB   6.3MB/s   00:15    
f8b556a07621d182835d97c565f3373c                                          100%   17MB   4.9MB/s   00:03    
38f151efb41f1f99b5a7f087fd4d0167                                          100%   84MB   6.3MB/s   00:13    
9343859b12325c8d1419dfd7c5a02cf0                                          100%  102MB   6.2MB/s   00:16    
f1473ca949703ad1add1a376e772b7a0                                          100%  169MB   6.3MB/s   00:27    
ac5cd61e2e17c9dd10abc0d672da81dc                                          100%   86MB   5.7MB/s   00:15    
a2c0dc2db45edf9c2cebee6c7086e0bb                                          100%  239MB   6.1MB/s   00:39    
1f6b57aebf2722f6504fef49def32e2c                                          100%  591MB   6.2MB/s   01:34    
a2d25310d68aa4379d6dcb9ceeb51aa2                                          100%  127MB   6.3MB/s   00:20    
31e8af417d4f803f960504053e7136cf                                          100%  474MB   6.5MB/s   01:13    
da305b26370b83c6bdfaaa73517c7188                                          100%  474MB   5.9MB/s   01:20    
a5dc182b10a36a1018ebe20e70b63826                                          100%  791MB   5.9MB/s   02:15    
d44f9b47b8a9f68db31f8855ca912a1e                                          100%  902MB   5.8MB/s   02:35    
fedca1dd55dcc2b3aa5146f771fe3ddf                                          100%  902MB   5.8MB/s   02:34    
459554bce9676f12dbb3d6b1e6b0a8c7                                          100%  902MB   5.7MB/s   02:39    
manifest.ocdbt                                                            100%  377     0.7KB/s   00:00    
process_0                                                                 100%   13KB  17.6KB/s   00:00    
_sharding                                                                 100%   17KB  32.4KB/s   00:00    
_METADATA                                                                 100%   32KB  59.8KB/s   00:00    
6a4906a9d11bce23c2e9cbedaa718c54                                          100% 2833     5.2KB/s   00:00    
manifest.ocdbt                                                            100%  118     0.2KB/s   00:00    
norm_stats.json                                                           100% 1778     2.7KB/s   00:00    
_CHECKPOINT_METADATA                                                      100%  426     0.8KB/s   00:00    

Pod から Mac へは毎秒約 6MB で、朝に Mac から Pod へ送ったとき(約 1.3MB)の4倍以上の速さでした。約20分で終わっています。

前回の LOG345 では、送り終わったと思ったファイルが壊れていたことがあります。今回は、Pod 側で作った一覧と、KIOXIA 側で同じ形に作った一覧を、行ごとに比べました。

cd /Volumes/KIOXIA/r2r2r-data/checkpoints/pi05_mecharm_teach_lora_v1/3999 && find params assets _CHECKPOINT_METADATA -type f -printf '%s %p\n' | sort -k2 > /tmp/mac_sizes.txt; wc -l /tmp/mac_sizes.txt; diff /Volumes/KIOXIA/r2r2r-data/lab/Log10/logs/ckpt3999_sizes.txt /tmp/mac_sizes.txt && echo ALL_MATCH; awk '{s+=$1} END {printf "%.2f GB\n", s/1e9}' /tmp/mac_sizes.txt
29 /tmp/mac_sizes.txt
ALL_MATCH
6.34 GB

29 ファイルとも、名前とサイズ(バイト単位)が一致しました。一覧の全29行です。

426 _CHECKPOINT_METADATA
1778 assets/local/mecharm_redblock_box_teach_v1/norm_stats.json
33052 params/_METADATA
17773 params/_sharding
12891 params/array_metadatas/process_0
2833 params/d/6a4906a9d11bce23c2e9cbedaa718c54
118 params/manifest.ocdbt
619891963 params/ocdbt.process_0/d/1f6b57aebf2722f6504fef49def32e2c
1258 params/ocdbt.process_0/d/31a435c88078d82b55475ce843d3cfee
5721 params/ocdbt.process_0/d/31c3b2e4659c6c3c8fb81f9bc350fded
497190175 params/ocdbt.process_0/d/31e8af417d4f803f960504053e7136cf
88576999 params/ocdbt.process_0/d/38f151efb41f1f99b5a7f087fd4d0167
945626257 params/ocdbt.process_0/d/459554bce9676f12dbb3d6b1e6b0a8c7
102645931 params/ocdbt.process_0/d/58a9507da874fac6f7ae97100c059321
213 params/ocdbt.process_0/d/6c318f7126d09d406a9551d86f28a5f5
107151331 params/ocdbt.process_0/d/9343859b12325c8d1419dfd7c5a02cf0
251129798 params/ocdbt.process_0/d/a2c0dc2db45edf9c2cebee6c7086e0bb
133018547 params/ocdbt.process_0/d/a2d25310d68aa4379d6dcb9ceeb51aa2
828933435 params/ocdbt.process_0/d/a5dc182b10a36a1018ebe20e70b63826
1376 params/ocdbt.process_0/d/a64dbbc24e30a10f5ab4b16f7929178d
90308246 params/ocdbt.process_0/d/ac5cd61e2e17c9dd10abc0d672da81dc
945879563 params/ocdbt.process_0/d/d44f9b47b8a9f68db31f8855ca912a1e
497033775 params/ocdbt.process_0/d/da305b26370b83c6bdfaaa73517c7188
87672712 params/ocdbt.process_0/d/da48ff2073d011b5a0386d30cba6248e
91772 params/ocdbt.process_0/d/e4fcf2f875db56aeb4a951d4bae1aed7
177524869 params/ocdbt.process_0/d/f1473ca949703ad1add1a376e772b7a0
17466316 params/ocdbt.process_0/d/f8b556a07621d182835d97c565f3373c
945630470 params/ocdbt.process_0/d/fedca1dd55dcc2b3aa5146f771fe3ddf
377 params/ocdbt.process_0/manifest.ocdbt

Pod の「⋮」には Terminate がなく、Stop してから Terminate した

Pod を消すとき、Pods の画面の「⋮」には、Terminate(削除)が出ていませんでした。出ていたのは Lock Pod・Edit Pod・Save as template・Restart Pod・Reset Pod・Stop Pod です。

Pods の画面で「⋮」を開いたところ。メニューの最後が Stop Pod で、Terminate はない

Stop Pod を押して止めてから、もう一度「⋮」を開くと Terminate が出たので、それで削除しました(20:44)。Stop だけだと、ディスクの料金がかかり続けます。

A40 を借りた時間と費用

項目値
GPU
NVIDIA A40(48GB)× 1、Runpod Secure Cloud、9 vCPU・50GB RAM
テンプレート
Runpod Pytorch 2.8.0(CUDA 12.8.1・Ubuntu 24.04)
料金
1時間 0.62 ドル(GPU 0.59 ドル+Container disk 200GB 0.028 ドル)
空きを待った時間
6:39 に予約を作成、起動は11時前後(約4時間20分)
学習
12:17〜20:13(7時間55分29秒)、4,000 ステップ、1ステップ約 7.0〜7.1 秒、バッチ32
学習の費用(計算)
約 7.93 時間 × 0.62 ドル ≒ 4.9 ドル
持ち帰り
20:19〜20:40、6.34GB、毎秒約 6MB
削除
20:44(Stop → Terminate)
残高の表示
6:35 に 12.37 ドル、11:59 に 11.71 ドル、20:43 に 6.92 ドル
かかった費用
約 5.45 ドル(12.37 − 6.92)

起動した時刻から削除した時刻までを 0.62 ドルで計算すると、6 ドル前後になります。残高の差(5.45 ドル)と合わない理由は分かっていません。起動した正確な時刻を記録していなかったためです。

次は、ブロックの置き場所を変えて、手を伸ばす先が変わるかを実機で見る

次に試すことは1つです。ブロックを置く場所を変えて、アームが手を伸ばす先がそれに合わせて変わるかを見ます。前回のモデルでは変わりませんでした。

推論だけなら、GPU のメモリは 9GB ほどで足ります(Log#3 で測った値)。48GB の A40 でなくても、空いている 24GB 以上の GPU で Pod を借りられます。新しい Pod でも、install_addon.py と add_teach_config.py を先に実行しておきます。推論サーバーを起動するときに、設定名 pi05_mecharm_teach_lora が必要なためです。

uv run scripts/serve_policy.py policy:checkpoint --policy.config=pi05_mecharm_teach_lora --policy.dir=checkpoints/pi05_mecharm_teach_lora/teach_v1/3999 2>&1 | tee /workspace/logs/serve.log

Mac 側のクライアントには、--raw-dir で新しいお手本の場所を渡します。クライアントは、アームに送る前に、各関節が動いてよい範囲をお手本から作ります。範囲は、お手本の全コマで実際に使った角度の最小〜最大に ±10° を足したもので、その外へ出る指令は範囲の端に切り詰めます(LOG341)。2つのお手本で、この範囲を同じ計算で出しました。

cd /Volumes/KIOXIA/r2r2r-data/datasets && python3 -c "
import numpy as np,glob
for ds in ['mecharm_redblock_box_scripted_v1','mecharm_redblock_box_teach_v1']:
  qs=[np.load(p)['state'][:,:6] for p in glob.glob(ds+'/raw_episodes/*/episode.npz')]
  q=np.concatenate(qs); lo=q.min(0)-10; hi=q.max(0)+10
  print(ds,len(qs),'  '.join(f'j{k}[{lo[k]:+.1f},{hi[k]:+.1f}]' for k in range(6)))
"
mecharm_redblock_box_scripted_v1 20 j0[-52.5,+95.8]  j1[-8.7,+99.2]  j2[-52.2,+30.4]  j3[-23.7,+32.5]  j4[-100.9,+67.3]  j5[-50.6,-18.9]
mecharm_redblock_box_teach_v1 19 j0[-71.7,+54.7]  j1[-8.7,+97.9]  j2[-45.7,+41.4]  j3[-17.8,+27.0]  j4[-98.2,+10.4]  j5[-50.6,-13.6]

(クライアントは、このあと物理的な可動域と手首の安全範囲 −90°〜+60° でさらに絞ります。)何も付けないと前回のお手本の範囲になり、土台は −52.5° より先へ回れません。置き場所4(つかむ瞬間の土台 −61.6°)へ手を伸ばす動きが、途中で切り詰められます。

cd ~/r2r2r-scripts && python3 pi05/run_policy_client.py --max-chunks 5 --raw-dir /Volumes/KIOXIA/r2r2r-data/datasets/mecharm_redblock_box_teach_v1/raw_episodes

保存先は次のとおりです。

データ
場所(KIOXIA の r2r2r-data/ 以下)
お手本(19本)
datasets/mecharm_redblock_box_teach_v1/raw_episodes/
学習したモデル
checkpoints/pi05_mecharm_teach_lora_v1/3999/
学習ログ・GPU の記録・ファイルの一覧
lab/Log10/logs/
設定を足すスクリプト
lab/Log10/pod/add_teach_config.py
この回のまとめ
lab/Log10/README.md