From 8a75f0db0d13c7aff949466c5027a20fbc3628f5 Mon Sep 17 00:00:00 2001 From: huangfu <3045324663@qq.com> Date: Tue, 10 Feb 2026 22:44:02 +0800 Subject: [PATCH] =?UTF-8?q?BC=E8=AE=AD=E7=BB=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../expert_replay_env.cpython-39.pyc | Bin 7617 -> 7617 bytes .../inverse_dynamics.cpython-39.pyc | Bin 2008 -> 2008 bytes Env/__pycache__/scenario_env.cpython-39.pyc | Bin 7804 -> 7804 bytes Env/bc_env.py | 42 ++++++++++++++++- Env/inverse_dynamics.py | 2 +- README.md | 4 ++ dataset/loader.py | 41 +++++++++++++---- ...nts.out.tfevents.1770359571.Hfkk.1278022.0 | Bin 0 -> 16312 bytes ...nts.out.tfevents.1770361278.Hfkk.1284746.0 | Bin 0 -> 82462 bytes ...nts.out.tfevents.1770438802.Hfkk.1324853.0 | Bin 0 -> 99022 bytes ...nts.out.tfevents.1770445580.Hfkk.1355266.0 | Bin 0 -> 99022 bytes train_bc.py | 43 +++++++++++++++--- 12 files changed, 115 insertions(+), 17 deletions(-) create mode 100644 logs/bc/20260206-143251/events.out.tfevents.1770359571.Hfkk.1278022.0 create mode 100644 logs/bc/20260206-150118/events.out.tfevents.1770361278.Hfkk.1284746.0 create mode 100644 logs/bc/20260207-123322/events.out.tfevents.1770438802.Hfkk.1324853.0 create mode 100644 logs/bc/20260207-142620/events.out.tfevents.1770445580.Hfkk.1355266.0 diff --git a/Env/__pycache__/expert_replay_env.cpython-39.pyc b/Env/__pycache__/expert_replay_env.cpython-39.pyc index 8d83baca58fcec765d484ef529353acc4b6597c7..51d63df983f67454dc32c0af26a124a5f4c3cf14 100644 GIT binary patch delta 1190 zcmZ9L&ubGw6vy2po4QTYR&5(e+TyR&u2`r=&|2}=!D0{MrJ~WYPIo7pZ8tmX+i7Ep zS_Bn;f-*-hUPTlno)i@CdJ}~C2Sh{=#G9b=reL*u`0(bvH#6^j-|V}IcN001&$q8r z--kChU*vumMn(KKiiQ-$)U;u>;?&)YTKvjBP`uwZ(IKsnEH#}V3b+&>+rDqI)Lz+E zBMIRgU@NY~r}bmzHf?oU!)oI`YhahmxeEX^;!d5!vI7|LoQU!UgL!HCK;oJ-LlV(M zimO(+AiHQBB+R1@&;|i7k?9~(SH7~o_2AK!4i2PR4P3_~oWODMx_z*7y9z)VFHZ4M zDL%KCjmcI%_tRLeV#LRYIZOQ@f}P5Kl7W77buQ9c;D*$3SyT;t7{X*s00W^9w2~TY zI6SD+lXecq(7zWkia3NgtROp*m^31X&CXGmLmK_(6~wjtHrvI7v`e63&iYQ^!8|&Q zMJQmJ#%8omx8CQCloz5sh!{Zp?Eq@H3=q1;Ic3?Y)uLsZMjoIPb{8DSG#haMp{uQ< zl|@X7J>5IUWsX6hG$A1tbr1vl5r4a~P3S=fQ;_S4k3+=r#l!A?W4iUc`%`*o2PSCY zP_C8AhLvTfS1W^I@wDfxL4?_RXK)GA)^vVZ`F1JI;fi?H>#B#dp|6xbqny%QqQDYZ z661Ya`Y>%orzyi8T=Mk=tsX@S zJC|9Yb+$;?%oWBlLC@g?T2qK=#6`pmqDw)P3PY;wV}OqP0j zR~xaY&zyu4PNj%TCym?UZK=?EPiAOn z-@5+#fHv!{7SFhp07r4f)a!#E*&iCKr*r~0o+}McvWm9~AY$pZdCIyW;l3LSxt_p^ zwgcd4i`fy6MaI;f(pZi4iZsj;U$`LFIry2*hcRCHQ|Zrsb9A=^-fV`R>vPFrPW@aS z={bgX!f}Mo$!Vs3FOOOCooeN+wfzM}Zc)Tu7C{)pINFa3Fhs7NHPH&aNVr}SH^TtN zD47z#BA5e9Su0t0W!M&rP6bYpf0}TTaGo%W(A`U7`4467s%q9#0|qCTO($ArDE92@${!4di(4`_%~zIxC% zWL@bz>wBFaAEg8%9Lcp?*#ufn{(WUIp`P^LvaTz8;O@u@rS0pyjlN0L9Afo!z{7`g zXs}WJ44vBE5|CuDqGkq<4pQ2bNkhXK+3l~alEJC%Yv_SR0?Ez}M?90R*hmFPmwPfy z;$0!k>;&bRRzD?+I@d)I?PN{tn=7251T%*VWL+d&A$Wu(LN7u!YU5b;h1$&FCiwz{ zw(+HUD{x%x)V>|MWISQq#BNOYlJd;lFLp{t8ab<_#_G#ftbVM|ZQsV=9|eSCY1@~Z zsc;Vcrvalksm!V^!Tm4}T-g%%JN*Auf|0No(TD?Gh!bd=wsj#(Kg=*lUE9M3A_doPmu+JQOW3K llv`4dhOUlIn)~9_cDlJ+VZ}?L2>% delta 27 hcmcb?e}kVlk(ZZ?0SFFkYss{k$h(G7Z{sdGb^vT#2nhfH diff --git a/Env/__pycache__/scenario_env.cpython-39.pyc b/Env/__pycache__/scenario_env.cpython-39.pyc index 0a2a0bc9b6fe22bac68a37a4f15d812f8c7facea..073bc1ab5712b55aed5b6d87a23e86a8ad9c83bd 100644 GIT binary patch delta 924 zcmZ{i&rj1}7{~jLY?O^{QV5JOK!zxtBZ0#}boc{NNK6PABLs=1w(qt=X`83zS7L%B zB6#rhUWq49#*692c=ZqP=Akjhn~68C%E9;P;!I5J;gje6e!uPeKF{0J@@YAtCX;c2 zKZWDNw}~rJ68N)Gg~ZNr3C{a(VgVsz>`44ZO1|AvBxJ}xiGPZ;PjWwqnRc~G0q_G* zVu#74#8oVBqS?=WN&OKhGch$v#@S>lPbS!E>TB#eMsBd_^b}e0pQP_c!~w3zQJ7(0 z+B&;%5j0UtmyWHZy>@mGzF<`S~E10Dm+y&s?gW)B7bXG=c=57 za5tPpc+jBLb<`b8u^+8d&4VQBONcC@O%NmjdaxWvOd#^i=vW|%|GqTJ6elCcp&i{V#5O|XSV{6p zR4Rt1m`1hc!2ue(%*&L>n*Ta;K={VR>}_(3x!GYd$4;{5;1Omr4RmAmoFl+u4l&9u z_RQ}8FZcORPEJ5LAMB#uclcw4_qxorAg)$;Q@l6ofP$elR9mTIxVBE~dWlQ2Snur_ zX2J#s1)(UwA;z15?x>)Kxfm3Z=GyqI3ltABtu4~;S2OuTtj4!%zpXJTRxpFHpP`)%L%dETDPp3F*GA`ut( z^X_>6tuzxQCBGO|No<5mFzUaF1%wpXbMYIQ^zF7hA*cPL_@_wcMeYYN)7EtgfFFQK zc92+;=CGVcbCCU#2O}`U#AJa?u}jHeGR^KLzs9a&1qFSQyGb6ioPu)w}_ zbobyQXrWd`Nx&knVHvT)BzZhL6ndJq1NX3sSWXbrK(A|$V3w`Oqw)-9?{k!*9%$tU zP-chnI9c+2d6ewxXh>z-^1wDtT2WyE^EE_{Lum<;4{6OPn^fhgs-eR`(~JDA!N715 z!rgEZ;X#9T*U`2u)!x{oWe*aluOc#t4ndFw=)-afF^w2vM%OY~_uqGk5klFA?sFv1 zessUcU1;Vuc@?zj)Kgtg^C*ecKD6i_~e zvgm;AQ1BYR8C*f56%k(N5?0N#f{4pD#8X6_BWSfM8i2L~*dr*2aGLCUHbo}b&+JfY df{RKzh+129X9wzRy#E!s$v*aPa{uzc{BJ;1+D-rf diff --git a/Env/bc_env.py b/Env/bc_env.py index 9f6730f..9f04678 100644 --- a/Env/bc_env.py +++ b/Env/bc_env.py @@ -88,10 +88,48 @@ class BCScenarioEnv(MultiAgentScenarioEnv): self._spawn_controlled_agents() self._update_background_vehicles() obs = self._get_all_obs() - rewards = {aid: 0.0 for aid in self.controlled_agents} + + # Reward shaping for evaluation/rollout monitoring (BC training itself doesn't use env reward). + speed_coef = float(self.config.get("reward_speed_coef", 0.05)) + collision_distance = float(self.config.get("collision_distance", 6.0)) + collision_penalty = float(self.config.get("collision_penalty", 100.0)) + + # Pre-collect all active vehicles (includes background vehicles). + active_agents = list(self.engine.agent_manager.active_agents.items()) + + rewards = {} + infos = {} + for aid, vehicle in self.controlled_agents.items(): + # Speed reward + speed = getattr(vehicle, "speed", None) + if speed is None: + speed = float(np.linalg.norm(vehicle.velocity)) + r_speed = speed_coef * float(speed) + + # Near-collision penalty (distance-based, simulator-agnostic) + min_dist = float("inf") + for other_id, other_vehicle in active_agents: + if other_id == aid: + continue + try: + dist = float(np.linalg.norm(vehicle.position - other_vehicle.position)) + except Exception: + continue + if dist < min_dist: + min_dist = dist + + near_collision = bool(min_dist < collision_distance) + r_collision = -collision_penalty if near_collision else 0.0 + + rewards[aid] = float(r_speed + r_collision) + infos[aid] = { + "near_collision": near_collision, + "min_dist": (min_dist if np.isfinite(min_dist) else None), + "r_speed": float(r_speed), + "r_collision": float(r_collision), + } dones = {aid: False for aid in self.controlled_agents} dones["__all__"] = self.episode_step >= self.config["horizon"] - infos = {aid: {} for aid in self.controlled_agents} return obs, rewards, dones, infos def _get_all_obs(self): diff --git a/Env/inverse_dynamics.py b/Env/inverse_dynamics.py index fed10d8..c2ff8ca 100644 --- a/Env/inverse_dynamics.py +++ b/Env/inverse_dynamics.py @@ -2,7 +2,7 @@ import numpy as np import math class InverseDynamics: - def __init__(self, max_steering=0.7, max_acc=15.0, length=4.5): + def __init__(self, max_steering=0.7, max_acc=8.0, length=4.5): """ :param max_steering: Max steering angle in radians (approx 40 degrees) :param max_acc: Max acceleration in m/s^2 diff --git a/README.md b/README.md index 42dd3da..2962de9 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ python scripts/generate_expert_data.py --data_dir data/exp_filtered --output_dir ### 2. 行为克隆 (BC) - **训练**:`python train_bc.py`(模型保存到 `models/bc/`,日志到 `logs/bc/`) +``` +# 注意替换文件名 +python train_bc.py --expert_data_path ./data/training/expert_data_0_50.pkl --epochs 100 +``` - **可视化**:`python scripts/visualize.py policy --policy_type bc --model_path models/bc/policy_best.pt` ### 3. 多智能体对抗模仿学习 (MAGAIL) diff --git a/dataset/loader.py b/dataset/loader.py index bbe75d4..47df83a 100644 --- a/dataset/loader.py +++ b/dataset/loader.py @@ -10,8 +10,15 @@ import torch from torch.utils.data import Dataset -def load_expert_pkl(expert_data_path): - """从目录或单个 pkl 加载专家 (obs, acts),返回 concat 后的 obs_data, act_data。""" +def load_expert_pkl(expert_data_path, *, filter_terminal_last_step: bool = False): + """从目录或单个 pkl 加载专家 (obs, acts),返回 concat 后的 obs_data, act_data。 + + Args: + expert_data_path: Directory containing pkl files or a single pkl file. + filter_terminal_last_step: If True, drop the last (obs, act) pair of each trajectory. + This approximates II's \"train only on non-terminal steps\" when the dataset doesn't + explicitly store dones. + """ if os.path.isdir(expert_data_path): pkl_files = glob.glob(os.path.join(expert_data_path, "*.pkl")) if not pkl_files: @@ -30,12 +37,27 @@ def load_expert_pkl(expert_data_path): if isinstance(data, list): for traj in data: if "obs" in traj and "acts" in traj: - obs_data.append(traj["obs"]) - act_data.append(traj["acts"]) + obs = traj["obs"] + acts = traj["acts"] + if filter_terminal_last_step and len(obs) > 0 and len(acts) > 0: + # Drop last step of each trajectory + obs = obs[:-1] + acts = acts[:-1] + if len(obs) == 0 or len(acts) == 0: + continue + obs_data.append(obs) + act_data.append(acts) elif isinstance(data, dict): if "observations" in data and "actions" in data: - obs_data.append(data["observations"]) - act_data.append(data["actions"]) + obs = data["observations"] + acts = data["actions"] + if filter_terminal_last_step and len(obs) > 0 and len(acts) > 0: + obs = obs[:-1] + acts = acts[:-1] + if len(obs) == 0 or len(acts) == 0: + continue + obs_data.append(obs) + act_data.append(acts) else: print(f"Skipping {pkl_file}: Unknown data format {type(data)}") except Exception as e: @@ -79,7 +101,7 @@ def get_expert_scenario_ids(expert_data_path, max_ids=10): class MAGAILExpertDataset(Dataset): - def __init__(self, data_dir, transform=None): + def __init__(self, data_dir, transform=None, *, filter_terminal_last_step: bool = False): """ Args: data_dir (str): Directory containing .pkl files from generate_expert_data.py @@ -110,7 +132,10 @@ class MAGAILExpertDataset(Dataset): acts = traj["acts"] # obs: (T, 45), acts: (T, 2) - for i in range(len(obs)): + max_i = len(obs) + if filter_terminal_last_step and max_i > 0: + max_i -= 1 + for i in range(max_i): self.flat_data.append((obs[i], acts[i])) print(f"Total samples: {len(self.flat_data)}") diff --git a/logs/bc/20260206-143251/events.out.tfevents.1770359571.Hfkk.1278022.0 b/logs/bc/20260206-143251/events.out.tfevents.1770359571.Hfkk.1278022.0 new file mode 100644 index 0000000000000000000000000000000000000000..36f72a223476bf01eb81ee584ca74a181899735e GIT binary patch literal 16312 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 LYh~XDbEW?SJ0-Qh literal 0 HcmV?d00001 diff --git a/logs/bc/20260206-150118/events.out.tfevents.1770361278.Hfkk.1284746.0 b/logs/bc/20260206-150118/events.out.tfevents.1770361278.Hfkk.1284746.0 new file mode 100644 index 0000000000000000000000000000000000000000..562a974ecb6b62d15db9aaef5c52a46ab17169ef GIT binary patch literal 82462 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 literal 0 HcmV?d00001 diff --git a/logs/bc/20260207-123322/events.out.tfevents.1770438802.Hfkk.1324853.0 b/logs/bc/20260207-123322/events.out.tfevents.1770438802.Hfkk.1324853.0 new file mode 100644 index 0000000000000000000000000000000000000000..c965e98c72c9ce4c3207bf777cf06cc6355edd3c GIT binary patch literal 99022 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 z%0D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 q=1%R 0 and (epoch + 1) % args.checkpoint_freq == 0: + torch.save(policy.state_dict(), os.path.join(args.save_dir, f"policy_epoch{epoch+1}.pt")) + if (epoch + 1) % args.eval_freq == 0: - eval_reward = evaluate_policy(policy, args, device) + eval_reward, eval_collision_rate, eval_mean_steps = evaluate_policy(policy, args, device) writer.add_scalar("Reward/eval", eval_reward, epoch) + writer.add_scalar("Eval/collision_rate_near", eval_collision_rate, epoch) + writer.add_scalar("Eval/mean_episode_length", eval_mean_steps, epoch) torch.save(policy.state_dict(), os.path.join(args.save_dir, "policy_final.pt")) writer.close() @@ -164,5 +189,11 @@ if __name__ == "__main__": parser.add_argument("--batch_size", type=int, default=64) parser.add_argument("--lr", type=float, default=3e-4) parser.add_argument("--eval_freq", type=int, default=10) + parser.add_argument("--checkpoint_freq", type=int, default=50, help="Save policy_epochN.pt every N epochs. Set <=0 to disable.") + parser.add_argument( + "--filter_terminal_last_step", + action="store_true", + help="Drop the last (obs, act) pair of each trajectory to approximate training on non-terminal steps (II-style).", + ) args = parser.parse_args() main(args)