环境¶
环境运行在 env client 侧,通过 Gymnasium 创建。
Note: 环境代码可以放在你自己的包里。只要 env client 启动时能 import 并完成注册,CLI 就能发现它。
快速开始¶
查看一个环境的参数。
跑一个短 episode。
plugrl-run-server dummy-policy default dummy default
plugrl-run-env-client dummy-v1 --num-episodes 1 --server-host 127.0.0.1 --server-port 8000
验证¶
- env client 打印 server 元信息
- env client 能 reset 与 step 环境
环境如何创建¶
env client 用 gym.make_vec 创建 env,下面就是
plugrl_env_client/runner/run.py 里的调用。
env = gym.make_vec(
env_id,
num_envs=num_envs,
vectorization_mode="vector_entry_point",
config=config_dataclass,
max_episode_steps=max_episode_steps,
process_id=process_id,
total_processes=total_processes,
)
register_env 注册时 entry_point=None,只提供 vector_entry_point,
所以直接调用 gym.make(env_id, ...) 会报
<env_id> registered but entry_point is not specified。本页此前写的是
gym.make 形式,那个写法从来跑不通。
常见内置环境 ID¶
dummy-v1mujoco-v1:需要mujoco可选依赖;快速开始用的就是它classic-v1atari-v1robomimic-v1d4rl-*需要安装可选依赖libero-*需要安装可选依赖
常用 env client 参数¶
--num-procs:多进程并行跑环境--server-host、--server-port:server 地址--recorder.video-fps:录制 mp4 的输出帧率
没有让环境按固定墙钟 FPS 运行的参数。本页此前列出的 --use-real-time、
--fps 在这个 CLI 上并不存在。
常见问题¶
- CLI 找不到 env id:注册模块没有被 import。
- 多进程初始化冲突:环境较重时可尝试
--runner.use-env-lock。