stepankonev/waymo-motion-prediction-challenge-2022-multipath-plus-plus

How did you calculate the normalization constants?

ultimatedigiman opened this issue · 2 comments

Hi,

I found some normalization constants in the repo, such as

  • normalizing the future coordinates:
    xy_future_gt = (data["target/future/xy"] - torch.Tensor([1.4715e+01, 4.3008e-03]).cuda()) / 10.
  • normalizing inputs:
    def get_normalize_data():
    return {
    "target": {
    "xy": {
    "mean": np.array([[[-3.0173979, 0.00575967]]]),
    "std": np.array([[[3.7542882, 0.11941358]]])},
    "yaw": {
    "mean": np.array([[[0.00815599]]]),
    "std": np.array([[[1.0245908]]])},
    "speed": {
    "mean": np.array([[[6.1731253]]]),
    "std": np.array([[[5.53667]]])}},
    "other": {
    "xy": {
    "mean": np.array([[[9.855061 , 2.6597235]]]),
    "std": np.array([[[44.58452 , 34.069477]]])},
    "yaw": {
    "mean": np.array([[[1.6482836]]]),
    "std": np.array([[[3.7098966]]])},
    "speed": {
    "mean": np.array([[[2.5248919]]]),
    "std": np.array([[[4.806048]]])}},
    "road_network_segments": {
    "mean": np.array([[[11.440233, 3.4300654]]]),
    "std": np.array([[[66.125916, 53.79835]]])}}

I have a few questions about normalization, please let me know if you have any suggestions:

  1. Is there any script to get these constants?
  2. Have you tried training without any normalization? What's the result?
  3. How to modify the training code to non-normalization version? Just set these 2 lines below to False?

Hi!
Thank you for your question. First, it seems like get_normalize_data() is outdated. It used to provide normalization during data preparation, however now it is done in dataloader. I will remove it in the following commits with the normalization option in prerender config.
As for your questions:

  1. No script is provided for computing these constants yet.
  2. Normalization seemed to provide numerical stability improvements. I did not train the network for long without normalization.
  3. Exactly

Hope it was helpful

Thanks! Steven