环境

simulation environment 通过 EnvConfig 配置,并由 make_env 构建。每个子类 声明其 gym_kwargs 以及如何构造向量化环境。

使用已发布的环境,请参见 Hub 中的环境; 贡献新 benchmark,请参见添加新 benchmark

EnvConfig

class lerobot.envs.EnvConfig

< >

( task: str | None = Nonefps: int = 30features: dict[str, PolicyFeature] = <factory>features_map: dict[str, str] = <factory>max_parallel_tasks: int = 1disable_env_checker: bool = True )

create_envs

< >

( n_envs: intuse_async_envs: bool = False )

创建 {suite: {task_id: VectorEnv}}。

默认:通过 gym.make() 创建单任务环境。多任务 benchmark 会覆盖此行为。 AsyncVectorEnv 是 n_envs > 1 时的默认选择;n_envs=1 时自动降级为 Sync。

get_env_processors

< >

( )

返回此环境的(预处理器、后处理器)。默认为恒等。

make_env

lerobot.envs.make_env

< >

( cfg: EnvConfig | strn_envs: int = 1use_async_envs: bool = Falsehub_cache_dir: str | None = Nonetrust_remote_code: bool = False ) dict[str, dict[int, gym.vector.VectorEnv]]

参数

  • cfg(EnvConfig | str)— 描述要在本地构建的环境的 EnvConfig 对象, 或 Hugging Face Hub 仓库标识符(例如 "username/repo")。在后一种情况下, 仓库必须包含一个 Python 文件(通常为 env.py)。
  • n_envs(int,可选)— 要返回的并行环境数量。默认为 1。
  • use_async_envs(bool,可选)— 是否返回 AsyncVectorEnv 或 SyncVectorEnv。默认为 False。
  • hub_cache_dir(str | None)— 已下载 Hub 文件的可选缓存路径。
  • trust_remote_code(bool)— 明确同意执行来自 Hub 的远程代码。 默认 False —— 必须设置为 True 才能导入/执行 hub 的 env.py

返回

dict[str, dict[int, gym.vector.VectorEnv]]

从套件名称到带索引的向量化环境的映射。

  • 对于多任务 benchmark(例如 LIBERO):每个套件一个条目,每个 task_id 一个向量化环境。
  • 对于单任务环境:一个 task_id=0 的单一套件条目(cfg.type)。

抛出异常

ValueError or ModuleNotFoundError

  • ValueError — 如果 n_envs < 1
  • ModuleNotFoundError — 当请求的环境包未安装时

根据配置或 Hub 引用创建一个 gym 向量环境。

make_env_config

lerobot.envs.make_env_config

< >

( env_type: str**kwargs )

在 GitHub 上更新