LeRobot documentation

Meta-World

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.7.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Meta-World

The commands below run the simulator locally. To keep its dependencies away from your policy's, serve it instead with `lerobot-env-server --config_path=docker/sim/configs/metaworld.yaml --sim.task=--docker=true`, where `` is the command's `--env.task`, and add `--env.server.endpoint=tcp/127.0.0.1:7448` to the command. A server runs the task it was started with (see [Simulation: local or served](./simulation)).

Meta-World, sürekli kontrol robotik manipülasyonunda çok görevli ve meta pekiştirmeli öğrenme için açık kaynaklı bir simülasyon benchmark'ıdır. Günlük nesneleri ve ortak bir masaüstü Sawyer kolunu kullanan 50 çeşitli manipülasyon görevini bir araya getirir; algoritmaların birçok farklı görevi öğrenip yeni görevlere hızla genelleştirip genelleştiremediğini test etmek için standartlaştırılmış bir oyun alanı sunar.

MetaWorld MT10 demo

Mevcut görevler

Meta-World, zorluk gruplarına ayrılmış 50 görev sunar. LeRobot'ta tekil görevlerde, zorluk gruplarında veya tam MT50 setinde değerlendirme yapabilirsiniz:

GrupCLI adıGörevlerAçıklama
Kolayeasy28Basit dinamiklere ve tek adımlı hedeflere sahip görevler
Ortamedium11Çok adımlı akıl yürütme gerektiren görevler
Zorhard6Karmaşık temaslara ve hassas manipülasyona sahip görevler
Çok Zorvery_hard5serideki en zorlu görevler
MT50 (tümü)Virgülle ayrılmış liste50Tüm 50 görev — en zorlu çoklu görev ayarı

Bireysel görev adlarını da doğrudan geçebilirsiniz (ör. assembly-v3, dial-turn-v3).

HF Hub üzerinde Meta-World MT50 için LeRobot uyumlu bir veri seti sunuyoruz: lerobot/metaworld_mt50. Bu veri seti, tutarlılık için sabit nesil/hedef konumları ve tek-sıcak (one-hot) görev vektörleri kullanan, tüm 50 görevi içeren MT50 değerlendirmesi için biçimlendirilmiştir.

Kurulum

LeRobot kurulum talimatlarını izledikten sonra:

pip install -e ".[metaworld]"
If you encounter an `AssertionError: ['human', 'rgb_array', 'depth_array']` when running Meta-World environments, this is a mismatch between Meta-World and your Gymnasium version. Reinstall the Gymnasium version LeRobot supports (Meta-World `3.0.0` works with it):
pip install "gymnasium>=1.1.1,<2.0.0"

Değerlendirme

Varsayılan yerel değerlendirme

Orta zorluk seviyesindeki bölüntüde değerlendirin (kapsama ve hesaplama arasında iyi bir denge):

lerobot-eval \
  --policy.path="your-policy-id" \
  --env.type=metaworld \
  --env.task=medium \
  --eval.batch_size=1 \
  --eval.n_episodes=10

Tek görev değerlendirmesi

Belirli bir görevde değerlendirin:

lerobot-eval \
  --policy.path="your-policy-id" \
  --env.type=metaworld \
  --env.task=assembly-v3 \
  --eval.batch_size=1 \
  --eval.n_episodes=10

Çok görevli değerlendirme

Birden fazla görev veya zorluk grubu arasında değerlendirin:

lerobot-eval \
  --policy.path="your-policy-id" \
  --env.type=metaworld \
  --env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
  --eval.batch_size=1 \
  --eval.n_episodes=10
  • --env.task, açık görev listelerini (virgülle ayrılmış) veya zorluk gruplarını (ör. easy, medium, hard, very_hard) kabul eder.
  • --eval.batch_size, paralel olarak çalışan ortam sayısını kontrol eder.
  • --eval.n_episodes, her görev için kaç bölümün çalıştırılacağını belirler.

Politika girdileri ve çıktıları

Gözlemler:

  • observation.image — tek kamera görünümü (corner2), 480x480 HWC uint8
  • observation.state — 4 boyutlu proprioseptif durum (uç efektor konumu + kavrama)

Eylemler:

  • Box(-1, 1, shape=(4,)) içinde sürekli kontrol — 3B uç efektor delta + 1B kavrama

Önerilen değerlendirme bölümleri

Yeniden üretilebilir kıyaslamalar için görev başına 10 bölüm kullanın. Tam MT50 seti için bu, toplamda 500 bölüm demektir. Genelleyebilirlik (generalization) sizin için önemliyse, tam MT50 üzerinde çalıştırın; bu set bilinçli olarak zorlayıcıdır ve birkaç dar görevden daha iyi bir şekilde güçlü/zayıf yönleri ortaya koyar.

Eğitim

Örnek eğitim komutu

Meta-World görevlerinin bir alt kümesinde bir SmolVLA politikası eğitin:

lerobot-train \
  --policy.type=smolvla \
  --policy.repo_id=${HF_USER}/metaworld-test \
  --policy.load_vlm_weights=true \
  --dataset.repo_id=lerobot/metaworld_mt50 \
  --env.type=metaworld \
  --env.task=assembly-v3,dial-turn-v3,handle-press-side-v3 \
  --output_dir=./outputs/ \
  --steps=100000 \
  --batch_size=4 \
  --eval.batch_size=1 \
  --eval.n_episodes=1 \
  --env_eval_freq=1000

Pratik ipuçları

  • Çoklu görev eğitiminde (MT10/MT50 kuralları) politikaların açık görev bağlamına sahip olması için one-hot görev koşullandırmasını kullanın.
  • Son işleme veya günlük kaydı yazarken, başarı metriklerinizin benchmark ile uyumlu olması için veri seti görev açıklamalarını ve info["is_success"] anahtarlarını inceleyin.
  • Hesaplama bütçenize uygun olacak şekilde batch_size, steps ve env_eval_freq değerlerini ayarlayın.
Update on GitHub