LeRobot documentation
Meta-World
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.
- Makale: Meta-World: Çok Görevli ve Meta Pekiştirmeli Öğrenme için Bir Ölçüt ve Değerlendirme makalesi
- GitHub: Farama-Foundation/Metaworld
- Proje web sitesi: metaworld.farama.org

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:
| Grup | CLI adı | Görevler | Açıklama |
|---|---|---|---|
| Kolay | easy | 28 | Basit dinamiklere ve tek adımlı hedeflere sahip görevler |
| Orta | medium | 11 | Çok adımlı akıl yürütme gerektiren görevler |
| Zor | hard | 6 | Karmaşık temaslara ve hassas manipülasyona sahip görevler |
| Çok Zor | very_hard | 5 | serideki en zorlu görevler |
| MT50 (tümü) | Virgülle ayrılmış liste | 50 | Tü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=10Tek 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 uint8observation.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=1000Pratik 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,stepsveenv_eval_freqdeğerlerini ayarlayın.