wwMark / meshgraphnets

Rewrite deepmind/meshgraphnets into pytorch
70 stars 21 forks source link

code for deforming_plate #5

Open BarneyJKim opened 2 years ago

BarneyJKim commented 2 years ago

Hi @wwMark, I'm impressed by your pytorch work for MeshGraphNets. Do you have plans for working on the 'deforming_plate' domain?

Thank you for sharing your work. Barney

wwMark commented 2 years ago

Hi Kim, there is no plan for that as the team deepmind has not released their code for deforming plate.

Regards Mark

msverma101 commented 2 years ago

can you please tell me which version of python does this run on. i asked a question to the orignal graph mesh net and about the deforming plate this is the reply i got can you please tell me how i can impliment it for my own dataset.

Hi Sneha,

Unfortunately the example implementation that we provide on Github only runs the FlagSimple and CylinderFlow datasets. (Our actual codebase is written using internal frameworks, so we can't easily release them; the code in Github is a reimplementation from scratch) That said, you should be able to adapt the model code so it runs on DeformingPlate as well-- both the core model and dataset loader should work out of the box, you'd only need to write graph construction and rollout code.

Best, Tobias

wwMark commented 2 years ago

Hi all, this repo run on python3.9. As my thesis plan has changed, I will also implement the deforming plate code soon. Please keep track of this repo in case you would like to implement custom code on other dataset.

Regards Mark

saturday-dev commented 2 years ago

@wwMark Thanks for your great work on MeshgraphNet implimentation on pytorch. Also your deforming plate code is incredible. In my case, only 10 dataset, 150 epoch, passing message step 15, attention true, ripple false is best parameter for my situation. Do you have any further plan for stress estimation?

Have a great day!

yorgosk commented 2 years ago

Hi @wwMark. Thanks for open-sourcing this implementation, and particularly the deforming-plate code. I have been trying to overfit 1 trajectory, modifying the deform_noripple_sum_noattention_15.sh command, as

i=15 python run_model.py \ --model=deform \ --mode=all \ --rollout_split=train \ --dataset=deforming_plate \ --epochs=25 \ --trajectories=1 \ --num_rollouts=1 \ --core_model=encode_process_decode \ --message_passing_aggregator=sum \ --message_passing_steps=${i} \ --attention=False \ --ripple_used=False \ --use_prev_config=True

The results that I get are not satisfactory, so I want to ask you if you have run any overfitting experiment, and what configuration you would suggest for such a thing.

Something that I have observed, is that every time I run the above training process, when visualizing with plot_deform.py, I always see a different trajectory being evaluated. I would expect to be the same one every time, e.g. the 1st trajectory of the dataset.

Looking into your dataset.py code, I see that shuffle=False, so I am not sure why I see this behaviour.

Thanks in advance for any help!

dufir22 commented 1 year ago

Hi, did anyone tried to use deforming plate model on custom datasets? I am trying but I have some issues with creating a tfrecord with my data to train the model

tabesink commented 1 year ago

Hi Mark, thanks for the code. I think for the deforming_plate experiments, common.py needs to break down the tetrahedral elements to 6 edges, not 4. It should look like this right?

edges = torch.cat([ cells[:, 0:2], cells[:, 1:3], cells[:, 2:4], torch.stack([cells[:, 0], cells[:, 2]], dim=1), torch.stack([cells[:, 0], cells[:, 3]], dim=1), torch.stack([cells[:, 1], cells[:, 3]], dim=1) ], dim=0)

jjdunlop commented 1 month ago

Hi @tabesink, Did you try this change? Did it improve your results?