dlsfldl / EMMP-public

This is the github repository for Equivariant Motion Manifold Primitives
MIT License
6 stars 0 forks source link

Reproducibility questions regarding the 2D toy dataset #1

Open jHeiders opened 11 months ago

jHeiders commented 11 months ago

Hi, First of all thanks a lot for your work. The paper is really interesting.

I have tried the current implementation for training on the provided dataset (downloaded for the given google drive link in the README), but the results obtained do not seem correct (or at least there is a strong overfitting not mentioned in the paper). The code was not modified in any way.

Unfortunately out of the provided models I was only able to run the training code for the EMMP implementations on the 2D toy dataset, the rest were not working due to errors in the code. I understand the code is in a preliminary version but it would be great to make it available with the final version. I.e. of the error: "AttributeError: 'PlanarMobileRobot' object has no attribute 'extend_w'". However, some have different errors in the implementation.

Still, when the code worked, the results seemed to overfit drastically and do not represent a correct motion generation in the validation set. FYI, I had the following results when training EMMP on the 2D toy dataset: Screenshot from 2023-12-22 18-44-14 Screenshot from 2023-12-22 18-44-40

Is that the expected result? If not, could you provide some help in addressing these problems?

Thanks a lot for your help!

dlsfldl commented 11 months ago

Hi, I am very sorry for the issue, and thank you for the notification.

I have confirmed that the code has the two problems you mentioned (extend_w, pour validation), and I have fixed the issue and pushed it. The bugs happened while I was changing the notations of the code to match the ones in the code.

Anyway, I think the code works now!

image

jHeiders commented 10 months ago

Thank you very much for resolving the issues so quickly! Now the code for the EMMP implementation works for me.

When trying the implementation of MMP (indep and noreg) for the 2D Toy example I changed the yaml file in the following way since the visualization type "Spline_2d_mannor_mod" is not available in the current version:

visualization:
        type: [Spline_2d_plot_recon]

With this small change, it works well for me.

For the MMP code of the pouring task I unfortunately get the following error:

Traceback (most recent call last):
... [Error Traceback] ...
RuntimeError: mat1 and mat2 shapes cannot be multiplied (75x5760 and 2880x168)

And regarding the code for TCVAE in both the 2D Toy and the Pouring scenario, after some iterations input tensor and loss become NaN of inf. Is this something to be expected?

% TCVAE pouring
NaN or Inf found in input tensor.
Iter [25000]    val_recon_loss: nan     nll: nan        kl_loss: nan    indep_loss: nan

%TCVAE toy2D
NaN or Inf found in input tensor.
Epoch [1000] 
Iter [4000]     Avg Loss: nan   Elapsed time: 44.5426

Thank you very much for the help!