Skip to content

Commit 265e1ea

Browse files
committed
style: apply ruff format and fix type errors from make check
- ruff format: reformat train_rsl_rl.py and rotation.py - rotation.py: fix reset() return type annotation to match NpEnv base class signature (Tuple[np.ndarray, ...] → Tuple[dict[str, np.ndarray], ...]) after structured-obs-dict migration changed obs type - benchmark_fast_sac_backends.py: remove unused collector_device variable (F841 ruff lint error)
1 parent 0f5c4dc commit 265e1ea

12 files changed

Lines changed: 34 additions & 31 deletions

File tree

‎benchmark/benchmark_fast_sac_backends.py‎

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,9 @@ def run_backend(task, max_iterations, backend, num_envs):
3434
# Set collector device based on backend
3535
device = "mps"
3636
if backend == "torch_mps":
37-
collector_device = "mps"
38-
elif backend == "torch_cpu":
39-
collector_device = "cpu"
40-
elif backend == "numpy":
41-
collector_device = "cpu"
42-
else:
43-
collector_device = "cpu"
37+
pass
38+
elif backend in ("torch_cpu", "numpy"):
39+
pass
4440

4541
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
4642
log_dir = os.path.join(ROOT_DIR, "logs", "benchmark", f"{backend}_{timestamp}")

‎scripts/train_appo.py‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,6 @@ def play_appo(cfg: DictConfig, rl_cfg: dict):
186186
def main(cfg: DictConfig) -> None:
187187
ensure_registries()
188188

189-
from omegaconf import OmegaConf
190-
191189
# Build env_cfg_override from reward config
192190
env_cfg_override = {}
193191
if hasattr(cfg, "reward") and cfg.reward:

‎scripts/train_mlx_ppo.py‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,15 @@ def _get_physics_state_snapshot(env) -> np.ndarray:
153153
raise AttributeError("Env backend does not expose physics state for video rendering")
154154

155155

156-
def play_mlx_ppo(cfg: DictConfig, dtype, use_fp16: bool, resolved_sim_backend: str,
157-
task_log_root: Path):
156+
def play_mlx_ppo(
157+
cfg: DictConfig, dtype, use_fp16: bool, resolved_sim_backend: str, task_log_root: Path
158+
):
158159
"""Play mode for MLX PPO."""
159160
play_model_dtype = mx.float32 if use_fp16 else dtype
160161
play_env_num = cfg.training.play_env_num
161-
env = registry.make(cfg.training.task_name, num_envs=play_env_num,
162-
sim_backend=resolved_sim_backend)
162+
env = registry.make(
163+
cfg.training.task_name, num_envs=play_env_num, sim_backend=resolved_sim_backend
164+
)
163165
obs_dim = sum(env.obs_groups_spec.values())
164166
action_dim = env.action_space.shape[0]
165167
model = build_model(cfg.algo, obs_dim, action_dim, dtype=play_model_dtype)
@@ -478,9 +480,7 @@ def log(msg: str) -> None:
478480
)
479481
rich_logger.start()
480482

481-
episode_returns = np.zeros(
482-
(cfg.algo.num_envs,), dtype=(np.float16 if use_fp16 else np.float32)
483-
)
483+
episode_returns = np.zeros((cfg.algo.num_envs,), dtype=(np.float16 if use_fp16 else np.float32))
484484
episode_lengths = np.zeros((cfg.algo.num_envs,), dtype=np.int32)
485485
reward_window = deque(maxlen=100)
486486
length_window = deque(maxlen=100)

‎scripts/train_offpolicy.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def build_runner(algo_name: str, cfg: DictConfig):
8383
env_cfg_override = None
8484
if hasattr(cfg, "reward") and cfg.reward:
8585
from omegaconf import OmegaConf
86+
8687
reward_dict = OmegaConf.to_container(cfg.reward, resolve=True)
8788
env_cfg_override = {"reward_config": reward_dict}
8889

‎scripts/train_rsl_rl.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,10 @@ def play_rsl_rl(cfg: DictConfig, device: str):
264264
def main(cfg: DictConfig) -> None:
265265
ensure_registries()
266266

267-
from unilab.base import registry
268267
from omegaconf import OmegaConf
269268

269+
from unilab.base import registry
270+
270271
# Build env_cfg_override from reward config
271272
env_cfg_override = {}
272273
if hasattr(cfg, "reward") and cfg.reward:

‎src/unilab/algos/torch/fast_sac/runner.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ def __init__(
4545
from unilab.utils.algo_utils import ensure_registries
4646

4747
ensure_registries()
48-
env: Any = registry.make(env_name, num_envs=1, sim_backend=sim_backend, env_cfg_override=env_cfg_override)
48+
env: Any = registry.make(
49+
env_name, num_envs=1, sim_backend=sim_backend, env_cfg_override=env_cfg_override
50+
)
4951
obs_dim = sum(env.obs_groups_spec.values())
5052
act_space_shape = env.action_space.shape
5153
assert act_space_shape is not None

‎src/unilab/algos/torch/offpolicy/worker.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ def _run_collector(
103103
ensure_registries()
104104

105105
# Initialize environment
106-
env = registry.make(env_name, num_envs=num_envs, sim_backend=sim_backend, env_cfg_override=env_cfg_override)
106+
env = registry.make(
107+
env_name, num_envs=num_envs, sim_backend=sim_backend, env_cfg_override=env_cfg_override
108+
)
107109
if env.state is None:
108110
env.init_state()
109111

‎src/unilab/envs/manipulation/inhand_rot_allegro/rotation.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,9 @@ def _get_obs(self, info: dict) -> dict[str, np.ndarray]:
263263

264264
# ── Reset ────────────────────────────────────────────────────────
265265

266-
def reset(self, env_indices: np.ndarray) -> Tuple[np.ndarray, np.ndarray, dict]:
266+
def reset(
267+
self, env_indices: np.ndarray
268+
) -> Tuple[dict[str, np.ndarray], dict[str, np.ndarray], dict]:
267269
num_reset = len(env_indices)
268270
dr = self._cfg.domain_rand
269271

‎tests/base/test_reward_override.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Test reward config override through registry."""
22

33
import pytest
4+
45
from unilab.base import registry
56
from unilab.utils.algo_utils import ensure_registries
67

@@ -21,7 +22,7 @@ def test_reward_override_go1():
2122
"Go1JoystickFlatTerrain",
2223
num_envs=1,
2324
sim_backend="mujoco",
24-
env_cfg_override={"reward_config": override_config}
25+
env_cfg_override={"reward_config": override_config},
2526
)
2627

2728
assert env._cfg.reward_config.scales["tracking_lin_vel"] == 999.0
@@ -44,7 +45,7 @@ def test_reward_override_g1():
4445
"G1WalkTaskMjSAC",
4546
num_envs=1,
4647
sim_backend="mujoco",
47-
env_cfg_override={"reward_config": override_config}
48+
env_cfg_override={"reward_config": override_config},
4849
)
4950

5051
assert env._cfg.reward_config.scales["tracking_lin_vel"] == 888.0

‎tests/config/test_reward_injection.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Test reward config injection system."""
22

33
import pytest
4-
from hydra import initialize, compose
4+
from hydra import compose, initialize
55
from omegaconf import OmegaConf
66

77

@@ -44,7 +44,7 @@ def test_reward_config_conversion():
4444
"G1WalkTaskMjSAC",
4545
num_envs=1,
4646
sim_backend="mujoco",
47-
env_cfg_override={"reward_config": g1_dict}
47+
env_cfg_override={"reward_config": g1_dict},
4848
)
4949
assert hasattr(env._cfg.reward_config, "scales")
5050
assert env._cfg.reward_config.scales["tracking_lin_vel"] == 2.0
@@ -60,7 +60,7 @@ def test_reward_config_conversion():
6060
"Go1JoystickFlatTerrain",
6161
num_envs=1,
6262
sim_backend="mujoco",
63-
env_cfg_override={"reward_config": go1_dict}
63+
env_cfg_override={"reward_config": go1_dict},
6464
)
6565
assert hasattr(env._cfg.reward_config, "scales")
6666
assert env._cfg.reward_config.scales["tracking_lin_vel"] == 1.0

0 commit comments

Comments
 (0)