GithubHelp home page GithubHelp logo

Comments (12)

ilyes319 avatar ilyes319 commented on June 2, 2024

Hey @shenoynikhil, thank you for email.

This is entirely possible. Obviously you would need some of the arguments of run_train to create the model. You can look at the model test to check how it is done: test_models.py

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

This looks great! Thank you so much. I'm closing the issue.

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

I was trying to use AtomicData object with pytorch_geometric DataLoader. Because its not torch_geometric.data.Data, the Batch.from_data_list([<list of AtomicData>]) does not work. Do you have an idea of what could be done to fix this?

I saw that you guys have copied the dataloader, collate stuff in mace.tools.torch_geometric and use that for dataloader but I could not figure out the difference that allows this to be loaded.

from mace.

davkovacs avatar davkovacs commented on June 2, 2024

Could you give a little more detail of the problem? I recommend that you import the data loader from mace, not from torch geometric.

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

Currently, if I just install pytorch_geometric and use their Batch.from_data_list([<list of AtomicData>]) it does not run. I was able to get it to run by copying your batch.py.

I do not want to use your torch_geometric since I am benchmarking this with other networks and other molecular graph datasets and want to use the latest pyg.

from mace.

ilyes319 avatar ilyes319 commented on June 2, 2024

We use a lightweight version of Pytorch geometric to ease the maintenance and installation. Pytorch geometric is notoriously hard to install due to Cuda extensions. The mace models now take as input a dictionary of tensors. To make your code compatible, create the dictionaries with the correct entries. You should be able to do that from any initial Python object.

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

Okay, is there any documentation (positions, edge_index, node_attrs etc) on what keys would be required, or is that something for which I would need to go through the code?

from mace.

ilyes319 avatar ilyes319 commented on June 2, 2024

Currently, it is not documented, but very easy to check by looking at the same test test_models.py and printing the dictionary.

from mace.

ilyes319 avatar ilyes319 commented on June 2, 2024

I want to add that training mace with the provided training script is highly encouraged, as many optimization details are crucial to mace performance.

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

The thing is, I want to test training this model on QM datasets that only have energies (also not present in xyz format). And I believe if the model is not tied to your repo and data utils, it might be easier to adopt. Kind of like how dimenet++ is present in pyg.

from mace.

ilyes319 avatar ilyes319 commented on June 2, 2024

Only energies are also supported currently. I just wanted to warn you that training these ML force fields can be tricky, and I recommend you at least train on this repo with the default optimisation procedure to have a reference performance to compare to.

I have made another repo mace-layer that lets your import a mace layer and stack it however you like with very standard and documented inputs also.

from mace.

shenoynikhil avatar shenoynikhil commented on June 2, 2024

Only energies are also supported currently. I just wanted to warn you that training these ML force fields can be tricky, and I recommend you at least train on this repo with the default optimisation procedure to have a reference performance to compare to

Good Option. I'll make sure to do that.

I have made another repo mace-layer that lets your import a mace layer and stack it however you like with very standard and documented inputs also.

Great, will check it out.

from mace.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.