Open rbharath opened 5 years ago
We have just released DeepQMC, which contains a lot of machinery necessary to run FermiNet, so implementing FermiNet (in Pytorch) for DeepQMC should be relatively straightforward. DeepQMC is structured to support external wave function ansatzes, so such a FermiNet implementation could even live in DeepChem, if someone preferred that.
In the opposite direction, if there is something that could be done on the DeepQMC's side to make it play nicely with DeepChem in some way (say, understand DeepChem's objects representing molecular geometries), I'd be happy to do that.
@jhrmnn DeepQMC looks really cool! I'd absolutely love to get a FermiNet implementation in DeepChem that leveraged DeepQMC.
As a couple questions for clarification, is there already a FermiNet implementation in DeepQMC? If so, we could just write a DeepChem wrapper class that calls the DeepQMC implementation under the hood. I think the main bits of work on the DeepChem end needed would be to write a Model
class that wraps DeepQMC machinery so as to interface with DeepChem datasets/splitters/etc.
No, FermiNet is not in DeepQMC at the moment. In principle, it doesn't matter where such a FermiNet implementation would live, it could be in DeepChem, in DeepQMC, or a standalone package, in all cases it could leverage the DeepQMC backend. I pointed it out here since the issue already existed.
I should also point out that this whole QMC business might not exactly fit into the existing framework here? Not sure. In particular, there is no need for an external dataset, the approach is ab-initio, and you train a given model for a wave function of one particular molecule, not for a whole set of them.
Speaking for myself, I'm primarily interested in putting together a reference implementation since FermiNet looks really cool :). We maintain the MoleculeNet benchmark suite which has some quantum chemistry datasets in it already, so it would be neat if we could help facilitate the benchmarking of deep methods for quantum chemistry. That said, as you point out the method is ab-initio and we've primarily focused on benchmarking of supervised datasets so our machinery might not be a great fit right now.
It would be very cool to get a good open source FermiNet implementation going somewhere though! I'm also pretty agnostic as to where an implementation actually lives
@rbharath a reference tensorflow implementation of ferminet is now available open source from deepmind. @jhrmnn do you have plans to transpose it into pytorch for deepqmc
? I would be happy to help on the PR.
Only in the sense that it would be great to have it in, mentioned in deepqmc/deepqmc#19. But no immediate plan on actually doing it myself, so if you want to contribute a PR, that would be amazing
@jhrmnn I will have a look at how brainless the transposition might be, if it's one-to-one I may have a go.
Just catching up on old messages, and realized I never responded on this thread! I'd love to see a FermiNet implementation make its way into DeepQMC :). I don't have too much bandwidth to work on it directly myself for now but might have some bandwidth in the future.
There's a very interesting new paper out from DeepMind about FermiNet, a new deep architecture for quantum chemistry:
https://arxiv.org/pdf/1909.02487.pdf
A reference implementation in DeepChem might be interesting.