opendilab / SmartRefine

[CVPR 2024] SmartRefine: A Scenario-Adaptive Refinement Framework for Efficient Motion Prediction
Apache License 2.0
123 stars 8 forks source link

explanation of parameter shapes #11

Open LongLiveForFreedom opened 4 months ago

LongLiveForFreedom commented 4 months ago

Hello, thanks you for your great work! There's something about your code that bothers me. For example, in eval_store.py, you mentioned that the shape of pred_trajectory is [K, N, T(future), 2] and the shape of embeds is [K, N, -1](in my code is [K, N, H, D]). But in line 124 of target_region.py, the shape of y_hat_init should be [N, K, F, 2] and y_hat_delta [K*N, F, 2], why can they be added together(the option y_hat_init = y_hat_init + y_hat_delta)

LongLiveForFreedom commented 4 months ago

In line 217 of target_region.py(refine_y_hat_delta = self.refine_decoder[0](ego_embed + self.pos_embed[refine_iter+1])), the shape of ego_embed should be [K, N, H*D(hidden dimension)] and the shape of pos_embed[refine_iter+1] should be [1, D], they also be added together

youngzhou1999 commented 3 months ago

Thanks for trying our code and sorry for the inconvenience. In a normal situation, the shape of ego embeds should be [K, N, D] and H(history) irrelevant since one embedding is for one trajectory. For the code shape problem, I'll rerun the eval process and check the code.

LongLiveForFreedom commented 2 months ago

thank you for your reply!