LeRobot documentation

Politikalar

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

Politikalar

Her politika, bir torch.nn.Module ile Hub karışımını birleştiren PreTrainedPolicy'den devralır; bu sayede herhangi bir politika, aynı iki çağrı ile Hugging Face Hub'a yüklenebilir ve Hub'dan yüklenebilir.

Her politikanın, eğitim tarifleri ve sonuçları içeren kendi rehberi vardır — ACT, SmolVLA, π₀, π₀.₅ ve diğerleri Politikalar altında listelenmiştir. Bir politika eklemek için Bir Politika Ekleme bölümüne bakın.

PreTrainedPolicy

sınıf lerobot.policies.PreTrainedPolicy

< >

( config: PreTrainedConfig*inputs**kwargs )

Politika modelleri için temel sınıf.

chunk_inference_spec

< >

( )

Varsayılan mevcut gözlem parça sunumu yazar sözleşmesini tanımlayın.

Bu uygulamanın devralınması, predict_action_chunk'ün doğrudan çağıranlar tarafından gereken tüm hazırlıkları yaptığını, tam güncel gözlemi kabul ettiğini ve model koordinatlarında [B, chunk_size, A] döndürdüğünü beyan eder. Kanonik işlemci çifti, tüm parçaları desteklemelidir. n_action_steps sıradan oynatma dilimidir; RTC tam tahmin ufkuyla kalır.

Yalnızca select_action hazırlığı, diğer eylem yerleşimleri veya zamansal örneklemeyi gerektiren bir politika, bu yöntemi geçersiz kılmalı ve desteklenmeyen yapılandırmaları reddetmeli veya özel bir çalıştırıcı sağlamalıdır. Yöntemin varlığı veya başarılı bir ısınma, bu sözleşme için kanıt niteliği taşımaz. Politika/işleyici durumu yalnızca ayrıcalıklı bir oturum içinde izin verilir ve reset() yeni bir çalıştırma için bunu temizlemelidir.

count_queued_actions

< >

( )

Zaten hesaplanmış ve sunulmayı bekleyen eylem sayısı.

Eylem kuyruğu tutmayan (asla parçalamayan) veya kuyruğu şu anda boş olan (yeni bir parça hesaplamak üzere olan) bir politika için 0. drop_queued_actions'ın temizlediği, :attr:_action_queue_attrs içinde adlandırılan aynı kuyrukları okur.

drop_queued_actions

< >

( )

Daha önceki select_action çağrıları tarafından önceden hesaplanan eylemleri atın.

Bir sonraki select_action çağrısında taze bir ileri geçiş (forward pass) zorlar; böylece bölüm ortasında yapılan bir koşullandırma değişikliği (ör. yeni bir talimat), kuyruğun boşalmasını beklemeden anında geçerli olur. reset'in aksine, bölüm durumunun geri kalanı korunur. Bu fonksiyon, select_action çağıran iş parçacığından (thread) çağrılmalıdır. :attr:_action_queue_attrs içinde belirtilen kuyrukları temizler; eylem kuyruğu tutmayan bir politika, hiçbir şey yapmayan (no-op) bir davranış devralır.

forward

< >

( batch: dict[str, Tensor] ) → tuple[Tensor, dict | None]

Parametreler

  • batch (dict[str, Tensor]) — açıklama

Dönüş değeri

tuple[Tensor, dict | None]

Kayıp ve potansiyel olarak diğer bilgiler. Tensor olan kayıp dışında, diğer tüm öğeler loglama dostu, yerel Python türleri olmalıdır.

özet

from_pretrained

< >

( pretrained_name_or_path: str | Pathconfig: PreTrainedConfig | None = Noneforce_download: bool = Falseresume_download: bool | None = Noneproxies: dict | None = Nonetoken: str | bool | None = Nonecache_dir: str | Path | None = Nonelocal_files_only: bool = Falserevision: str | None = Nonestrict: bool = False**kwargs )

Politika, varsayılan olarak policy.eval() kullanılarak değerlendirme moduna ayarlanır (dropout modülleri devre dışı bırakılır). Eğitmek için önce policy.train() ile eğitim moduna geri almanız gerekir.

generate_text

< >

( batch: dict[str, Any] )

Politikanın metin başlığını ön işlenmiş bir gözlem grubunda çalıştırın.

İstek, batch üzerinde tamamlayıcı veri olarak taşınır (:data:~lerobot.utils.constants.QUERY_KIND / QUERY_TEXT); next_subtask yanıtı doğrudan set_task içine aktarılır, bu nedenle tam olarak bir alt görev olmalı, bir plan veya numaralı liste olmamalıdır. Üretilen metni döndürür ve eylem üreten durumu (kuyruklar, gözlem geçmişi) değiştirmemelidir.

get_optim_params

< >

( )

Optimizatöre iletilecek politika özel parametreleri (parametreler veya parametre grupları) döndürür.

predict_action_chunk

< >

( batch: dict[str, Tensor]**kwargs: Unpack[ActionSelectKwargs] )

Belirli bir gözlem için (eylem parçalama politikaları için) eylem parçasını döndürür, gerekirse toplu modda.

Eylem parçalama (action chunking) kullanan alt sınıflar, seçim için önbelleğe alınan eylem parçasını oluşturmak için bu yöntemi select_action içinde kullanmalıdır.

noise anahtar kelimesini destekleyen bir politika, örneklemeyi, politikanın çizeceği şekilde şekillendirilmiş o tensörden başlatır. noise None olduğunda, politika bunu normal şekilde çizer.

PolicyOutput döndürebilir; bu çıktı, select_action için olduğu gibi parçayı ve tahminini taşır.

push_model_to_hub

< >

( cfg: TrainPipelineConfigpeft_model = Nonestate_dict: dict[str, Tensor] | None = Nonedataset_meta: LeRobotDatasetMetadata | None = None )

Parametreler

  • cfg (TrainPipelineConfig) — Eğitim yapılandırması; train_config.json olarak kaydedilir ve model kartını oluşturmak için kullanılır.
  • peft_model — Adaptörler eğitilirken kullanılan PEFT sarmalayıcısı; yayınlanan depoda tam model ağırlıklarının yerini alan ağırlıklara sahiptir. Varsayılan değeri None'dır.
  • state_dict (dict[str, Tensor] | None) — Yoksayılır; politika parçalandığında ağırlıklar artık içsel olarak toplanır. Varsayılan değeri None'dir.
  • dataset_meta (LeRobotDatasetMetadata | None) — Model kartı için veri seti meta verisi, mevcutsa. Varsayılan değeri None'dır.

Bu politikayı Hub'a yayınlayın.

Kullanımdan kaldırıldı: Bunun yerine, modelin yanı sıra ön/son işlemcileri de yayımlayan lerobot.common.train_utils.publish_trained_model() kullanın.

sıfırla

< >

( )

Ortam sıfırlandığında her zaman çağrılmalıdır.

Önbellekleri temizleme gibi işlemleri gerçekleştirir.

select_action

< >

( batch: dict[str, Tensor]**kwargs: Unpack[ActionSelectKwargs] )

Ortamda çalıştırılacak tek bir eylemi döndürür (potansiyel olarak toplu modda).

Model, gözlem geçmişini kullandığında veya bir eylem dizisi ürettiğinde, bu yöntem önbelleklemeyle ilgilenir.

Ham bir eylem tensörü veya PolicyOutput döndürür: girdi partisiyle aynı anahtarlanan, eylemi "action" altında, politikanın bunun dışında beklediği veya inandığı şeyleri ise "prediction" altında (bir PolicyPrediction) tutan bir partidir. Tahmin, eylem gibi partilendirilir, her ortam için bir değer içerir ve her giriş, referans verdiği şeyle anahtarlanır: tahmin edilen kareler, tahmin ettikleri gözlem anahtarıyla; dil, notasyon stiliyle (“subtask”, “plan”, “memory”); kutular (notasyon VQA şeması) ise çizildikleri kamerayla. Çağıranlar, bu iki dönüş türünü lerobot.processor.policy_output_to_transition ile normalize eder; —display_data ilk ortamın tahminini gösterir.

Bir tahmin, bu adım için değerler tutar: bir parçayı kapsayan (örneğin hayali bir klip) tahmin, her parçanın ait olduğu eylemle birlikte parça parça döndürülür. Her giriş, yeniden döndürülene kadar ekranda kalır. Tahminleme, politikanın seçimine bağlı bir yapılandırma alanı üzerinden isteğe bağlıdır ve eylemleri değiştirmemelidir; politikanın yönünü belirlemesi gereken metin generate_text üzerinden iletilir.

supports_rtc

< >

( )

Bu politikanın Gerçek Zamanlı Parçalama (Real-Time Chunking) çıkarım (inference) anlambilimini (semantics) uygulayıp uygulamadığı.

supports_text_generation

< >

( )

Bu politikanın generate_text uygulayıp uygulamadığı (ikisini birlikte geçersiz kılın).

validate_chunk_input_features

< >

( features: tuple[FeatureSpec, ...] )

Sunumdan önce kanonik girdileri doğrulayın; varsayılan olarak kesin şekiller kullanılır.

Eksik girdileri açıkça yeniden boyutlandıran veya maskeleyen politikalar bu sözleşmeyi geçersiz kılabilir. Bu tür istisnalar asla taşıma katmanına değil, politikanın kendisine ait olmalıdır. Müzakere edilen tel şeması, sağlanan her özelliğin şeklini hâlâ sabitler.

wrap_with_peft

< >

( peft_config = Nonepeft_cli_overrides: dict | None = None )

Parametreler

  • peft_config — İsteğe bağlı PEFT adaptör yapılandırması (ör. LoraConfig). Sağlanırsa, doğrudan kullanılır (CLI geçersiz kılma işlemleri uygulanır).
  • peft_cli_overrides — İsteğe bağlı CLI geçersiz kılma sözlüğü (method_type, target_modules, r, vb.) Bunlar, son yapılandırmayı oluşturmak için politika varsayılanlarıyla birleştirilir.

Bu politikayı, parametre-verimli ince ayar için PEFT adaptörleriyle sarmalayın.

Bu yöntem, PEFT entegrasyonu için tek giriş noktasıdır. Alt sınıflar, varsayılan hedef modülleri sağlamak için _get_default_peft_targets() ve politika özel doğrulama için _validate_peft_config() yöntemlerini geçersiz kılmalıdır.

PreTrainedConfig

sınıf lerobot.configs.PreTrainedConfig

< >

( n_obs_steps: int = 1input_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>output_features: dict[str, lerobot.configs.types.PolicyFeature] | None = <factory>device: str | None = Nonedtype: torch.dtype | None = Noneuse_amp: bool = Falseuse_peft: bool = Falsepush_to_hub: bool = Truerepo_id: str | None = Noneprivate: bool | None = Nonetags: list[str] | None = Nonelicense: str | None = Nonepretrained_path: pathlib.Path | None = Nonepretrained_revision: str | None = None )

Parametreler

  • n_obs_steps — Politika iletilmesi için ortam adımına denk gelen gözlem sayısı (mevcut adımı ve geriye doğru ek adımları alır).
  • input_features — Politikaya ait girdi verisinin PolicyFeature'ını tanımlayan bir sözlük. Anahtar, girdi verisinin adını temsil eder ve değer, FeatureType ve shape özniteliklerinden oluşan PolicyFeature'dır.
  • output_features — Politikaya ait çıktı verilerinin PolicyFeature'ını tanımlayan bir sözlük. Anahtar, çıktı verisinin adını temsil eder ve değer, FeatureType ve shape özniteliklerinden oluşan PolicyFeature'dır.
  • normalization_mapping — FeatureType str değerinden (ör. “STATE”, “VISUAL”) karşılık gelen NormalizationMode değerine (ör. NormalizationMode.MIN_MAX) eşleyen bir sözlük

Politika modelleri için temel yapılandırma sınıfı.

make_policy

lerobot.policies.make_policy

< >

( cfg: PreTrainedConfigds_meta: LeRobotDatasetMetadata | None = Noneenv_cfg: EnvConfig | None = Nonerename_map: dict[str, str] | None = Nonedefer_weight_load: bool = Falsepretrained_path: str | Path | None = None ) → PreTrainedPolicy

Parametreler

  • cfg (PreTrainedConfig) — Oluşturulacak politika için yapılandırma. cfg.pretrained_path ayarlanmışsa, politika o yoldaki ağırlıklarla yüklenecektir.
  • ds_meta (LeRobotDatasetMetadata | None) — Özellik şekillerini ve türlerini çıkarılmasında kullanılan veri seti meta verisi. Ayrıca normalizasyon katmanları için istatistikler sağlar.
  • env_cfg (EnvConfig | None) — Özellik biçimlerini ve türlerini çıkarırken kullanılan ortam yapılandırması. ds_meta veya env_cfg değerlerinden biri sağlanmalıdır.
  • rename_map (dict[str, str] | None) — Veri seti veya ortam özellik anahtarlarını, beklenen politika özellik adlarıyla eşleştirmek için isteğe bağlı bir eşleme (ör. "left" → "camera1").
  • defer_weight_load (bool) — from_pretrained'in oluşturacağı tam politikayı oluşturur — aynı yapılandırma çözümlemesi, aynı istatistik türevli tamponlar, aynı cihaz yerleşimi ve değerlendirme modu — ancak safetensors ağırlık yüklemesini atlar. DCP kontrol noktasından devam ederken kullanılır; bu kontrol noktasının bölünmüş ağırlıkları accelerator.prepare() sonrasında akar (dağıtık kontrol noktası motoru rastgele başlatmayı yazar). PEFT politikası için yalnızca adaptör ağırlıkları atlanır, temel ağırlıklar normal şekilde yüklenir.
  • pretrained_path (str | Path | None) — Politik oluşturulduktan sonra, politikanın ince ayarının yapıldığı modeli adlandırmaya devam eden cfg.pretrained_path yerine, ağırlıkları (veya PEFT adaptörünü) buradan yüklemek için kullanılır. Kontrol noktasından devam ederken kullanılır.

Dönüş değeri

PreTrainedPolicy

Örneklenmiş ve bir cihaza yerleştirilmiş politika modeli.

Yükseltilen

ValueError veya NotImplementedError

  • ValueError — ds_meta ve env_cfg parametrelerinden ikisi birden veya hiçbiri sağlanırsa.
  • NotImplementedError — Desteklenmeyen bir politika-arkaplan kombinasyonu kullanılmaya çalışılırsa (ör. ‘mps’ ile VQBeT).

Bir politika modeli örneği oluşturun.

Bu fabrika fonksiyonu, bir politika oluşturma mantığını ele alır; bunun için giriş ve çıkış özellik şekillerinin belirlenmesi gerekir. Bu şekiller, bir LeRobotDatasetMetadata nesnesinden ya da bir EnvConfig nesnesinden türetilebilir. Fonksiyon, sıfırdan yeni bir politika başlatabilir ya da önceden eğitilmiş bir politika yükleyebilir.

Update on GitHub