
Otestovaný návod na jemné ladenie NVIDIA GR00T N1.7 na datasete LeRobot pre SO-100: skutočné flagy, modality.json, požiadavka v2.1, čo stojí spustenie a nástrahy.
NVIDIA dodáva príklad jemného doladenia presne pre rameno, ktoré pravdepodobne vlastníte. Vo vnútri úložiska Isaac-GR00T sa nachádza priečinok s názvom demo_data/cube_to_bowl_5: päť epizód, 4 148 snímok pri 30 fps, už napísaných ako LeRobot v2.1, so zodpovedajúcou konfiguráciou modality pod examples/SO100/. Jeho meta/info.json hlási robot_type: so101_follower, čo je v LeRobot rovnaká trieda konfigurácie ako so100_follower. To je skutočne užitočné, pretože to znamená, že referenčná cesta pre GR00T N1.7 na šesť-stupňov voľnosti hobby ramene je udržiavaná ľuďmi, ktorí model napísali. Nie je to zmenšená humanoidná ukážka, je to to isté rameno.
Zlou správou je vzdialenosť medzi I recorded 60 episodes a the arm does the task. Existuje asi šesť miest, kde tento pipeline zlyháva ticho, namiesto hlasno, a štyri z nich sa nachádzajú v súboroch, ktoré väčšina ľudí nikdy neotvorí: meta/modality.json, konfigurácia dát Pythonu, meta/relative_stats.json, a vlastný reťazec verzie datasetu. Táto príručka prechádza manuálnou cestou od začiatku do konca so skutočnými príkazmi, potom ukazuje rovnakú úlohu ako formulár na AY-Robots. Všetko nižšie bolo skontrolované oproti hlavnej vetve Isaac-GR00T k 20. augustu 2026 (riadok n1.7-release) a lerobot 0.6.1, publikovanému na PyPI 3. augusta 2026. Upstream sa rýchlo mení, a ak bol premenovaný nejaký príznak, tento článok to uvádza.
Čo potrebujete vedieť predtým, ako začnete
- •Jemné doladenie GR00T N1.7 vyžaduje 40 GB alebo viac VRAM. NVIDIA odporúča uzly H100 alebo L40. 24 GB RTX 4090 túto prácu nezvládne, hoci dokáže trénovať SmolVLA a ACT.
- •Dataset musí byť LeRobot v2 (v2.0 alebo v2.1) plus GR00T-špecifický meta/modality.json. Dataset LeRobot v3.0 sa nenačíta a musí byť konvertovaný na nižšiu verziu.
- •Vstupným bodom je gr00t/experiment/launch_finetune.py, tyro CLI. Nemá príznak --seed, takže spustenia nie sú bitovo reprodukovateľné.
- •Pre vlastné rameno je tag embodiment NEW_EMBODIMENT, a tento tag robí --modality-config-path povinným.
- •Dodávaný recept SO-100 predpovedá kĺby ramena ako RELATÍVNE delty a uchopovač ako ABSOLÚTNY cieľ. Získanie tohto párovania naopak je tiché zlyhanie, nie chyba.
- •Na AY-Robots je rovnaká úloha formulár: 20000 steps, batch 32, learning rate 1e-4, približne 4 to 12 USD na úrovni A100 80 GB alebo H100.
Čo je GR00T N1.7 v skutočnosti
GR00T N1.7 je vizuálno-jazykovo-akčný model s dvoj-systémovým usporiadaním opísaným v pôvodnom článku GR00T N1: vizuálno-jazykový modul, ktorý číta kamery a inštrukcie, a difúzny transformátor, ktorý to premieňa na blok súvislých motorických príkazov. N1.7 nahradil prvú polovicu. Chrbtica Eagle z N1.6 je preč, vymenená za nvidia/Cosmos-Reason2-2B na architektúre Qwen3-VL, a model bol predtrenovaný na približne 20 000 hodinách egocentrického ľudského videa navyše k robotickým dátam. Vlastný popis spoločnosti NVIDIA uvádza číslo 20 854 hodín a hlási, že prechod z 1k na 20k hodín viac ako zdvojnásobuje priemerné dokončenie úloh.
Zmenila sa aj druhá polovica, a to spôsobmi, ktoré sú dôležité pre váš beh. Akčná hlava klesla z 32 difúznych vrstiev na 16, predpovedaný akčný blok narástol zo 16 krokov na 40 a maximálna šírka stavu a akcie sa zmenila z 29 na 132. Tieto tri čísla pochádzajú zo zoznamu zmien v README repozitára; vlastný oznam spoločnosti NVIDIA stále opisuje Systém 1 ako 32-vrstvový DiT, takže tam, kde sa tieto dva údaje rozchádzajú, dôverujte repozitáru, ktorý sa chystáte klonovať. Akcie sú štandardne vyjadrené v relatívnom koncovom efektore priestore, ako delty od aktuálnej pozície namiesto absolútnych cieľov, čo umožňuje prenos manipulačných priorít naučených z ľudského videa do riadenia robota. Samotná hlava je flow-matching difúzny transformátor, rovnaká rodina ako Pi0.5, ale s inou chrbticou pred ním. Ak stále používate predchádzajúcu generáciu, N1.7 oproti N1.5 pokrýva, či upgrade ospravedlňuje prepracovanie vášho pipeline.
| Vlastnosť | Hodnota | Odkiaľ pochádza |
|---|---|---|
| Parametre | 3,000,000,000 | karta modelu Hugging Face |
| Vizuálno-jazyková chrbtica | nvidia/Cosmos-Reason2-2B (Qwen3-VL), gated on Hugging Face | repo README |
| Akčná hlava | Flow-matching difúzny transformátor, 16 vrstiev (N1.6 mal 32) | repo README |
| Predpovedaný akčný horizont | 40 krokov pre základný checkpoint (N1.6 mal 16) | getting_started/policy.md a repo README |
| Maximálna šírka stavu a akcie | 132 (N1.6 mal 29) | repo README |
| Licencia kódu | Apache 2.0 | repozitár Isaac-GR00T |
| Licencia váh | NVIDIA Open Model License Agreement | karta modelu |
| Latencia, H100 80 GB, PyTorch eager, 4 kroky denoisovania, 1 kamera | 85.8 ms end to end, 11.7 Hz | tabuľka časovania karty modelu |
| Rovnaký hardvér, TensorRT plný pipeline | 27.9 ms end to end, 35.9 Hz | tabuľka časovania karty modelu |
| Latencia, ktorú AY-Robots uvádza pre svoj obsluhovaný GR00T N1.7 | 152 ms na akčný krok | katalóg politík AY-Robots |
Tieto posledné tri riadky vysvetľujú väčšinu sklamania, ktoré ľudia hlásia. Titulných 27.9 ms je TensorRT engine na H100 s jednou kamerou a štyrmi krokmi denoisovania. Čistý PyTorch na rovnakej karte je 85.8 ms a karta modelu uvádza rozdiel 3.08x. Ani jedno číslo nezahŕňa obslužnú vrstvu, druhú kameru alebo sieťový skok. Údaj 152 ms na akčný krok, ktorý AY-Robots uvádza pre svoj obsluhovaný GR00T N1.7, je hodnota s obsluhou v slučke, a k tomu sa pridáva aj spiatočná cesta cez verejný internet. Viac o tom na konci. Pre čísla vedľa iných modelov, GR00T N1.7 oproti Pi0.5 a GR00T N1.7 oproti SmolVLA ich porovnávajú vedľa seba.

Čo je potrebné pre spustenie, než čokoľvek napíšete
| Požiadavka | Jemné doladenie | Inferencia |
|---|---|---|
| VRAM, odporúčanie NVIDIA | 40 GB or more, H100 or L40 recommended | 16 GB or more, an RTX 4090 works |
| Python a CUDA na dGPU | 3.12 and CUDA 12.8 | 3.12 and CUDA 12.8 |
| Video backend | torchcodec 0.8.0, FFmpeg 4 to 7 only | same |
| Formát dátovej sady | LeRobot v2 plus meta/modality.json | not applicable |
| Prístup k Hugging Face | approved for nvidia/Cosmos-Reason2-2B | same |
| Ďalšie nástroje | git-lfs and uv | uv |
| Úroveň GPU AY-Robots pre tréner groot1.7 | A100 80 GB or H100 80 GB | pod provisioned automatically |
Každý kontrolný bod GR00T, vrátane základného nvidia/GR00T-N1.7-3B, na prvé použitie načíta nvidia/Cosmos-Reason2-2B, a tento repozitár je uzavretý. Súbor README presne uvádza zlyhanie: načítanie modelu zlyhá s chybou GatedRepoError / 401 Client Error. Čo však nespomína, je kedy sa to stane, a to je po tom, ako si prenajmete kartu a spustenie sa začne. Požiadajte o prístup na stránke modelu, potom spustite uv run huggingface-cli login alebo exportujte HF_TOKEN predtým, ako si čokoľvek prenajmete.
Krok 0: samotné epizódy
Všetko nižšie predpokladá, že už máte nahrané epizódy. Ak nie, to je skutočný prvý krok a je to ten, ktorý rozhoduje o tom, aký dobrý môže byť výsledok, pretože učenie napodobňovaním nedokáže obnoviť informácie, ktoré nie sú v dátach. Najprv kalibrujte obe ramená, potom riaďte sledovacie rameno pomocou vodiaceho ramena zatiaľ čo lerobot-record zapisuje parquet súbory a streamy z kamier. Ak kalibrácia je nesprávna, hodnoty kĺbov vo vašom datasete popisujú mierne odlišného robota, než ten, ktorý bude neskôr vykonávať politiku, a žiadne množstvo tréningu to nenapraví.
lerobot-record \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower_arm \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \
--teleop.type=so100_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=my_leader_arm \
--dataset.repo_id=${HF_USER}/cube-into-bowl \
--dataset.num_episodes=60 \
--dataset.single_task="put the cube in the yellow bowl" \
--display_data=trueVlastná rada LeRobotu je nahrať aspoň 50 epizód, približne 10 pre každú polohu objektu, udržiavať kamery pevné a zachovať konzistentné správanie pri uchopení. Variácie pridajte neskôr, nie na začiatku. Pravidlo, ktoré si treba zapamätať: ak by ste úlohu nedokázali vykonať sami len z obrázkov kamery, politika to tiež nedokáže. Pre nastavenie špecifické pre rameno, začíname s SO-100 a stránka LeRobot pre SO-100 pokrývajú porty, kalibráciu a indexy kamier. Na AY-Robots to môžete urobiť aj cez internet z prehliadača pomocou teleoperácie a nahrávať priamo zo sedenia.
Krok 1: súbor dát musí byť LeRobot v2.1
Toto je najčastejšia prekážka. Aktuálna verzia CODEBASE_VERSION LeRobot v hlavnej vetve je v3.0, takže čokoľvek, čo dnes nahráte s aktuálnym reťazcom nástrojov, bude vo verzii v3.0. Loader GR00T očakáva v2. Repozitár jasne vysvetľuje prečo: mnohé upstream datasety ako DROID, LIBERO a Bridge sú publikované vo verzii v2 a natívna podpora pre obe je plánovaná, ale zatiaľ nie je dodaná. Konverzia je teda na vás a beží vo vlastnom virtualenv z konkrétneho dôvodu: scripts/lerobot_conversion obsahuje vlastný pyproject, ktorý vyžaduje Python 3.10 alebo 3.11 a fixuje lerobot na jeden git commit, zatiaľ čo samotný Isaac-GR00T vyžaduje Python 3.12. Nainštalujte konvertor z koreňa repozitára a namiesto toho získate balík gr00t, čo je chyba, pred ktorou varuje jeho README. Ak ste noví v tomto formáte, záznam v glosári datasetu LeRobot vysvetľuje, čo sa v ňom skutočne nachádza.
# from the Isaac-GR00T repo root
cd scripts/lerobot_conversion
uv venv
source .venv/bin/activate
uv pip install -e . --verbose
# pulls the dataset from the Hub and writes a v2.1 copy into the default cache
python convert_v3_to_v2.py --repo-id <your-hf-user>/<your-dataset>
# or, back in the repo root, keep it next to the SO-100 example
uv run --project scripts/lerobot_conversion \
python scripts/lerobot_conversion/convert_v3_to_v2.py \
--repo-id <your-hf-user>/<your-dataset> \
--root examples/SO100/my_dataset_lerobotAk dataset v3.0 už existuje lokálne, skript vytvorí rozloženie v2.1 vedľa neho a potom ich vymení: originál sa presunie do súrodeneckého priečinka s pripojenou verziou, <name>_v3.0, a konvertovaná kópia prevezme pôvodnú cestu. (Vlastný docstring skriptu nazýva tento priečinok _v30; kód pripojí reťazec verzie, takže v skutočnosti dostanete _v3.0.) Druhé prekvapenie: výstup vždy skončí pod <root>/<repo-id>, takže --root examples/SO100/my_dataset_lerobot vám dá examples/SO100/my_dataset_lerobot/<your-hf-user>/<your-dataset>, a táto dlhšia cesta je tá, ktorú neskôr vyžaduje --dataset-path. Keď tréningová úloha odmietne váš dataset z dôvodov verzie, stránka o odmietnutí datasetu ako v3 uvádza presné príznaky.
Štruktúra, ktorú GR00T vyžaduje po konverzii, je klasické rozloženie v2: meta/info.json, meta/episodes.jsonl, meta/tasks.jsonl, súbory parquet pod data/chunk-000/, súbory MP4 pod videos/chunk-000/observation.images.
Krok 2: modality.json, šesť čísel, ktoré rozhodujú o všetkom
V datasete LeRobot sú stav robota a akcia uložené ako ploché polia float32. Pre SO-100 majú obe tvar [6]: päť kĺbov ramena a uchopovač. Demo dataset ich nazýva shoulder_pan.pos, shoulder_lift.pos, elbow_flex.pos, wrist_flex.pos, wrist_roll.pos, gripper.pos, ale tieto názvy sú v info.json a nič v súbore parquet nehovorí, ktorý index je ktorý. meta/modality.json poskytuje toto mapovanie a GR00T bez neho nebude trénovať. Tu je to, čo repozitár dodáva pre SO-100, doslovne.
{
"state": {
"single_arm": {
"start": 0,
"end": 5
},
"gripper": {
"start": 5,
"end": 6
}
},
"action": {
"single_arm": {
"start": 0,
"end": 5
},
"gripper": {
"start": 5,
"end": 6
}
},
"video": {
"front": {
"original_key": "observation.images.front"
},
"wrist": {
"original_key": "observation.images.wrist"
}
},
"annotation": {
"human.task_description": {
"original_key": "task_index"
}
}
}Skopírujte ho do vášho konvertovaného datasetu na meta/modality.json a premenujte kľúče videí na to, ako sa vaše kamery skutočne volajú. Ak ste nahrávali s jednou stropnou kamerou s názvom top, potom original_key je observation.images.top a priateľský názov je to, na čo sa bude odkazovať vaša dátová konfigurácia. Tieto dve veci sa musia zhodovať a ani jedna z nich nekontroluje tú druhú za vás. Jazyková anotácia je horšia, pretože rovnaký kľúč sa musí objaviť na troch miestach.
| Vrstva | Súbor | Formát SO-100 použitý v repozitári |
|---|---|---|
| Stĺpec Parquet | data/chunk-*/episode_*.parquet | annotation.human.task_description |
| Kľúč modality.json | meta/modality.json, under "annotation", without the annotation. prefix | human.task_description |
| modality_keys v dátovej konfigurácii | your so100_config.py | annotation.human.task_description |
Segmenty za annotation. sú zvolené autorom datasetu. Demo dáta SO-100 používajú annotation.human.task_description; LIBERO a SimplerEnv používajú annotation.human.action.task_description. Oba sú platné. Ak ste skopírovali konfiguráciu z príkladu LIBERO a nasmerovali ju na vlastnú nahrávku SO-100, jazykový kanál sa vyrieši na nič a model sa trénuje na prázdnej inštrukcii. Strata stále klesá. Politika stále niečo robí. Len ignoruje to, čo ste jej povedali, aby urobila.
Krok 3: dátová konfigurácia, relatívne rameno a absolútny uchopovač
Konfigurácia modality je súbor Pythonu, nie JSON, pretože tiež rozhoduje o tom, ako je reprezentovaná každá akčná skupina. Toto je tá časť pracovného postupu N1.7, ktorá v N1.5 neexistovala v rovnakej forme, a tá časť, ktorú sa oplatí prečítať dvakrát. Dodávaná konfigurácia SO-100 predpovedá päť kĺbov ramena ako RELATIVE delty z aktuálneho stavu a chápadlo ako ABSOLUTE cieľovú pozíciu, pretože binárny signál otvorenia/zatvorenia sa správa lepšie ako cieľ než ako delta.
from gr00t.configs.data.embodiment_configs import register_modality_config
from gr00t.data.embodiment_tags import EmbodimentTag
from gr00t.data.types import (
ActionConfig, ActionFormat, ActionRepresentation, ActionType, ModalityConfig,
)
so100_config = {
"video": ModalityConfig(
delta_indices=[0], # current frame only
modality_keys=["front", "wrist"], # must match modality.json
),
"state": ModalityConfig(
delta_indices=[0],
modality_keys=["single_arm", "gripper"],
),
"action": ModalityConfig(
delta_indices=list(range(0, 16)), # predict 16 future steps
modality_keys=["single_arm", "gripper"],
action_configs=[
ActionConfig(rep=ActionRepresentation.RELATIVE, # arm joints
type=ActionType.NON_EEF,
format=ActionFormat.DEFAULT),
ActionConfig(rep=ActionRepresentation.ABSOLUTE, # gripper
type=ActionType.NON_EEF,
format=ActionFormat.DEFAULT),
],
),
"language": ModalityConfig(
delta_indices=[0],
modality_keys=["annotation.human.task_description"],
),
}
register_modality_config(so100_config, embodiment_tag=EmbodimentTag.NEW_EMBODIMENT)Dva detaily vás tu budú stáť deň, ak ich nepoznáte. Po prvé, action_configs je pozičný: dokumentácia vyžaduje rovnakú dĺžku a rovnaké poradie ako modality_keys, a sú priame ohľadom dôsledkov chyby, ktorou je tiché aplikovanie nesprávnej reprezentácie. Vaše chápadlo sa trénuje ako delta a vaše rameno ako absolútny cieľ, a neexistuje žiadna chybová správa. Po druhé, register_modality_config tvrdí, že značka ešte nie je zaregistrovaná, takže druhá konfigurácia NEW_EMBODIMENT v rovnakom procese Pythonu zlyhá s Embodiment tag ... already registered. Nemôžete importovať dve z nich do jedného skriptu. Tretie pravidlo sa vynucuje neskôr, pri nasadení: akcia delta_indices musí byť súvislý rozsah začínajúci nulou. Riedke okno ako [0, 4, 8] je odmietnuté, pretože všetko následné indexuje predpovedaný blok lineárne a inak by vykonalo nesprávne riadky.
Normalizačné štatistiky, najmä meta/relative_stats.json, sa vypočítavajú pre dĺžku horizontu, ktorú ste mali pri ich generovaní. Skráťte akčný horizont zo 16 na 8 bez opätovného generovania a tréning zlyhá s IndexError: boolean index did not match indexed array ... dimension is 8 but corresponding boolean dimension is 16. Oprava je jeden príkaz: python gr00t/data/stats.py --dataset-path <path> --embodiment-tag NEW_EMBODIMENT --modality-config-path examples/SO100/so100_config.py. Spustite ho po každej zmene delta_indices.
Krok 4: prostredie
N1.7 presunul repozitár na a Python 3.12. Stará cesta s conda plus pip install -e . cesta stále existuje v zbalenej sekcii README, ale upozorňuje, že závislosti GPU vrátane flash-attn a TensorRT môžu vyžadovať manuálnu inštaláciu. Použite uv, pokiaľ nemáte špecifický dôvod to neurobiť. Pokiaľ ide o flash-attn, jeden detail šetrí zmätok: uvidíte Installing flash-attn vytlačené pri každom uv run. Neprebieha prebudovanie. uv znovu overuje wheel pripnutý k URL, ktorý je už v cache, a trvá to dve alebo tri sekundy.
- 1Nainštalujte git-lfs, potom klonujte so submodulmi
git-lfs je povinný, nie voliteľný. Bez neho sa súbory parquet v demo_data/ stiahnu ako zástupné ukazovatele a demo spustenie zlyhá na datasete, ktorý sa javí ako prítomný v zozname súborov.
bashsudo apt install git-lfs && git lfs install git clone --recurse-submodules https://github.com/NVIDIA/Isaac-GR00T cd Isaac-GR00T - 2Nainštalujte uv a synchronizujte prostredie
Predvolená inštalácia stiahne závislosti GPU vrátane flash-attn a TensorRT. Na čerstvom obraze A100 alebo H100 je to najdlhší samostatný krok, takže ho urobte predtým, než začnete venovať pozornosť čomukoľvek inému.
bashcurl -LsSf https://astral.sh/uv/install.sh | sh sudo apt-get update && sudo apt-get install -y ffmpeg uv sync --python 3.12 uv run python -c "import gr00t; print('GR00T installed successfully')" - 3Autentifikujte sa voči Hugging Face
Urobte to pred prvým spustením trénovania, nie potom, čo zlyhá po ôsmich minútach.
bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 4Kontrola funkčnosti na dodaných demo dátach SO-100
Predtým, než sa dotknete vlastného záznamu, spustite 2000 krokov na demo_data/cube_to_bowl_5. Je to päť epizód, dokončí sa rýchlo a preukáže prostredie, nie vaše dáta. Ak toto spustenie zlyhá, nič, čo urobíte s vaším datasetom, nepomôže.
bashCUDA_VISIBLE_DEVICES=0 uv run python \ gr00t/experiment/launch_finetune.py \ --base-model-path nvidia/GR00T-N1.7-3B \ --dataset-path demo_data/cube_to_bowl_5 \ --embodiment-tag NEW_EMBODIMENT \ --modality-config-path examples/SO100/so100_config.py \ --num-gpus 1 \ --output-dir /tmp/test_finetune \ --max-steps 2000 \ --global-batch-size 32 \ --dataloader-num-workers 4
FFmpeg 8. torchcodec 0.8.0 podporuje iba FFmpeg 4 až 7 a Ubuntu 25.10 a novšie verzie dodávajú verziu 8. Chyba je Could not load libtorchcodec, čo vyzerá skôr ako poškodená inštalácia než konflikt verzií. Nainštalujte staršiu runtime verziu, napríklad conda install -c conda-forge 'ffmpeg<8', a umiestnite jej knižnice do LD_LIBRARY_PATH. CUDA_HOME nie je nastavený. Jemné doladenie zlyhá úplne. Spustite bash scripts/deployment/dgpu/install_deps.sh raz, alebo jednoducho export CUDA_HOME=/usr/local/cuda.
Krok 5: príkaz na jemné doladenie a aké sú skutočné predvolené hodnoty jeho príznakov
Vymeňte demo dátovú sadu za vašu a pridajte nastavenia, ktoré skutočne chcete. Nižšie je uvedená úplná forma, ktorú úložisko používa vo svojom vlastnom tutoriáli pre nové stelesnenie, vrátane príznakov pre augmentáciu a ukladanie kontrolných bodov, ktoré krátky príklad v README vynecháva. Toto je v užšom zmysle: jazyková chrbtica a vizuálny kodér zostávajú zmrazené a trénuje sa projektor a difúzna akčná hlava.
export NUM_GPUS=1
CUDA_VISIBLE_DEVICES=0 uv run python \
gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path ./my_dataset_lerobot \
--embodiment-tag NEW_EMBODIMENT \
--modality-config-path examples/SO100/so100_config.py \
--num-gpus $NUM_GPUS \
--output-dir /tmp/so100 \
--save-total-limit 5 \
--save-steps 2000 \
--max-steps 20000 \
--use-wandb \
--global-batch-size 32 \
--color-jitter-params brightness 0.3 contrast 0.4 saturation 0.5 hue 0.08 \
--dataloader-num-workers 4| Príznak | Predvolené v FinetuneConfig | Čo robí |
|---|---|---|
| --global-batch-size | 64 | Celková dávka naprieč všetkými GPU pred akumuláciou gradientu. Dodané príklady používajú 32. |
| --learning-rate | 1e-4 | Rovnaká hodnota, ktorú AY-Robots posiela pre svoj tréner groot1.7. |
| --max-steps | 10000 | Celkový počet krokov optimalizátora. Wrapper examples/finetune.sh má tiež predvolenú hodnotu 10000. |
| --gradient-accumulation-steps | 1 | Násobí efektívnu dávku. Hodnoty nad 1 vydajú varovanie o akumulovanej veľkosti. |
| --save-steps and --save-total-limit | 1000 and 5 | Frekvencia kontrolných bodov a koľko ich je zachovaných. Staršie sú vymazané. |
| --weight-decay and --warmup-ratio | 1e-5 and 0.05 | Explicitne nastavené aj v examples/finetune.sh. |
| --state-dropout-prob | 0.2 in the CLI, 0.8 in the model config | Náhodne vynecháva proprioceptívny stav počas tréningu. Znížte ho, ak vaša úloha závisí od stavu. |
| --tune-llm and --tune-visual | False and False | Chrbtica zostáva predvolene zmrazená. |
| --tune-projector and --tune-diffusion-model | True and True | Projektor a difúzna akčná hlava sú to, čo sa skutočne trénuje. |
| --use-percentiles | True | Normalizujte pomocou q01 a q99 namiesto surových min a max. |
| --dataloader-num-workers | 2 | Načítavač je navrhnutý ako CPU-založený. Príklady to zvyšujú na 4. |
| --seed | neexistuje | Na tomto CLI neexistuje príznak pre seed. |
Ten posledný riadok nie je preklep. launch_finetune.py je CLI tyro generované z dátovej triedy a táto dátová trieda nemá pole pre seed. Súbor README samostatne uvádza 5 až 6 percentnú varianciu medzi spusteniami spôsobenú nedeterministickou augmentáciou obrazu. Dve spustenia s identickými príznakmi nebudú produkovať identické kontrolné body, čo je veľmi dôležité, keď sa snažíte rozhodnúť, či zmena hyperparametrov pomohla, alebo či ste mali šťastie. Pre porovnanie, vlastný tréner lerobot predvolene používa seed 1000 a recept LeRobot GR00T explicitne odovzdáva --seed=42 explicitne.
Jemné ladenie beží s eval_strategy="no", takže vôbec neexistuje krivka validačnej straty. Získate tréningovú stratu a nič iné. Sprievodca pre nové stelesnenie vám hovorí, aby ste to zapli pomocou --eval-strategy steps --eval-steps 500, ale tento príznak neexistuje na launch_finetune.py: CLI je generované tyro z dátovej triedy FinetuneConfig a eval_strategy, eval_steps a eval_batch_size sú namiesto toho polia dátovej triedy TrainingConfig. Ich predvolené hodnoty sú "no", 500 a 2. Ak ich chcete dosiahnuť, použite úplnejší vstupný bod gr00t/experiment/launch_train.py, kde vnorený príznak je --training.eval-strategy. Tak či onak, klesajúca tréningová strata sama o sebe vám povie veľmi málo o generalizácii, čo je presne situácia opísaná na strata klesá, ale politika nič nerobí.
Čo stojí spustenie s 20000 krokmi
GR00T N1.7 potrebuje 80 GB kartu, takže otázka nákladov má úzku odpoveď. Na AY-Robots beží tréner groot1.7 na úrovni A100 80 GB alebo H100 80 GB, kde spustenie trvá 3 až 6 hodín pri 1.20 až 2.00 USD za hodinu na spotovom trhu. To je približne 4 až 12 USD za predvolenú úlohu s 20000 krokmi. Rovnaká úloha na SmolVLA alebo ACT pristane na 24 GB karte pri 0.30 až 0.60 USD za hodinu a 1 až 3 USD za spustenie. To je skutočný kompromis: GR00T stojí približne štyrikrát viac za pokus a nemôžete ho spustiť na 4090 pod vaším stolom.
| Model | Úroveň GPU | Typický beh | Typické náklady | Minimálny počet epizód |
|---|---|---|---|---|
| GR00T N1.7 | A100 80 GB or H100 80 GB | 3 to 6 hours | 4 to 12 USD | 50 |
| GR00T N1.5 | A100 80 GB or H100 80 GB | 3 to 6 hours | 4 to 12 USD | 50 |
| Pi0.5 | A100 80 GB or H100 80 GB | 3 to 6 hours | 4 to 12 USD | 50 |
| SmolVLA | RTX 4090 or any 24 GB card | 2 to 5 hours | 1 to 3 USD | 30 |
| ACT | RTX 4090 or any 24 GB card | 2 to 5 hours | 1 to 3 USD | 50 |
Minimálny počet epizód 50-epizód je spodná hranica, nie cieľ. Vlastné FAQ spoločnosti NVIDIA je náročnejšie: približne 100 trajektórií pre jednoduché uchopenie a umiestnenie na pevnom mieste, 500 alebo viac pre komplexné alebo viacstupňové scény a 100 až 500 pre jemnú manipuláciu. Ak máte 20 epizód, strávte popoludnie nahrávaním namiesto večerného ladenia. Sprievodca zberom dát pokrýva, čo odlišuje užitočnú epizódu od zbytočnej, nahrajte svoj prvý dataset je krátka verzia a zber dát SO-100 je verzia špecifická pre rameno.

Krok 6: vyhodnotenie v otvorenej slučke predtým, ako sa dotknete ramena
Neumiestňujte čerstvý kontrolný bod na fyzické rameno, aby ste zistili, či tréning fungoval. Najprv spustite vyhodnotenie v otvorenej slučke. Prehrá zaznamenanú epizódu, požiada model o akcie v každom kroku a vykreslí predikciu oproti skutočnej hodnote s MSE a MAE. Nič to nestojí a zachytáva chyby mapovania z krokov 2 a 3.
uv run python gr00t/eval/open_loop_eval.py \
--dataset-path ./my_dataset_lerobot \
--embodiment-tag NEW_EMBODIMENT \
--model-path /tmp/so100/checkpoint-20000 \
--traj-ids 0 \
--execution-horizon 16 \
--steps 400 \
--modality-keys single_arm gripperÚložisko zámerne odmieta zverejniť cieľové MSE pre vlastné dáta, a to je správne rozhodnutie: číslo závisí od vašich akčných jednotiek, vašej úlohy a veľkosti vášho datasetu, takže prahová hodnota skopírovaná z ramena niekoho iného nič neznamená. Zmysluplný je trend. Tu je referenčný beh, ktorý úložisko dokumentuje na jednom H100 s demo datasetom piatich epizód a 2000 krokmi.
| Kontrolný bod | Priemerné MSE na trajektórii 0 | Priemerné MAE na trajektórii 0 |
|---|---|---|
| 500 | 87.5 | 5.63 |
| 1000 | 25.4 | 3.30 |
| 1500 | 13.2 | 2.18 |
| 2000 | 10.0 | 1.76 |
Tvar je signál, nie absolútne hodnoty. Chyba by mala neustále klesať, ako sa tréningové kroky akumulujú. Priemerne za všetkých päť tréningových epizód, a nie len za trajektóriu 0, dosiahol finálny kontrolný bod repozitára približne 7.5 MSE a 1.5 MAE, takže aj referenčný beh sa číta inak v závislosti od toho, ktoré epizódy spriemerujete. Zaznamenajte si vlastnú základnú líniu na neupravenom demo príkaze predtým, ako zmeníte čokoľvek vo svojich vlastných dátach: ak nedokážete reprodukovať známy dobrý beh, nedokážete rozlíšiť chybu nastavenia od problému s dátami. Repozitár tiež mapuje bežné symptómy k príčinám a každý z nich je prevádzkový, nie chyba modelu.
| Symptóm | Pravdepodobná príčina |
|---|---|
| MSE ploché alebo stúpajúce naprieč kontrolnými bodmi | Príliš nízka rýchlosť učenia, alebo sa dáta vôbec nenačítavajú. Skontrolujte --dataset-path a dataloader workers. |
| Predikčná krivka je plochá alebo konštantná | Kľúče modality.json alebo --modality-config-path sa nezhodujú. Kľúče akcií nie sú namapované. |
| MSE obrovské, alebo NaN strata počas tréningu | Normalizácia akcie a stavu. Overte meta/stats a to, že rozsahy akcií sú fyzicky vierohodné. |
| Dobré na traj 0, slabé na vynechaných epizódach | Nedostatok dát, nie chyba. Päť demo epizód nemôže zovšeobecniť. |
Iná cesta: lerobot-train namiesto Isaac-GR00T
Aktuálna verzia LeRobot, 0.6.1 na PyPI od 3. augusta 2026, ponúka druhý a celkom odlišný spôsob jemného doladenia rovnakých základných váh. LeRobot vystavuje GR00T N1.7 ako typ politiky a trénuje ju prostredníctvom vlastného lerobot-train vstupného bodu. Dve veci sú tu dôležité. LeRobot CLI je sada konzolových skriptov, takže čokoľvek, čo čítate a hovorí python lerobot/scripts/train.py je zastarané a nebude fungovať. A LeRobot úplne odstránil podporu GR00T N1.5, odmietajúc kontrolné body a konfigurácie N1.5 s poznámkou o migrácii, takže ak potrebujete N1.5 cez LeRobot, musíte pripnúť lerobot==0.5.1, poslednú verziu, ktorá ju podporuje, vydanú 7. apríla 2026.
pip install "lerobot[groot]" "lerobot[training]"
hf auth login
lerobot-train \
--dataset.repo_id=$HF_USER/$DATASET_NAME \
--dataset.image_transforms.enable=true \
--policy.type=groot \
--policy.device=cuda \
--policy.base_model_path=nvidia/GR00T-N1.7-3B \
--policy.embodiment_tag=new_embodiment \
--policy.chunk_size=16 \
--policy.n_action_steps=16 \
--policy.use_relative_actions=true \
--policy.relative_exclude_joints='["gripper"]' \
--policy.use_bf16=true \
--seed=42 \
--batch_size=64 \
--steps=20000 \
--save_freq=5000 \
--output_dir=$OUTPUT_DIR| Aspekt | Isaac-GR00T launch_finetune.py | lerobot-train --policy.type=groot |
|---|---|---|
| Verzia datasetu | Len LeRobot v2, vyžaduje sa konverzia | Natívny dataset LeRobot, bez downgradu |
| Mapovanie modality | meta/modality.json plus dátová konfigurácia v Pythone | žiadny modality.json; správanie nastavené príznakmi --policy.* na príkazovom riadku |
| Seed | žiadny príznak seed | --seed, predvolené pre LeRobot 1000 |
| Relatívne akcie | ActionConfig pre každý kľúč v dátovej konfigurácii | --policy.use_relative_actions plus --policy.relative_exclude_joints |
| Publikované referenčné výsledky | Trend MSE SO-100 v otvorenej slučke na demo dátach | Sady LIBERO, priemer 96.5 percenta naprieč štyrmi sadami |
| Cesta nasadenia | run_gr00t_server.py plus eval_so100.py cez ZMQ | lerobot-rollout, s chunkovaním v reálnom čase (queue_threshold by mal zostať na alebo pod 5) |
- Každý príznak je viditeľný a meniteľný. Môžete odmraziť vizuálny kódovač, presunúť state_dropout_prob alebo skrátiť akčný horizont.
- Grafy otvorenej slučky sú lokálne súbory. Porovnávanie checkpoint-5000 s checkpoint-20000 je príkaz shellu.
- Nezávisíte od toho, či nejaká platforma zostane online, a checkpoint sedí na vašom disku v štandardnom formáte.
- Príklady benchmarkov repozitára pre LIBERO, SimplerEnv a DROID vám poskytnú známe dobré behy na reprodukciu predtým, ako budete dôverovať vlastným dátam.
- Prostredie je väčšina práce. Verzia FFmpeg, CUDA_HOME, git-lfs, gated backbone, torchcodec: žiadny z nich nie je problém modelu a každý z nich zastaví beh.
- Konverzia z v3.0 na v2.1 vyžaduje samostatné virtuálne prostredie s vlastným inštalačným krokom a prepíše váš adresár datasetu na mieste.
- Prenájom GPU začína účtovať, keď začnete ladiť, nie keď začne trénovanie, a nič nezastaví inštanciu, keď sa beh dokončí.
- Žiadny seed znamená žiadnu bitovú reprodukovateľnosť, navyše k 5 až 6 percentnej variancii medzi behmi len z augmentácie.
Dva spôsoby, ako získať rovnaký checkpoint
Prenajmete si GPU a každý krok je vo vašej réžii. Realisticky to prvýkrát zaberie jedno popoludnie a potom už len dvadsať minút zakaždým.
- Nahrávajte epizódy s lerobot-record na SO-100. Získate dataset LeRobot v3.0.
- Preveďte ho na v2.1 pomocou scripts/lerobot_conversion/convert_v3_to_v2.py vo vlastnom virtualenv.
- Napíšte meta/modality.json a Python konfig modality, zaregistrovaný pod EmbodimentTag.NEW_EMBODIMENT.
- Prenajmite si 80 GB kartu, klonujte so submodulmi, uv sync, autentifikujte sa voči Hugging Face.
- Spustite launch_finetune.py, potom open_loop_eval.py na niekoľkých checkpointoch a porovnajte trend MSE pred dotykom hardvéru.
- Stiahnite checkpoint zo stroja predtým, než zničíte inštanciu, a potom vytvorte cestu pre servírovanie k ramenu.
Skopírujte checkpoint z prenajatej inštancie predtým, než ju vypnete. --save-total-limit 5 tiež znamená, že staršie checkpointy sú vymazané počas tréningu, takže checkpoint, ktorý ste chceli v kroku 5000, už nemusí existovať v kroku 20000.
Rovnaká práca ako formulár. Vyberiete model a dataset, backend prenajme GPU na spotovom trhu podľa požadovanej VRAM, spustí tréner a zapíše checkpointy do objektového úložiska. Sprievodca GR00T N1.7 na SO-100 je presne táto kombinácia; tréningová matica obsahuje každú inú kombináciu modelu a ramena, vrátane GR00T N1.7 na SO-101.
| Čo posiela tréner groot1.7 | Hodnota |
|---|---|
| Veľkosť dávky | 32 |
| Miera učenia | 1e-4 |
| Max krokov | 20000 |
| Akumulácia gradientu | 1, a pre tento tréner to má účinok |
| Extra nastavenie vystavené vo formulári | saveSteps |
| Základný checkpoint | nvidia/GR00T-N1.7-3B |
| Akceptovaný formát datasetu | LeRobot v2.0 or v2.1 |
Dataset môže pochádzať z Hugging Face repo id, z vášho vlastného stroja, alebo zo session, ktorú ste nahrali pomocou desktop klienta. Inferencie je samostatný krok: platforma poskytne pod, ktorý obsluhuje politiku, a váš lokálny robotický klient komunikuje s týmto koncovým bodom. Pody obsahujú strážneho psa pre nečinnosť a po období nečinnosti sa samy zničia, takže zabudnutá záložka prehliadača nebude účtovať cez noc. Ak by ste radšej neklikali, rovnaké operácie existujú na CLI a MCP serveri.
GR00T N1.7 a Pi0.5 sú tu len cloudové; lokálne bežia iba SmolVLA a ACT. Požiadavka na v2.1 tiež nezmizne, pretože dataset v3.0 musí byť stále konvertovaný, kým ho GR00T loader akceptuje. A nič za vás nenapíše sémantiku vášho modality.json: ak sú vaše kľúče kamery alebo jazykový kľúč nesprávne, sú nesprávne na oboch cestách. Pozrite si dokumentáciu k tréningu, čo backend robí a nerobí vo vašom mene.

Návrat checkpointu na rameno
Isaac-GR00T používa rozdelenie server-klient cez ZMQ. Politika beží na GPU a tenký klient na robotickom stroji posiela pozorovania a prijíma akčné bloky. Príklad SO-100 je dostatočne kompletný na skopírovanie: spustite run_gr00t_server.py s vaším checkpointom a --embodiment-tag NEW_EMBODIMENT, potom spustite eval_so100.py na strane robota so sériovým portom, id robota, indexmi kamier a jazykovou inštrukciou. Názvy kamier v tomto príkaze musia zodpovedať priateľským názvom z vášho modality.json, nie číslam zariadení OS.
# GPU side
uv run python gr00t/eval/run_gr00t_server.py \
--model-path /tmp/so100/checkpoint-20000 \
--embodiment-tag NEW_EMBODIMENT \
--device cuda:0 \
--host 0.0.0.0 --port 5555
# robot side, from gr00t/eval/real_robot/SO100
uv run --no-sync python eval_so100.py \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM2 \
--robot.id=orange_follower \
--robot.cameras="{ front: {type: opencv, index_or_path: 6, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \
--policy_host=localhost --policy_port=5555 \
--lang_instruction="put the cube in the yellow bowl"Zatiaľ čo zapájate rameno späť: SO-100 používa zbernicové servá Feetech STS3215 na 7.4 V napájaní. Napájanie 12 V ich zničí, a je to ľahká chyba, ak vlastníte aj LeKiwi, ktorého základňa beží na 12 V, zatiaľ čo jeho rameno nie. Skontrolujte napájanie pred prvým zapnutím, nie po dyme. Pozrite si hardvérovú stránku SO-100 a SO-100 proti LeKiwi. Ak sa rameno zapne, ale nič sa nehýbe, servo nereaguje je miesto, kde začať.
Teraz úprimná časť o tom, kde beží politika, pretože trénovanie a obsluha majú odlišné hardvérové požiadavky. Jemné doladenie vyžaduje 40 GB alebo viac. Inferencie nie: README uvádza 16 GB alebo viac a explicitne spomína RTX 4090, takže karta, ktorú už vlastníte, môže obsluhovať checkpoint, ktorý by nikdy nemohla vyprodukovať. To, čo rozhoduje o tom, či sa politika cíti citlivo, nie je VRAM, ale to, kde sa nachádza server. Na AY-Robots je GR00T N1.7 iba v cloude, takže riadiaca slučka platí za okružnú cestu cez verejný internet navyše k 152 ms na akčný krok, a iba SmolVLA a ACT bežia aj lokálne. Pre pomalé uchopenie a umiestnenie je vzdialený pod prežiteľný. Pre čokoľvek reaktívne to nie je: politika sa stáva váhavou spôsobom, ktorý vyzerá presne ako zlyhanie tréningu a nie je ním. ACT s 20 ms na akčný krok je model, ktorý toleruje najtesnejšiu slučku, SmolVLA je na 245 ms, a žiadne množstvo ladenia latencie nevráti okružnú cestu, ktorá už bola strávená. Spustite svoju prvú politiku prechádza obslužnou stranou od začiatku do konca.
Čo sa skutočne pokazí
- GatedRepoError pri prvom spustení. Nebol vám udelený prístup k nvidia/Cosmos-Reason2-2B, alebo ste sa neautentifikovali. Stáva sa to po tom, čo sa už spustili hodiny GPU.
- Dátový súbor odmietnutý pri načítaní. Takmer vždy dátový súbor v3.0. Preveďte ho na nižšiu verziu. Pozrite si dátový súbor odmietnutý ako v3.
- IndexError o nesúladných booleovských dimenziách. Zmenili ste delta_indices a nepregenerovali ste štatistiky.
- Nedostatok pamäte pri dávke 32. Znížte --global-batch-size a zvýšte --gradient-accumulation-steps, alebo znížte --num-shards-per-epoch, čo konfigurácia výslovne navrhuje, keď je VRAM obmedzená. Pozrite si nedostatok pamäte počas trénovania.
- Strata klesá, politika nič nerobí. Predvolene neexistuje validačné rozdelenie, takže čistá tréningová krivka dokazuje veľmi málo. Táto stránka pokrýva diagnostiku.
- Funguje vo vašom nastavení a nikde inde. Očakávané pri malom dátovom súbore natočenom za jednej svetelnej podmienky. NVIDIA odporúča augmentáciu farebného chvenia plus 20 až 50 epizód pri rôznom osvetlení. Viac tu.
- Chápadlo sa nikdy správne nezatvorí. Skontrolujte, či je akcia chápadla ABSOLÚTNA a kĺby ramena RELATÍVNE, v tomto poradí v action_configs. Chápadlo sa nezatvára uvádza ďalšie príčiny.
- Kamera sa potichu vypne uprostred nahrávania. Epizóda sa stále uloží a video kľúč stále existuje, preto je to nepríjemné. Kamera nerozpoznaná to pokrýva.
Celý index režimov zlyhania nájdete na . Ak si vyberáte medzi modelmi namiesto ladenia jedného, a majú benchmarkové čísla s priloženými zdrojmi, a je porovnanie, ktoré väčšina ľudí skutočne potrebuje, pretože ide o voľbu medzi modelom, ktorý môžete trénovať na karte pod vaším stolom, a takým, pre ktorý si musíte prenajať 80 GB uzol na doladenie. Pre pochopenie, prečo sa tieto modely správajú tak, ako sa správajú, a sa oplatí prečítať ako prvé. A ak ešte nevlastníte rameno, streamuje fyzické SO-100 bez registrácie.
Koľko epizód potrebujem, kým sa oplatí doladiť GR00T N1.7?▾
AY-Robots stanovuje minimálny počet 50 epizód pre tréner groot1.7. Vlastné FAQ spoločnosti NVIDIA je náročnejšie: približne 100 trajektórií pre jednoduché uchopenie a umiestnenie na pevnom mieste, 500 alebo viac pre komplexné alebo viacstupňové scény a 100 až 500 pre jemnú manipuláciu. Pod 50 epizód je takmer vždy lepšie zaznamenať viac dát ako ladiť hyperparametre. Ak sa úspešnosť potom stabilizuje, NVIDIA odporúča HG-DAgger: spustite politiku, zasiahnite, keď zlyhá, a pridajte tieto korekcie do dátového súboru.
Prečo sa môj dátový súbor nenačíta a ako zistím, akú má verziu?▾
Otvorte meta/info.json a prečítajte codebase_version. Aktuálna CODEBASE_VERSION LeRobot na main je v3.0, takže čokoľvek zaznamenané s nedávnym nástrojovým reťazcom je v3.0, a GR00T loader očakáva v2. Konvertujte pomocou scripts/lerobot_conversion/convert_v3_to_v2.py z repozitára Isaac-GR00T, ktorý zapíše codebase_version: v2.1 do konvertovaného dátového súboru. Skript beží vo vlastnom virtualenv, pretože potrebuje inú verziu lerobot ako GR00T.
Môžem doladiť GR00T N1.7 na RTX 4090?▾
Nie. NVIDIA odporúča 40 GB alebo viac VRAM pre doladenie a uvádza uzly H100 alebo L40; iné karty fungujú, ale trvá to oveľa dlhšie. 4090 má 24 GB. AY-Robots ponúka GR00T N1.7 iba na úrovni A100 80 GB a H100 80 GB z rovnakého dôvodu. Inferencie sú iný príbeh: 16 GB stačí na obsluhu modelu, takže 4090 môže spustiť politiku, ktorú nemôže trénovať. Ak chcete VLA, ktorý môžete trénovať na 24 GB, je to SmolVLA s približne 450 miliónmi parametrov alebo ACT s približne 80 miliónmi.
Prečo dve spustenia s identickými príznakmi dávajú rôzne kontrolné body?▾
Pretože launch_finetune.py nemá seed. Je to tyro CLI generované z dátovej triedy, ktorá neobsahuje pole seed, takže nič nefixuje RNG. Repozitár samostatne uvádza 5 až 6 percentnú varianciu medzi spusteniami spôsobenú nedeterministickou augmentáciou obrazu. Ak záleží na reprodukovateľnosti, použite namiesto toho cestu LeRobot: lerobot-train prijíma --seed a publikovaný recept GR00T odovzdáva --seed=42.
Mám použiť Isaac-GR00T alebo lerobot-train?▾
Použite Isaac-GR00T, ak chcete referenčnú implementáciu, kontrolu nad reprezentáciou akcií pre každý kľúč, export TensorRT alebo benchmarkové príklady na reprodukciu predtým, ako budete dôverovať vlastným dátam. Použite lerobot-train, ak je váš dátový súbor už LeRobot v3.0 a radšej by ste ho nekonvertovali, ak chcete seed, alebo ak je zvyšok vášho stacku už LeRobot. Obidva doladia rovnaké váhy nvidia/GR00T-N1.7-3B. Všimnite si, že LeRobot úplne zrušil podporu GR00T N1.5: kontrolné body N1.5 sú odmietnuté s poznámkou o migrácii a musíte použiť lerobot==0.5.1, aby ste ich mohli naďalej používať.
Naozaj potrebujem okrem prednej kamery aj kameru na zápästí?▾
Dodávaná konfigurácia SO-100 používa obe, a modality.json mapuje prednú kameru a kameru na zápästí ako samostatné video kľúče. Môžete trénovať s jednou kamerou, a tabuľka latencie modelovej karty je meraná s jednou kamerou, ale pohľad zo zápästia je to, čo poskytuje politike použiteľné informácie o chápadle v momente kontaktu. Ak sa chápadlo zatvorí v nesprávnom čase vo vašich rollouts, chýbajúca alebo zle nasmerovaná kamera na zápästí je jednou z prvých vecí, ktoré treba skontrolovať.
Doladte GR00T N1.7 na vašom SO-100 bez toho, aby ste najprv vytvorili prostredie
Vyberte model, dátový súbor a hyperparametre vo formulári. Backend si prenajme A100 80 GB alebo H100 na spotovom trhu, spustí tréner s dávkou 32, rýchlosťou učenia 1e-4 a 20000 krokmi a zapíše kontrolné body do objektového úložiska. Približne 4 až 12 USD za spustenie.
Otvorte sprievodcu trénovaním GR00T N1.7Sources
- NVIDIA Isaac-GR00T repository README, N1.7 main branch
- Isaac-GR00T: Fine-tune on Custom Embodiments (NEW_EMBODIMENT)
- Isaac-GR00T: Finetuning Models for the SO100/SO101 Robot
- Isaac-GR00T: Robot Data Preparation Guide, the GR00T LeRobot format
- Isaac-GR00T: modality config and ActionConfig reference
- Isaac-GR00T: Policy API Guide and the embodiment tag list
- Isaac-GR00T: FinetuneConfig dataclass with every CLI default
- Isaac-GR00T: the shared finetune launcher wrapper
- GR00T N1.7 FAQ: data volume, augmentation and deployment
- nvidia/GR00T-N1.7-3B model card, including the inference timing table
- nvidia/Cosmos-Reason2-2B, the gated VLM backbone used by N1.7
- GR00T N1: An Open Foundation Model for Generalist Humanoid Robots
- NVIDIA Isaac GR00T N1.7: Open Reasoning VLA Model for Humanoid Robots
- LeRobot: GR00T Policy, the lerobot-train recipe
- LeRobot: Imitation Learning on Real-World Robots (lerobot-record, lerobot-train)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started