Skip to content

Commit 46fbc48

Browse files
committed
fix(algengine): respect importance_sampling in PG loss
1 parent 75a7712 commit 46fbc48

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

‎projects/AlgEngine/mmdet3d_plugin/navformer/dense_heads/traj_scoring_head_RL.py‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,16 @@ def compute_RL_loss(self, result, gt_pdm_score, prefix=''):
202202
'''
203203
EPS = 1e-6
204204
log_pi = self.compute_log_pi(result, prefix)
205-
original_log_pi = self.compute_log_pi(result, 'orig_')
206205

207206
pi = F.softmax(log_pi, dim=-1).clamp(min=EPS)
208-
orig_pi = F.softmax(original_log_pi, dim=-1).clamp(min=EPS)
209-
IS_ratio = (pi / orig_pi).detach()
210-
IS_ratio[gt_pdm_score['fail_mask']] = 1.
211-
clipped_IS_ratio = IS_ratio.clamp(max=10)
207+
if self.importance_sampling:
208+
original_log_pi = self.compute_log_pi(result, 'orig_')
209+
orig_pi = F.softmax(original_log_pi, dim=-1).clamp(min=EPS)
210+
IS_ratio = (pi / orig_pi).detach()
211+
IS_ratio[gt_pdm_score['fail_mask']] = 1.
212+
clipped_IS_ratio = IS_ratio.clamp(max=10)
213+
else:
214+
clipped_IS_ratio = torch.ones_like(pi)
212215

213216
reward_mask = (gt_pdm_score['score'] == 1).float()
214217

0 commit comments

Comments
 (0)