andreasburger commited on
Commit
60b1767
·
verified ·
1 Parent(s): fd33385

Upload folder using huggingface_hub

Browse files
README.md CHANGED
@@ -47,13 +47,12 @@ model.to("cuda")
47
 
48
  # random batch of data
49
  n_atoms = 10
 
50
  data = TGData(
51
  pos=torch.randn(n_atoms, 3),
52
  batch=torch.zeros(n_atoms),
53
- one_hot=torch.randint(0, 4, (n_atoms, 4)),
54
  natoms=n_atoms,
55
- # just needs be a placeholder that decides the output energy shape
56
- energy=torch.randn(1),
57
  )
58
  data = Batch.from_data_list([data])
59
  # dataloader = TGDataLoader(dataset, batch_size=1, shuffle=False)
 
47
 
48
  # random batch of data
49
  n_atoms = 10
50
+ elements = torch.tensor([1, 6, 7, 8]) # H, C, N, O
51
  data = TGData(
52
  pos=torch.randn(n_atoms, 3),
53
  batch=torch.zeros(n_atoms),
54
+ z=elements[torch.randint(0, 4, (n_atoms,))],
55
  natoms=n_atoms,
 
 
56
  )
57
  data = Batch.from_data_list([data])
58
  # dataloader = TGDataLoader(dataset, batch_size=1, shuffle=False)
equiformer_ase_calculator.py CHANGED
@@ -19,7 +19,10 @@ from torch_scatter import scatter_mean
19
 
20
  from ocpmodels.datasets import data_list_collater
21
  from ocpmodels.preprocessing import AtomsToGraphs
22
- from ocpmodels.common.relaxation.ase_utils import batch_to_atoms, ase_atoms_to_torch_geometric
 
 
 
23
 
24
  from nets.equiformer_v2.equiformer_v2_oc20 import EquiformerV2_OC20
25
  from nets.prediction_utils import compute_extra_props
@@ -114,8 +117,8 @@ class EquiformerASECalculator(Calculator):
114
  """
115
  # Call base class to set atoms attribute
116
  Calculator.calculate(self, atoms)
117
-
118
- # ocpmodels/common/relaxation/ase_utils.py
119
  # data_object = self.a2g.convert(atoms)
120
  # batch = data_list_collater([data_object], otf_graph=True)
121
 
 
19
 
20
  from ocpmodels.datasets import data_list_collater
21
  from ocpmodels.preprocessing import AtomsToGraphs
22
+ from ocpmodels.common.relaxation.ase_utils import (
23
+ batch_to_atoms,
24
+ ase_atoms_to_torch_geometric,
25
+ )
26
 
27
  from nets.equiformer_v2.equiformer_v2_oc20 import EquiformerV2_OC20
28
  from nets.prediction_utils import compute_extra_props
 
117
  """
118
  # Call base class to set atoms attribute
119
  Calculator.calculate(self, atoms)
120
+
121
+ # ocpmodels/common/relaxation/ase_utils.py
122
  # data_object = self.a2g.convert(atoms)
123
  # batch = data_list_collater([data_object], otf_graph=True)
124
 
example_inference.py CHANGED
@@ -105,6 +105,7 @@ if __name__ == "__main__":
105
 
106
  # Example 1: load a dataset file and predict the first batch
107
  from ocpmodels.ff_lmdb import LmdbDataset
 
108
  dataset_path = os.path.join(project_root, "data/sample_100.lmdb")
109
  dataset = LmdbDataset(dataset_path)
110
  # either use the dataset directly or use a dataloader
@@ -120,10 +121,9 @@ if __name__ == "__main__":
120
 
121
  # Example 2: create a random data object with random positions and predict
122
  n_atoms = 10
123
- elements = torch.tensor([1, 6, 7, 8]) # H, C, N, O
124
  data = TGData(
125
  pos=torch.randn(n_atoms, 3),
126
- batch=torch.zeros(n_atoms),
127
  z=elements[torch.randint(0, 4, (n_atoms,))],
128
  natoms=n_atoms,
129
  )
 
105
 
106
  # Example 1: load a dataset file and predict the first batch
107
  from ocpmodels.ff_lmdb import LmdbDataset
108
+
109
  dataset_path = os.path.join(project_root, "data/sample_100.lmdb")
110
  dataset = LmdbDataset(dataset_path)
111
  # either use the dataset directly or use a dataloader
 
121
 
122
  # Example 2: create a random data object with random positions and predict
123
  n_atoms = 10
124
+ elements = torch.tensor([1, 6, 7, 8]) # H, C, N, O
125
  data = TGData(
126
  pos=torch.randn(n_atoms, 3),
 
127
  z=elements[torch.randint(0, 4, (n_atoms,))],
128
  natoms=n_atoms,
129
  )
ocpmodels/common/relaxation/ase_utils.py CHANGED
@@ -209,6 +209,7 @@ class OCPCalculator(Calculator):
209
  elif self.trainer.name == "is2re":
210
  self.results["energy"] = predictions["energy"].item()
211
 
 
212
  # by Andreas. We do not care about the graph, because connectivity is computed on the fly?
213
  def ase_atoms_to_torch_geometric(atoms):
214
  """
@@ -232,4 +233,4 @@ def ase_atoms_to_torch_geometric(atoms):
232
  )
233
  data = Batch.from_data_list([data])
234
 
235
- return data
 
209
  elif self.trainer.name == "is2re":
210
  self.results["energy"] = predictions["energy"].item()
211
 
212
+
213
  # by Andreas. We do not care about the graph, because connectivity is computed on the fly?
214
  def ase_atoms_to_torch_geometric(atoms):
215
  """
 
233
  )
234
  data = Batch.from_data_list([data])
235
 
236
+ return data
ocpmodels/units.py CHANGED
@@ -139,4 +139,4 @@ ELEMENT_TO_ATOMIC_NUMBER = {
139
  "Og": 118,
140
  }
141
 
142
- ATOMIC_NUMBER_TO_ELEMENT = {v: k for k, v in ELEMENT_TO_ATOMIC_NUMBER.items()}
 
139
  "Og": 118,
140
  }
141
 
142
+ ATOMIC_NUMBER_TO_ELEMENT = {v: k for k, v in ELEMENT_TO_ATOMIC_NUMBER.items()}