İçeriğe geç

Betikler ve dosyalar

Her betik --help ile kullanımını yazar.

Betik Ne yapar?
duck, duck.py Komut satırı: setup, doctor, try, eval, train, watch; aşağıdaki betikleri çağırır, yalnız Python standart kütüphanesini kullanır (5 dakikada dene)
train_mac.py Değiştirilmemiş joystick.py environment’ında (düz zemin) Brax PPO; BerkeleyHumanoidJoystickFlatTerrain hyperparameter’ları; sanal CPU cihazları üzerinde pmap; her checkpoint’te log, ONNX ve parametreler
onnx_export.py Brax parametreleri → ONNX, yalnız onnx paketiyle (TensorFlow/tf2onnx gerekmez); gürültülü örnekleme için loc_out/scale çıktıları da var
smoke.py, smoke_pmap.py Environment derleniyor ve adım atıyor mu, tek cihazda ve D cihazda ne kadar hızlı
eval_checkpoint.py Bir ONNX policy’sini upstream MjInfer ile C MuJoCo’da çalıştırır; mesafe, düşme, ayak adımları; isteğe bağlı video
eval_grid.py Aynısı, exploration noise ile 9 seed; kaçı düştü, ortalama mesafe, isteğe bağlı 3×3 video
make_log.py Ham log + ölçüm JSON’ları → train_log.csv, ckpt_summary.json, reward_curve.png
reward_hacking/hile_env.py 2. bölümün reward dosyası (VARIANTS)
reward_hacking/train_hile.py Reward varyantlarıyla eğitim, --restore ile warm start
reward_hacking/make_hile_repo.py Open_Duck_Playground kopyasına zeminle çarpışan kütlesiz kutular ekler
reward_hacking/render_ckpt_hile.py, render_grid_hile.py 2. bölümün değerlendiricileri (eğitim fiziği, ek ölçümler)
sim2real/gait.py Bir ölçüm JSON’undan: ördek yürüyor mu (ayak salınımı, kalkış, sol-sağ sırası)
sim2real/watch_ckpts.py Bir eğitimin her yeni checkpoint’ini dener ve yürüyüp yürümediğini tabloya yazar (--force, --once)
sim2real/eval_world.py eval_checkpoint.py + dünyayı değiştiren ortam değişkenleri (FORCE, FORCE_RAND, FLOOR_FRIC, MASS_SCALE)
Klasör İçerik
results/2026-10-24/ 1. bölüm: train_log.csv (tek tablo), train_log_raw.csv, checkpoints.csv, ckpt_summary.json, train_metrics.jsonl (PPO kayıpları, parça başına adım/sn), run_config.json (PPO parametreleri), sim/*.json (her ölçüm), 68,4 M ve 72,4 M ONNX’leri, params/ckpt_068413440.pkl (warm start için)
results/2026-10-24-reward-hacking/ 2. bölüm: summary.json; her varyant için run.json, train_log.csv, train_metrics_ep.jsonl, onnx/, sim/

make_log.py, 1. bölümün train_log.csv ve ckpt_summary.json dosyalarını bu dosyalardan bayt bayt yeniden üretir.

  • Python 3.12, requirements-lock.txt (tam ortam), requirements.txt (doğrudan bağımlılıklar: jax 0.6.2, mujoco / mujoco-mjx 3.3.3, brax 0.12.4, playground 0.0.5, onnx, onnxruntime, imageio).
  • Open_Duck_Playground commit b9be205ac64488c23504ca42e5ec790337adeec3.
  • Hazır policy kıyası: Open_Duck_Mini commit b23317a’daki BEST_WALK_ONNX.onnx.
  • Open Duck Mini v2 ve Open_Duck_Playground: Antoine Pirrone ve katkıcılar. Robot, MJCF modeli, joystick.py environment’ı, reward’lar, reference motion (polynomial_coefficients.pkl), mujoco_infer.py ve hazır BEST_WALK_ONNX. Open_Duck_Mini Apache-2.0. Open_Duck_Playground’un kaynak dosyalarında Apache-2.0 başlığı var ama b9be205’te depo kökünde LICENSE dosyası yoktu.
  • MuJoCo Playground, MuJoCo / MJX ve Brax: Google DeepMind ve katkıcılar, Apache-2.0.
  • Bu depodaki kod Apache License 2.0 altında. results/ (loglar, ölçümler, ONNX policy’lerimiz) da aynı lisansla.