GNS-Thesis
----Update from 12.05.2023----
data generation work is finished, the dataset can use convert_npy_to_tfrecord.py to run mpmSceneSim.py for mpm and sphSceneSim.py to automatically get the numpy array in .npy files and convert it to tfrecord format and write the global parameter in metadata.json for the model learning phase. the dataset of fluid particle position should be Serialization as code
TODO: evaluate my dataset and check from the model predict if the dataset is correct, it needs to run on learning to simulate train the model and get the render result.
The render result for my model is saved in animation.mp4 the result is unexpected, it has some minus position which is beyond the boundary and the result shows unstable for rollout predict (rollout gives the model the init position and predict the whole phase/ one step is each step are predicted base on the last step on the dataset)
I set the batch size=4 and a exp decay learning rate from 1e-6 to 1e-8. I am not sure if the model is overfitting or underfitting, the loss has already oscillated from 1e-6 to 1e-7 at step5000 but I still trained it 11000 steps, because I thought the learning rate would decay and later trained a fine model and the author had a 1e-9 loss.
maybe there are some fault on dataset for example the vel_mean and Vel_std which I calculate directly with np,diff
my evaluation loss at the end of the training, it shows one step loss and the rollout loss has a little bit different
my evaluation set mode="eval_rollout" and the result
bad predict is in animation.mp4
Original GNS paper to re-implement
Dataset generation in two methods: DFSPH and MLS-MPM
SPH data generate library and the example for generating the dataset is using sph_example.py
MPM data generate library
The example for generating the MPM dataset is mpm_example.py
my mpm2d dataset is stored in Google Drive because of the large size