aiqm / torchani

Accurate Neural Network Potential on PyTorch
https://aiqm.github.io/torchani/
MIT License
465 stars 129 forks source link

List of supported atoms nowhere to be seen in the documentation [documentation enhancement] #636

Open UnixJunkie opened 1 year ago

UnixJunkie commented 1 year ago

Or, I did not find it?

I'll have a look in the scientific article then.

UnixJunkie commented 1 year ago

From the code (torchani/data/init.py), I suspect this: CHNOSFCl

UnixJunkie commented 1 year ago

From the paper, also CHNOSFCl.

yueyericardo commented 1 year ago

Hi, it is [H,C,N,O,S,F,Cl], defined at https://github.com/aiqm/ani-model-zoo/blob/master/resources/ani-2x_8x/rHCNOSFCl-5.1R_16-3.5A_a8-4.params#L14

or from code

>>> import torchani
>>> model = torchani.models.ANI2x()
>>> model
BuiltinModel(
  (aev_computer): AEVComputer(
    (angular_terms): StandardAngular(
      (cutoff_fn): CutoffCosine()
    )
    (radial_terms): StandardRadial(
      (cutoff_fn): CutoffCosine()
    )
    (neighborlist): FullPairwise()
  )
  (neural_networks): Ensemble(
    (0): ANIModel(
      (H): Sequential(
        (0): Linear(in_features=1008, out_features=256, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=256, out_features=192, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=192, out_features=160, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=160, out_features=1, bias=True)
      )
      (C): Sequential(
        (0): Linear(in_features=1008, out_features=224, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=224, out_features=192, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=192, out_features=160, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=160, out_features=1, bias=True)
      )
      (N): Sequential(
        (0): Linear(in_features=1008, out_features=192, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=192, out_features=160, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=160, out_features=128, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=128, out_features=1, bias=True)
      )
      (O): Sequential(
        (0): Linear(in_features=1008, out_features=192, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=192, out_features=160, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=160, out_features=128, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=128, out_features=1, bias=True)
      )
      (S): Sequential(
        (0): Linear(in_features=1008, out_features=160, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=160, out_features=128, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=128, out_features=96, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=96, out_features=1, bias=True)
      )
      (F): Sequential(
        (0): Linear(in_features=1008, out_features=160, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=160, out_features=128, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=128, out_features=96, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=96, out_features=1, bias=True)
      )
      (Cl): Sequential(
        (0): Linear(in_features=1008, out_features=160, bias=True)
        (1): CELU(alpha=0.1)
        (2): Linear(in_features=160, out_features=128, bias=True)
        (3): CELU(alpha=0.1)
        (4): Linear(in_features=128, out_features=96, bias=True)
        (5): CELU(alpha=0.1)
        (6): Linear(in_features=96, out_features=1, bias=True)
      )
    )
UnixJunkie commented 1 year ago

Thanks, I was right then. This is a key thing; it should be clearly stated in the documentation too.