diff --git a/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt b/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt
new file mode 100644
index 0000000000..5022208377
--- /dev/null
+++ b/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt
@@ -0,0 +1,223 @@
+2024-07-09 14:11:39 (INFO): Running in non-distributed local mode
+2024-07-09 14:11:39 (INFO): Project root: /home/runner/work/fairchem/fairchem/src/fairchem
+2024-07-09 14:11:40 (INFO): amp: true
+cmd:
+ checkpoint_dir: fine-tuning/checkpoints/2024-07-09-14-11-12-ft-oxides
+ commit: bf2b26e
+ identifier: ft-oxides
+ logs_dir: fine-tuning/logs/tensorboard/2024-07-09-14-11-12-ft-oxides
+ print_every: 10
+ results_dir: fine-tuning/results/2024-07-09-14-11-12-ft-oxides
+ seed: 0
+ timestamp_id: 2024-07-09-14-11-12-ft-oxides
+ version: 0.1.dev1+gbf2b26e
+dataset:
+ a2g_args:
+ r_energy: true
+ r_forces: true
+ format: ase_db
+ src: train.db
+evaluation_metrics:
+ metrics:
+ energy:
+ - mae
+ forces:
+ - forcesx_mae
+ - forcesy_mae
+ - forcesz_mae
+ - mae
+ - cosine_similarity
+ - magnitude_error
+ misc:
+ - energy_forces_within_threshold
+ primary_metric: forces_mae
+gp_gpus: null
+gpus: 0
+logger: tensorboard
+loss_functions:
+- energy:
+ coefficient: 1
+ fn: mae
+- forces:
+ coefficient: 1
+ fn: l2mae
+model: gemnet_oc
+model_attributes:
+ activation: silu
+ atom_edge_interaction: true
+ atom_interaction: true
+ cbf:
+ name: spherical_harmonics
+ cutoff: 12.0
+ cutoff_aeaint: 12.0
+ cutoff_aint: 12.0
+ cutoff_qint: 12.0
+ direct_forces: true
+ edge_atom_interaction: true
+ emb_size_aint_in: 64
+ emb_size_aint_out: 64
+ emb_size_atom: 256
+ emb_size_cbf: 16
+ emb_size_edge: 512
+ emb_size_quad_in: 32
+ emb_size_quad_out: 32
+ emb_size_rbf: 16
+ emb_size_sbf: 32
+ emb_size_trip_in: 64
+ emb_size_trip_out: 64
+ envelope:
+ exponent: 5
+ name: polynomial
+ extensive: true
+ forces_coupled: false
+ max_neighbors: 30
+ max_neighbors_aeaint: 20
+ max_neighbors_aint: 1000
+ max_neighbors_qint: 8
+ num_after_skip: 2
+ num_atom: 3
+ num_atom_emb_layers: 2
+ num_before_skip: 2
+ num_blocks: 4
+ num_concat: 1
+ num_global_out_layers: 2
+ num_output_afteratom: 3
+ num_radial: 128
+ num_spherical: 7
+ otf_graph: true
+ output_init: HeOrthogonal
+ qint_tags:
+ - 1
+ - 2
+ quad_interaction: true
+ rbf:
+ name: gaussian
+ regress_forces: true
+ sbf:
+ name: legendre_outer
+ symmetric_edge_symmetrization: false
+noddp: false
+optim:
+ batch_size: 4
+ clip_grad_norm: 10
+ ema_decay: 0.999
+ energy_coefficient: 1
+ eval_batch_size: 16
+ eval_every: 10
+ factor: 0.8
+ force_coefficient: 1
+ load_balancing: atoms
+ loss_energy: mae
+ lr_initial: 0.0005
+ max_epochs: 1
+ mode: min
+ num_workers: 2
+ optimizer: AdamW
+ optimizer_params:
+ amsgrad: true
+ patience: 3
+ scheduler: ReduceLROnPlateau
+ weight_decay: 0
+outputs:
+ energy:
+ level: system
+ forces:
+ eval_on_free_atoms: true
+ level: atom
+ train_on_free_atoms: true
+slurm: {}
+task: {}
+test_dataset:
+ a2g_args:
+ r_energy: false
+ r_forces: false
+ format: ase_db
+ src: test.db
+trainer: ocp
+val_dataset:
+ a2g_args:
+ r_energy: true
+ r_forces: true
+ format: ase_db
+ src: val.db
+
+2024-07-09 14:11:40 (INFO): Loading dataset: ase_db
+2024-07-09 14:11:40 (INFO): rank: 0: Sampler created...
+2024-07-09 14:11:40 (INFO): Batch balancing is disabled for single GPU training.
+2024-07-09 14:11:40 (INFO): rank: 0: Sampler created...
+2024-07-09 14:11:40 (INFO): Batch balancing is disabled for single GPU training.
+2024-07-09 14:11:40 (INFO): rank: 0: Sampler created...
+2024-07-09 14:11:40 (INFO): Batch balancing is disabled for single GPU training.
+2024-07-09 14:11:40 (INFO): Loading model: gemnet_oc
+2024-07-09 14:11:40 (WARNING): Unrecognized arguments: ['symmetric_edge_symmetrization']
+2024-07-09 14:11:43 (INFO): Loaded GemNetOC with 38864438 parameters.
+2024-07-09 14:11:43 (WARNING): log_summary for Tensorboard not supported
+2024-07-09 14:11:43 (WARNING): Using `weight_decay` from `optim` instead of `optim.optimizer_params`.Please update your config to use `optim.optimizer_params.weight_decay`.`optim.weight_decay` will soon be deprecated.
+2024-07-09 14:11:43 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gnoc_oc22_oc20_all_s2ef.pt
+2024-07-09 14:11:43 (INFO): Overwriting scaling factors with those loaded from checkpoint. If you're generating predictions with a pretrained checkpoint, this is the correct behavior. To disable this, delete `scale_dict` from the checkpoint.
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+2024-07-09 14:12:06 (INFO): energy_mae: 6.77e+00, forcesx_mae: 4.11e-02, forcesy_mae: 3.63e-02, forcesz_mae: 5.26e-02, forces_mae: 4.33e-02, forces_cosine_similarity: 8.24e-02, forces_magnitude_error: 7.42e-02, energy_forces_within_threshold: 0.00e+00, loss: 6.86e+00, lr: 5.00e-04, epoch: 1.69e-01, step: 1.00e+01
+2024-07-09 14:12:07 (INFO): Evaluating on val.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:04<00:04, 4.77s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.65s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.87s/it]
+2024-07-09 14:12:15 (INFO): energy_mae: 8.7333, forcesx_mae: 0.0231, forcesy_mae: 0.0188, forcesz_mae: 0.0198, forces_mae: 0.0206, forces_cosine_similarity: -0.0317, forces_magnitude_error: 0.0290, energy_forces_within_threshold: 0.0000, loss: 8.6591, epoch: 0.1695
+2024-07-09 14:12:15 (INFO): Predicting on test.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:02<00:02, 2.95s/it]
device 0: 100%|██████████| 2/2 [00:05<00:00, 2.76s/it]
device 0: 100%|██████████| 2/2 [00:05<00:00, 2.87s/it]
+2024-07-09 14:12:21 (INFO): Writing results to fine-tuning/results/2024-07-09-14-11-12-ft-oxides/ocp_predictions.npz
+2024-07-09 14:12:46 (INFO): energy_mae: 1.07e+01, forcesx_mae: 2.63e-02, forcesy_mae: 1.76e-02, forcesz_mae: 1.90e-02, forces_mae: 2.10e-02, forces_cosine_similarity: -3.68e-02, forces_magnitude_error: 2.26e-02, energy_forces_within_threshold: 0.00e+00, loss: 1.07e+01, lr: 5.00e-04, epoch: 3.39e-01, step: 2.00e+01
+2024-07-09 14:12:48 (INFO): Evaluating on val.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:04<00:04, 4.80s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.79s/it]
device 0: 100%|██████████| 2/2 [00:08<00:00, 4.02s/it]
+2024-07-09 14:12:56 (INFO): energy_mae: 2.6849, forcesx_mae: 0.0235, forcesy_mae: 0.0180, forcesz_mae: 0.0129, forces_mae: 0.0181, forces_cosine_similarity: 0.0675, forces_magnitude_error: 0.0215, energy_forces_within_threshold: 0.0000, loss: 2.7128, epoch: 0.3390
+2024-07-09 14:12:57 (INFO): Predicting on test.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:03<00:03, 3.01s/it]
device 0: 100%|██████████| 2/2 [00:05<00:00, 2.87s/it]
device 0: 100%|██████████| 2/2 [00:05<00:00, 2.97s/it]
+2024-07-09 14:13:03 (INFO): Writing results to fine-tuning/results/2024-07-09-14-11-12-ft-oxides/ocp_predictions.npz
+2024-07-09 14:13:22 (INFO): energy_mae: 4.87e+00, forcesx_mae: 1.81e-02, forcesy_mae: 1.51e-02, forcesz_mae: 2.08e-02, forces_mae: 1.80e-02, forces_cosine_similarity: -9.49e-03, forces_magnitude_error: 2.32e-02, energy_forces_within_threshold: 0.00e+00, loss: 4.91e+00, lr: 5.00e-04, epoch: 5.08e-01, step: 3.00e+01
+2024-07-09 14:13:24 (INFO): Evaluating on val.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:04<00:04, 4.62s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.50s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.77s/it]
+2024-07-09 14:13:32 (INFO): energy_mae: 4.4434, forcesx_mae: 0.0268, forcesy_mae: 0.0290, forcesz_mae: 0.0330, forces_mae: 0.0296, forces_cosine_similarity: -0.0265, forces_magnitude_error: 0.0418, energy_forces_within_threshold: 0.0000, loss: 4.5329, epoch: 0.5085
+2024-07-09 14:13:57 (INFO): energy_mae: 3.76e+00, forcesx_mae: 3.12e-02, forcesy_mae: 2.67e-02, forcesz_mae: 3.30e-02, forces_mae: 3.03e-02, forces_cosine_similarity: -1.19e-01, forces_magnitude_error: 3.96e-02, energy_forces_within_threshold: 0.00e+00, loss: 3.82e+00, lr: 5.00e-04, epoch: 6.78e-01, step: 4.00e+01
+2024-07-09 14:13:59 (INFO): Evaluating on val.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:04<00:04, 4.65s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.57s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.82s/it]
+2024-07-09 14:14:06 (INFO): energy_mae: 1.2410, forcesx_mae: 0.0160, forcesy_mae: 0.0177, forcesz_mae: 0.0147, forces_mae: 0.0161, forces_cosine_similarity: 0.1347, forces_magnitude_error: 0.0191, energy_forces_within_threshold: 0.0000, loss: 1.2659, epoch: 0.6780
+2024-07-09 14:14:07 (INFO): Predicting on test.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:03<00:03, 3.20s/it]
device 0: 100%|██████████| 2/2 [00:05<00:00, 2.95s/it]
device 0: 100%|██████████| 2/2 [00:06<00:00, 3.08s/it]
+2024-07-09 14:14:13 (INFO): Writing results to fine-tuning/results/2024-07-09-14-11-12-ft-oxides/ocp_predictions.npz
+2024-07-09 14:14:34 (INFO): energy_mae: 2.93e+00, forcesx_mae: 1.71e-02, forcesy_mae: 1.54e-02, forcesz_mae: 1.70e-02, forces_mae: 1.65e-02, forces_cosine_similarity: 2.49e-02, forces_magnitude_error: 2.03e-02, energy_forces_within_threshold: 0.00e+00, loss: 2.96e+00, lr: 5.00e-04, epoch: 8.47e-01, step: 5.00e+01
+2024-07-09 14:14:36 (INFO): Evaluating on val.
+
device 0: 0%| | 0/2 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 50%|█████ | 1/2 [00:04<00:04, 4.37s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.48s/it]
device 0: 100%|██████████| 2/2 [00:07<00:00, 3.71s/it]
+2024-07-09 14:14:43 (INFO): energy_mae: 4.0707, forcesx_mae: 0.0248, forcesy_mae: 0.0212, forcesz_mae: 0.0229, forces_mae: 0.0230, forces_cosine_similarity: 0.0864, forces_magnitude_error: 0.0363, energy_forces_within_threshold: 0.0000, loss: 4.0942, epoch: 0.8475
+2024-07-09 14:15:02 (INFO): Total time taken: 198.98523592948914
diff --git a/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt b/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt
new file mode 100644
index 0000000000..8395c31fe9
--- /dev/null
+++ b/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt
@@ -0,0 +1,131 @@
+2024-07-09 14:17:18 (INFO): Running in non-distributed local mode
+2024-07-09 14:17:19 (INFO): Project root: /home/runner/work/fairchem/fairchem/src/fairchem
+2024-07-09 14:17:20 (INFO): amp: true
+cmd:
+ checkpoint_dir: ./checkpoints/2024-07-09-14-17-36
+ commit: bf2b26e
+ identifier: ''
+ logs_dir: ./logs/tensorboard/2024-07-09-14-17-36
+ print_every: 10
+ results_dir: ./results/2024-07-09-14-17-36
+ seed: 0
+ timestamp_id: 2024-07-09-14-17-36
+ version: 0.1.dev1+gbf2b26e
+dataset: null
+evaluation_metrics:
+ metrics:
+ energy:
+ - mae
+ forces:
+ - forcesx_mae
+ - forcesy_mae
+ - forcesz_mae
+ - mae
+ - cosine_similarity
+ - magnitude_error
+ misc:
+ - energy_forces_within_threshold
+ primary_metric: forces_mae
+gp_gpus: null
+gpus: 0
+logger: tensorboard
+loss_functions:
+- energy:
+ coefficient: 1
+ fn: mae
+- forces:
+ coefficient: 1
+ fn: l2mae
+model: gemnet_t
+model_attributes:
+ activation: silu
+ cbf:
+ name: spherical_harmonics
+ cutoff: 6.0
+ direct_forces: true
+ emb_size_atom: 512
+ emb_size_bil_trip: 64
+ emb_size_cbf: 16
+ emb_size_edge: 512
+ emb_size_rbf: 16
+ emb_size_trip: 64
+ envelope:
+ exponent: 5
+ name: polynomial
+ extensive: true
+ max_neighbors: 50
+ num_after_skip: 2
+ num_atom: 3
+ num_before_skip: 1
+ num_blocks: 3
+ num_concat: 1
+ num_radial: 128
+ num_spherical: 7
+ otf_graph: true
+ output_init: HeOrthogonal
+ rbf:
+ name: gaussian
+ regress_forces: true
+noddp: false
+optim:
+ batch_size: 16
+ clip_grad_norm: 10
+ ema_decay: 0.999
+ energy_coefficient: 1
+ eval_batch_size: 16
+ eval_every: 5000
+ force_coefficient: 1
+ loss_energy: mae
+ loss_force: atomwisel2
+ lr_gamma: 0.8
+ lr_initial: 0.0005
+ lr_milestones:
+ - 64000
+ - 96000
+ - 128000
+ - 160000
+ - 192000
+ max_epochs: 80
+ num_workers: 2
+ optimizer: AdamW
+ optimizer_params:
+ amsgrad: true
+ warmup_steps: -1
+outputs:
+ energy:
+ level: system
+ forces:
+ eval_on_free_atoms: true
+ level: atom
+ train_on_free_atoms: true
+slurm: {}
+task:
+ prediction_dtype: float32
+test_dataset:
+ a2g_args:
+ r_energy: false
+ r_forces: false
+ format: ase_db
+ select_args:
+ selection: natoms>5,xc=PBE
+ src: data.db
+trainer: ocp
+val_dataset: null
+
+2024-07-09 14:17:20 (INFO): rank: 0: Sampler created...
+2024-07-09 14:17:20 (INFO): Batch balancing is disabled for single GPU training.
+2024-07-09 14:17:20 (INFO): Loading model: gemnet_t
+2024-07-09 14:17:22 (INFO): Loaded GemNetT with 31671825 parameters.
+2024-07-09 14:17:22 (WARNING): log_summary for Tensorboard not supported
+2024-07-09 14:17:22 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gndt_oc22_all_s2ef.pt
+2024-07-09 14:17:22 (INFO): Overwriting scaling factors with those loaded from checkpoint. If you're generating predictions with a pretrained checkpoint, this is the correct behavior. To disable this, delete `scale_dict` from the checkpoint.
+2024-07-09 14:17:22 (WARNING): Scale factor comment not found in model
+2024-07-09 14:17:22 (INFO): Predicting on test.
+
device 0: 0%| | 0/3 [00:00, ?it/s]/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/torch_geometric/data/collate.py:145: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly. To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
+ storage = elem.storage()._new_shared(numel)
+
device 0: 33%|███████████▋ | 1/3 [00:02<00:04, 2.03s/it]
device 0: 67%|███████████████████████▎ | 2/3 [00:04<00:02, 2.51s/it]
device 0: 100%|███████████████████████████████████| 3/3 [00:06<00:00, 2.11s/it]
device 0: 100%|███████████████████████████████████| 3/3 [00:06<00:00, 2.18s/it]
+2024-07-09 14:17:28 (INFO): Writing results to ./results/2024-07-09-14-17-36/ocp_predictions.npz
+2024-07-09 14:17:28 (INFO): Total time taken: 6.688116550445557
+Elapsed time = 13.0 seconds
diff --git a/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png b/_images/0da8ae9263053ad6dea8831c1b426aa505675d316d1ade29791c024dcc3bfd3e.png
similarity index 99%
rename from _images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png
rename to _images/0da8ae9263053ad6dea8831c1b426aa505675d316d1ade29791c024dcc3bfd3e.png
index 976b5917e2..e3f003a2eb 100644
Binary files a/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png and b/_images/0da8ae9263053ad6dea8831c1b426aa505675d316d1ade29791c024dcc3bfd3e.png differ
diff --git a/_images/1bd3f6f137572394f45b2bea46d8a5d05c74e922aca09434f2a962c660c36a98.png b/_images/1bd3f6f137572394f45b2bea46d8a5d05c74e922aca09434f2a962c660c36a98.png
new file mode 100644
index 0000000000..011bcbc5ad
Binary files /dev/null and b/_images/1bd3f6f137572394f45b2bea46d8a5d05c74e922aca09434f2a962c660c36a98.png differ
diff --git a/_images/20119ebabd48f33476c0d005b06b2a0dd7a215cc88c5f66182ccd469bcff0e8a.png b/_images/20119ebabd48f33476c0d005b06b2a0dd7a215cc88c5f66182ccd469bcff0e8a.png
new file mode 100644
index 0000000000..b0c9615ff8
Binary files /dev/null and b/_images/20119ebabd48f33476c0d005b06b2a0dd7a215cc88c5f66182ccd469bcff0e8a.png differ
diff --git a/_images/2f5258505cbaf133d92a049e74a43d8084112179d0ac78623e14191fa46c4bff.png b/_images/2f5258505cbaf133d92a049e74a43d8084112179d0ac78623e14191fa46c4bff.png
new file mode 100644
index 0000000000..45cd7c205b
Binary files /dev/null and b/_images/2f5258505cbaf133d92a049e74a43d8084112179d0ac78623e14191fa46c4bff.png differ
diff --git a/_images/33e748c54c65bf2c62d880db6f712a27cf22f1a234bc72238947a7f83abc602c.png b/_images/33e748c54c65bf2c62d880db6f712a27cf22f1a234bc72238947a7f83abc602c.png
new file mode 100644
index 0000000000..87d98ecf5c
Binary files /dev/null and b/_images/33e748c54c65bf2c62d880db6f712a27cf22f1a234bc72238947a7f83abc602c.png differ
diff --git a/_images/41af445d4daca68a749345776ce0892ee5bce34b89af1d4aef5a7470ec70845e.png b/_images/41af445d4daca68a749345776ce0892ee5bce34b89af1d4aef5a7470ec70845e.png
new file mode 100644
index 0000000000..db0d386e26
Binary files /dev/null and b/_images/41af445d4daca68a749345776ce0892ee5bce34b89af1d4aef5a7470ec70845e.png differ
diff --git a/_images/4c0a3eadc20e85c10fa416a87bd8a8e66ed2141f9d738463e7fc40ceaccf7418.png b/_images/4c0a3eadc20e85c10fa416a87bd8a8e66ed2141f9d738463e7fc40ceaccf7418.png
new file mode 100644
index 0000000000..c5e5b8c3b8
Binary files /dev/null and b/_images/4c0a3eadc20e85c10fa416a87bd8a8e66ed2141f9d738463e7fc40ceaccf7418.png differ
diff --git a/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png b/_images/4e62701901a436db91accf959034131fa3f13737244e437740ddae980ebd1e28.png
similarity index 99%
rename from _images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png
rename to _images/4e62701901a436db91accf959034131fa3f13737244e437740ddae980ebd1e28.png
index 55dbe505d0..6e53bc7945 100644
Binary files a/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png and b/_images/4e62701901a436db91accf959034131fa3f13737244e437740ddae980ebd1e28.png differ
diff --git a/_images/5bdd5d3f33a4524753684055a5fad4bd82a39e4c1cb11bce1b30401925c81ecf.png b/_images/5bdd5d3f33a4524753684055a5fad4bd82a39e4c1cb11bce1b30401925c81ecf.png
deleted file mode 100644
index 68b1aca6c9..0000000000
Binary files a/_images/5bdd5d3f33a4524753684055a5fad4bd82a39e4c1cb11bce1b30401925c81ecf.png and /dev/null differ
diff --git a/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png b/_images/602efc1bfe102d11b640d4fa22736f0192d4cb2ec5cca76c32812c02f35ec424.png
similarity index 99%
rename from _images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png
rename to _images/602efc1bfe102d11b640d4fa22736f0192d4cb2ec5cca76c32812c02f35ec424.png
index 9eead9f4ec..dd155fc4d1 100644
Binary files a/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png and b/_images/602efc1bfe102d11b640d4fa22736f0192d4cb2ec5cca76c32812c02f35ec424.png differ
diff --git a/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png b/_images/6e93e34104c6236abbd25466bec810cc5a44f1fce8c2eef3ccb492932b39d7ac.png
similarity index 99%
rename from _images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png
rename to _images/6e93e34104c6236abbd25466bec810cc5a44f1fce8c2eef3ccb492932b39d7ac.png
index bcc5c47000..d72fd6791b 100644
Binary files a/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png and b/_images/6e93e34104c6236abbd25466bec810cc5a44f1fce8c2eef3ccb492932b39d7ac.png differ
diff --git a/_images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png b/_images/756ffd7fe413dd24a1c8d3824960c35167f5a303e78d4971c1eaf1382c82fe73.png
similarity index 99%
rename from _images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png
rename to _images/756ffd7fe413dd24a1c8d3824960c35167f5a303e78d4971c1eaf1382c82fe73.png
index 796c5a5013..cd6054b6af 100644
Binary files a/_images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png and b/_images/756ffd7fe413dd24a1c8d3824960c35167f5a303e78d4971c1eaf1382c82fe73.png differ
diff --git a/_images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png b/_images/849bc2a9ccc55b56b8a57b26df643b6141ad5db11591e03e0e91e693b2b18c4e.png
similarity index 99%
rename from _images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png
rename to _images/849bc2a9ccc55b56b8a57b26df643b6141ad5db11591e03e0e91e693b2b18c4e.png
index b688b4a2a2..00c3519f9c 100644
Binary files a/_images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png and b/_images/849bc2a9ccc55b56b8a57b26df643b6141ad5db11591e03e0e91e693b2b18c4e.png differ
diff --git a/_images/94c2a08ab1ceaa205ecfb8d62e483d28be81d8c1237c2118d10d4eb766bec1fc.png b/_images/94c2a08ab1ceaa205ecfb8d62e483d28be81d8c1237c2118d10d4eb766bec1fc.png
deleted file mode 100644
index 9fb79ee6c3..0000000000
Binary files a/_images/94c2a08ab1ceaa205ecfb8d62e483d28be81d8c1237c2118d10d4eb766bec1fc.png and /dev/null differ
diff --git a/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png b/_images/99a4f8f828cea8bf99fa262dae13c363a22e4ecfb8634852ceba0fb62f38ee76.png
similarity index 99%
rename from _images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png
rename to _images/99a4f8f828cea8bf99fa262dae13c363a22e4ecfb8634852ceba0fb62f38ee76.png
index 95e8495a40..ad1d07d45c 100644
Binary files a/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png and b/_images/99a4f8f828cea8bf99fa262dae13c363a22e4ecfb8634852ceba0fb62f38ee76.png differ
diff --git a/_images/aa9c48a376f197fd6af81fc45cf79b9b33cdda12a663b0d6738ebcb554964f0a.png b/_images/aa9c48a376f197fd6af81fc45cf79b9b33cdda12a663b0d6738ebcb554964f0a.png
deleted file mode 100644
index 36c8bfb18d..0000000000
Binary files a/_images/aa9c48a376f197fd6af81fc45cf79b9b33cdda12a663b0d6738ebcb554964f0a.png and /dev/null differ
diff --git a/_images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png b/_images/ac62bef9bb42a8dd7dd1f92200161f8670209306f784fd9ebc25a09415ef715b.png
similarity index 99%
rename from _images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png
rename to _images/ac62bef9bb42a8dd7dd1f92200161f8670209306f784fd9ebc25a09415ef715b.png
index 22d68d5771..f55d6c5f86 100644
Binary files a/_images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png and b/_images/ac62bef9bb42a8dd7dd1f92200161f8670209306f784fd9ebc25a09415ef715b.png differ
diff --git a/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png b/_images/b4dfce6447f7a533e7bffcff3e393c1328bd0415fda521754b6761cbff57903e.png
similarity index 99%
rename from _images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png
rename to _images/b4dfce6447f7a533e7bffcff3e393c1328bd0415fda521754b6761cbff57903e.png
index ba89a830c6..748797cf23 100644
Binary files a/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png and b/_images/b4dfce6447f7a533e7bffcff3e393c1328bd0415fda521754b6761cbff57903e.png differ
diff --git a/_images/b8052939c33bb828c2eeea1d03c48c2129394702e972919142009dcc8bff305e.png b/_images/b8052939c33bb828c2eeea1d03c48c2129394702e972919142009dcc8bff305e.png
deleted file mode 100644
index b3e78a103b..0000000000
Binary files a/_images/b8052939c33bb828c2eeea1d03c48c2129394702e972919142009dcc8bff305e.png and /dev/null differ
diff --git a/_images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png b/_images/b8284e835b356d7f68fe10199f75ad35ff59c61539962b4f9738817de79022ed.png
similarity index 99%
rename from _images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png
rename to _images/b8284e835b356d7f68fe10199f75ad35ff59c61539962b4f9738817de79022ed.png
index 9ae7e37b9c..b7fb70711f 100644
Binary files a/_images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png and b/_images/b8284e835b356d7f68fe10199f75ad35ff59c61539962b4f9738817de79022ed.png differ
diff --git a/_images/be0f87d705459fb656d44d6c1e42a8735e9356d6c7fbee9c46215d7a2682e1cb.png b/_images/be0f87d705459fb656d44d6c1e42a8735e9356d6c7fbee9c46215d7a2682e1cb.png
new file mode 100644
index 0000000000..511454248e
Binary files /dev/null and b/_images/be0f87d705459fb656d44d6c1e42a8735e9356d6c7fbee9c46215d7a2682e1cb.png differ
diff --git a/_images/c138d78d11c7e14374028e10ca0934ab2696fbf6aa9d2b45d44bcffabf6080e2.png b/_images/c138d78d11c7e14374028e10ca0934ab2696fbf6aa9d2b45d44bcffabf6080e2.png
new file mode 100644
index 0000000000..376e9183c8
Binary files /dev/null and b/_images/c138d78d11c7e14374028e10ca0934ab2696fbf6aa9d2b45d44bcffabf6080e2.png differ
diff --git a/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png b/_images/c345947e7668b33a314d59121094f353e2623573ea3dd213d23a6b486bfbee9e.png
similarity index 99%
rename from _images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png
rename to _images/c345947e7668b33a314d59121094f353e2623573ea3dd213d23a6b486bfbee9e.png
index 107c6974e7..dc476bfb3c 100644
Binary files a/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png and b/_images/c345947e7668b33a314d59121094f353e2623573ea3dd213d23a6b486bfbee9e.png differ
diff --git a/_images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png b/_images/c3cad5fabd7d194f682c7781df8cb29fb801535cb4cbcb2c830584b6c6ffc72d.png
similarity index 99%
rename from _images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png
rename to _images/c3cad5fabd7d194f682c7781df8cb29fb801535cb4cbcb2c830584b6c6ffc72d.png
index 9c8588664a..84d102fb23 100644
Binary files a/_images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png and b/_images/c3cad5fabd7d194f682c7781df8cb29fb801535cb4cbcb2c830584b6c6ffc72d.png differ
diff --git a/_images/cfcdc7e302775579c03049aef09d50bcdd1691a83bfa4ec1a20e1ac8536e0ce7.png b/_images/cfcdc7e302775579c03049aef09d50bcdd1691a83bfa4ec1a20e1ac8536e0ce7.png
new file mode 100644
index 0000000000..584583fc5c
Binary files /dev/null and b/_images/cfcdc7e302775579c03049aef09d50bcdd1691a83bfa4ec1a20e1ac8536e0ce7.png differ
diff --git a/_images/d8f000c5866310197f993a7572f8fecc25292a36dab7b71d7508e7eec2cc2434.png b/_images/d8f000c5866310197f993a7572f8fecc25292a36dab7b71d7508e7eec2cc2434.png
new file mode 100644
index 0000000000..b37c0af57c
Binary files /dev/null and b/_images/d8f000c5866310197f993a7572f8fecc25292a36dab7b71d7508e7eec2cc2434.png differ
diff --git a/_images/deabea6d50267eb0199707fd11c4215082556e20ab5e2e17344d1dde87586a2e.png b/_images/deabea6d50267eb0199707fd11c4215082556e20ab5e2e17344d1dde87586a2e.png
new file mode 100644
index 0000000000..6603825bc5
Binary files /dev/null and b/_images/deabea6d50267eb0199707fd11c4215082556e20ab5e2e17344d1dde87586a2e.png differ
diff --git a/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png b/_images/e09235df67f6a4f604e2dc396140b3979de3a415db6696093790df3189ca2edf.png
similarity index 99%
rename from _images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png
rename to _images/e09235df67f6a4f604e2dc396140b3979de3a415db6696093790df3189ca2edf.png
index e3e80d12f6..2ff3645303 100644
Binary files a/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png and b/_images/e09235df67f6a4f604e2dc396140b3979de3a415db6696093790df3189ca2edf.png differ
diff --git a/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png b/_images/ea7ac8e20e191a15de6e417770d86a627492010be04a5f6c56083ee6b1ac9289.png
similarity index 99%
rename from _images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png
rename to _images/ea7ac8e20e191a15de6e417770d86a627492010be04a5f6c56083ee6b1ac9289.png
index a519c9c5a2..0b81a44683 100644
Binary files a/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png and b/_images/ea7ac8e20e191a15de6e417770d86a627492010be04a5f6c56083ee6b1ac9289.png differ
diff --git a/_images/ec3d78c828a48f27837aed2db2ea620c401fa3cc7fec032fead69ca09d84fb29.png b/_images/ec3d78c828a48f27837aed2db2ea620c401fa3cc7fec032fead69ca09d84fb29.png
new file mode 100644
index 0000000000..5922b3ab4b
Binary files /dev/null and b/_images/ec3d78c828a48f27837aed2db2ea620c401fa3cc7fec032fead69ca09d84fb29.png differ
diff --git a/_sources/autoapi/core/common/index.rst b/_sources/autoapi/core/common/index.rst
index 28e8063b5f..32004f355c 100644
--- a/_sources/autoapi/core/common/index.rst
+++ b/_sources/autoapi/core/common/index.rst
@@ -34,6 +34,7 @@ Submodules
/autoapi/core/common/hpo_utils/index
/autoapi/core/common/logger/index
/autoapi/core/common/registry/index
+ /autoapi/core/common/test_utils/index
/autoapi/core/common/transforms/index
/autoapi/core/common/tutorial_utils/index
/autoapi/core/common/typing/index
diff --git a/_sources/autoapi/core/common/logger/index.rst b/_sources/autoapi/core/common/logger/index.rst
index e35d062ef9..ae6651afe2 100644
--- a/_sources/autoapi/core/common/logger/index.rst
+++ b/_sources/autoapi/core/common/logger/index.rst
@@ -34,7 +34,7 @@ Module Contents
tensorboard, etc.
- .. py:method:: watch(model)
+ .. py:method:: watch(model, log_freq: int = 1000)
:abstractmethod:
@@ -72,7 +72,7 @@ Module Contents
tensorboard, etc.
- .. py:method:: watch(model) -> None
+ .. py:method:: watch(model, log_freq: int = 1000) -> None
Monitor parameters and gradients.
@@ -102,7 +102,7 @@ Module Contents
tensorboard, etc.
- .. py:method:: watch(model) -> bool
+ .. py:method:: watch(model, log_freq: int = 1000) -> bool
Monitor parameters and gradients.
diff --git a/_sources/autoapi/core/common/test_utils/index.rst b/_sources/autoapi/core/common/test_utils/index.rst
new file mode 100644
index 0000000000..420bb15b28
--- /dev/null
+++ b/_sources/autoapi/core/common/test_utils/index.rst
@@ -0,0 +1,88 @@
+core.common.test_utils
+======================
+
+.. py:module:: core.common.test_utils
+
+
+Classes
+-------
+
+.. autoapisummary::
+
+ core.common.test_utils.ForkedPdb
+ core.common.test_utils.PGConfig
+
+
+Functions
+---------
+
+.. autoapisummary::
+
+ core.common.test_utils.spawn_multi_process
+ core.common.test_utils._init_pg_and_rank_and_launch_test
+
+
+Module Contents
+---------------
+
+.. py:class:: ForkedPdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=False, readrc=True)
+
+ Bases: :py:obj:`pdb.Pdb`
+
+
+ A Pdb subclass that may be used from a forked multiprocessing child
+ https://stackoverflow.com/questions/4716533/how-to-attach-debugger-to-a-python-subproccess/23654936#23654936
+
+ example usage to debug a torch distributed run on rank 0:
+ if torch.distributed.get_rank() == 0:
+ from fairchem.core.common.test_utils import ForkedPdb
+ ForkedPdb().set_trace()
+
+
+ .. py:method:: interaction(*args, **kwargs)
+
+
+.. py:class:: PGConfig
+
+ .. py:attribute:: backend
+ :type: str
+
+
+ .. py:attribute:: world_size
+ :type: int
+
+
+ .. py:attribute:: gp_group_size
+ :type: int
+ :value: 1
+
+
+
+ .. py:attribute:: port
+ :type: str
+ :value: '12345'
+
+
+
+ .. py:attribute:: use_gp
+ :type: bool
+ :value: True
+
+
+
+.. py:function:: spawn_multi_process(config: PGConfig, test_method: callable, *test_method_args: Any, **test_method_kwargs: Any) -> list[Any]
+
+ Spawn single node, multi-rank function.
+ Uses localhost and free port to communicate.
+
+ :param world_size: number of processes
+ :param backend: backend to use. for example, "nccl", "gloo", etc
+ :param test_method: callable to spawn. first 3 arguments are rank, world_size and mp output dict
+ :param test_method_args: args for the test method
+ :param test_method_kwargs: kwargs for the test method
+
+ :returns: A list, l, where l[i] is the return value of test_method on rank i
+
+
+.. py:function:: _init_pg_and_rank_and_launch_test(rank: int, pg_setup_params: PGConfig, mp_output_dict: dict[int, object], test_method: callable, args: list[object], kwargs: dict[str, object]) -> None
+
diff --git a/_sources/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst b/_sources/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst
index f1ec3ed9c6..7287a4c2d1 100644
--- a/_sources/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.rst
@@ -123,6 +123,14 @@ Module Contents
:type load_energy_lin_ref: bool
+ .. py:method:: _init_gp_partitions(atomic_numbers_full, data_batch_full, edge_index, edge_distance, edge_distance_vec)
+
+ Graph Parallel
+ This creates the required partial tensors for each rank given the full tensors.
+ The tensors are split on the dimension along the node index using node_partition.
+
+
+
.. py:method:: forward(data)
diff --git a/_sources/autoapi/core/models/equiformer_v2/index.rst b/_sources/autoapi/core/models/equiformer_v2/index.rst
index 24bf9f4c0a..a68c05549f 100644
--- a/_sources/autoapi/core/models/equiformer_v2/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/index.rst
@@ -136,6 +136,14 @@ Package Contents
:type load_energy_lin_ref: bool
+ .. py:method:: _init_gp_partitions(atomic_numbers_full, data_batch_full, edge_index, edge_distance, edge_distance_vec)
+
+ Graph Parallel
+ This creates the required partial tensors for each rank given the full tensors.
+ The tensors are split on the dimension along the node index using node_partition.
+
+
+
.. py:method:: forward(data)
diff --git a/_sources/autoapi/core/models/equiformer_v2/input_block/index.rst b/_sources/autoapi/core/models/equiformer_v2/input_block/index.rst
index ad4a5bf17f..aa8095446a 100644
--- a/_sources/autoapi/core/models/equiformer_v2/input_block/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/input_block/index.rst
@@ -37,6 +37,6 @@ Module Contents
:type rescale_factor: float
- .. py:method:: forward(atomic_numbers, edge_distance, edge_index)
+ .. py:method:: forward(atomic_numbers, edge_distance, edge_index, num_nodes, node_offset=0)
diff --git a/_sources/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst b/_sources/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst
index 62f9ffbd1b..8e6b461486 100644
--- a/_sources/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.rst
@@ -23,7 +23,7 @@ Classes
Module Contents
---------------
-.. py:class:: EquiformerV2EnergyTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp')
+.. py:class:: EquiformerV2EnergyTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp', gp_gpus=None)
Bases: :py:obj:`fairchem.core.trainers.OCPTrainer`
diff --git a/_sources/autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst b/_sources/autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst
index 356f903551..22c41789ff 100644
--- a/_sources/autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/trainers/forces_trainer/index.rst
@@ -23,7 +23,7 @@ Classes
Module Contents
---------------
-.. py:class:: EquiformerV2ForcesTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp')
+.. py:class:: EquiformerV2ForcesTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp', gp_gpus=None)
Bases: :py:obj:`fairchem.core.trainers.OCPTrainer`
diff --git a/_sources/autoapi/core/models/equiformer_v2/transformer_block/index.rst b/_sources/autoapi/core/models/equiformer_v2/transformer_block/index.rst
index 7beb7eb0d2..f76a094c8d 100644
--- a/_sources/autoapi/core/models/equiformer_v2/transformer_block/index.rst
+++ b/_sources/autoapi/core/models/equiformer_v2/transformer_block/index.rst
@@ -67,7 +67,7 @@ Module Contents
:type alpha_drop: float
- .. py:method:: forward(x: torch.Tensor, atomic_numbers, edge_distance: torch.Tensor, edge_index)
+ .. py:method:: forward(x: torch.Tensor, atomic_numbers, edge_distance: torch.Tensor, edge_index, node_offset: int = 0)
.. py:class:: FeedForwardNetwork(sphere_channels: int, hidden_channels: int, output_channels: int, lmax_list: list[int], mmax_list: list[int], SO3_grid, activation: str = 'scaled_silu', use_gate_act: bool = False, use_grid_mlp: bool = False, use_sep_s2_act: bool = True)
@@ -158,6 +158,6 @@ Module Contents
:type proj_drop: float
- .. py:method:: forward(x, atomic_numbers, edge_distance, edge_index, batch)
+ .. py:method:: forward(x, atomic_numbers, edge_distance, edge_index, batch, node_offset: int = 0)
diff --git a/_sources/autoapi/core/trainers/base_trainer/index.rst b/_sources/autoapi/core/trainers/base_trainer/index.rst
index b417c76bb6..fc00fba3f6 100644
--- a/_sources/autoapi/core/trainers/base_trainer/index.rst
+++ b/_sources/autoapi/core/trainers/base_trainer/index.rst
@@ -23,7 +23,7 @@ Classes
Module Contents
---------------
-.. py:class:: BaseTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier: str, timestamp_id: str | None = None, run_dir: str | None = None, is_debug: bool = False, print_every: int = 100, seed: int | None = None, logger: str = 'wandb', local_rank: int = 0, amp: bool = False, cpu: bool = False, name: str = 'ocp', slurm=None, noddp: bool = False)
+.. py:class:: BaseTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier: str, timestamp_id: str | None = None, run_dir: str | None = None, is_debug: bool = False, print_every: int = 100, seed: int | None = None, logger: str = 'wandb', local_rank: int = 0, amp: bool = False, cpu: bool = False, name: str = 'ocp', slurm=None, noddp: bool = False, gp_gpus: int | None = None)
Bases: :py:obj:`abc.ABC`
diff --git a/_sources/autoapi/core/trainers/index.rst b/_sources/autoapi/core/trainers/index.rst
index 57e86927e1..4ff5b010e4 100644
--- a/_sources/autoapi/core/trainers/index.rst
+++ b/_sources/autoapi/core/trainers/index.rst
@@ -26,7 +26,7 @@ Classes
Package Contents
----------------
-.. py:class:: BaseTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier: str, timestamp_id: str | None = None, run_dir: str | None = None, is_debug: bool = False, print_every: int = 100, seed: int | None = None, logger: str = 'wandb', local_rank: int = 0, amp: bool = False, cpu: bool = False, name: str = 'ocp', slurm=None, noddp: bool = False)
+.. py:class:: BaseTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier: str, timestamp_id: str | None = None, run_dir: str | None = None, is_debug: bool = False, print_every: int = 100, seed: int | None = None, logger: str = 'wandb', local_rank: int = 0, amp: bool = False, cpu: bool = False, name: str = 'ocp', slurm=None, noddp: bool = False, gp_gpus: int | None = None)
Bases: :py:obj:`abc.ABC`
@@ -105,7 +105,7 @@ Package Contents
.. py:method:: save_results(predictions: dict[str, numpy.typing.NDArray], results_file: str | None, keys: collections.abc.Sequence[str] | None = None) -> None
-.. py:class:: OCPTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp')
+.. py:class:: OCPTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp', gp_gpus=None)
Bases: :py:obj:`fairchem.core.trainers.base_trainer.BaseTrainer`
diff --git a/_sources/autoapi/core/trainers/ocp_trainer/index.rst b/_sources/autoapi/core/trainers/ocp_trainer/index.rst
index 3cb402c2dc..405db7d6c4 100644
--- a/_sources/autoapi/core/trainers/ocp_trainer/index.rst
+++ b/_sources/autoapi/core/trainers/ocp_trainer/index.rst
@@ -23,7 +23,7 @@ Classes
Module Contents
---------------
-.. py:class:: OCPTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp')
+.. py:class:: OCPTrainer(task, model, outputs, dataset, optimizer, loss_functions, evaluation_metrics, identifier, timestamp_id=None, run_dir=None, is_debug=False, print_every=100, seed=None, logger='wandb', local_rank=0, amp=False, cpu=False, slurm=None, noddp=False, name='ocp', gp_gpus=None)
Bases: :py:obj:`fairchem.core.trainers.base_trainer.BaseTrainer`
diff --git a/_sources/core/fine-tuning/fine-tuning-oxides.md b/_sources/core/fine-tuning/fine-tuning-oxides.md
index 574989a337..d01b8fcbdc 100644
--- a/_sources/core/fine-tuning/fine-tuning-oxides.md
+++ b/_sources/core/fine-tuning/fine-tuning-oxides.md
@@ -207,21 +207,23 @@ yml = generate_yml_config(checkpoint_path, 'config.yml',
'optim.loss_force', # the checkpoint setting causes an error
'dataset', 'test_dataset', 'val_dataset'],
update={'gpus': 1,
- 'task.dataset': 'ase_db',
'optim.eval_every': 10,
'optim.max_epochs': 1,
'optim.batch_size': 4,
'logger':'tensorboard', # don't use wandb!
# Train data
'dataset.train.src': 'train.db',
+ 'dataset.train.format': 'ase_db',
'dataset.train.a2g_args.r_energy': True,
'dataset.train.a2g_args.r_forces': True,
# Test data - prediction only so no regression
'dataset.test.src': 'test.db',
+ 'dataset.test.format': 'ase_db',
'dataset.test.a2g_args.r_energy': False,
'dataset.test.a2g_args.r_forces': False,
# val data
'dataset.val.src': 'val.db',
+ 'dataset.val.format': 'ase_db',
'dataset.val.a2g_args.r_energy': True,
'dataset.val.a2g_args.r_forces': True,
})
diff --git a/_sources/core/inference.md b/_sources/core/inference.md
index da834e2b0a..fc717d71c7 100644
--- a/_sources/core/inference.md
+++ b/_sources/core/inference.md
@@ -47,6 +47,12 @@ with ase.db.connect('full_data.db') as full_db:
if 'tag' in atoms.info['key_value_pairs']:
atoms.info['key_value_pairs']['tag'] = int(atoms.info['key_value_pairs']['tag'])
+ for key in atoms.info["key_value_pairs"]:
+ if atoms.info["key_value_pairs"][key] == "True":
+ atoms.info["key_value_pairs"][key] = True
+ elif atoms.info["key_value_pairs"][key] == "False":
+ atoms.info["key_value_pairs"][key] = False
+
subset_db.write(atoms, **atoms.info['key_value_pairs'])
```
@@ -69,7 +75,7 @@ checkpoint_path
```
-We have to update our configuration yml file with the dataset. It is necessary to specify the train and test set for some reason.
+We have to update our configuration yml file with the test dataset.
```{code-cell} ipython3
from fairchem.core.common.tutorial_utils import generate_yml_config
@@ -78,16 +84,11 @@ yml = generate_yml_config(checkpoint_path, 'config.yml',
'dataset', 'slurm'],
update={'amp': True,
'gpus': 1,
- 'task.dataset': 'ase_db',
'task.prediction_dtype': 'float32',
'logger':'tensorboard', # don't use wandb!
- # Train data
- 'dataset.train.src': 'data.db',
- 'dataset.train.a2g_args.r_energy': False,
- 'dataset.train.a2g_args.r_forces': False,
- 'dataset.train.select_args.selection': 'natoms>5,xc=PBE',
# Test data - prediction only so no regression
'dataset.test.src': 'data.db',
+ 'dataset.test.format': 'ase_db',
'dataset.test.a2g_args.r_energy': False,
'dataset.test.a2g_args.r_forces': False,
'dataset.test.select_args.selection': 'natoms>5,xc=PBE',
diff --git a/_sources/legacy_tutorials/OCP_Tutorial.md b/_sources/legacy_tutorials/OCP_Tutorial.md
index b4d1d4cfa3..86642efa3d 100644
--- a/_sources/legacy_tutorials/OCP_Tutorial.md
+++ b/_sources/legacy_tutorials/OCP_Tutorial.md
@@ -302,7 +302,7 @@ dyn.run(fmax=0, steps=100)
traj = ase.io.read("data/toy_c3h8_relax.traj", ":")
# convert traj format to extxyz format (used by OC20 dataset)
-columns = (['symbols','positions', 'move_mask', 'tags'])
+columns = (['symbols','positions', 'move_mask', 'tags', 'forces'])
with open('data/toy_c3h8_relax.extxyz','w') as f:
extxyz.write_xyz(f, traj, columns=columns)
```
@@ -925,8 +925,8 @@ trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="s2ef",
identifier="S2EF-example",
run_dir=".", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1007,8 +1007,8 @@ pretrained_trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="s2ef",
identifier="S2EF-val-example",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1211,8 +1211,8 @@ energy_trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="is2re",
identifier="IS2RE-example",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1289,8 +1289,8 @@ pretrained_energy_trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="is2re",
identifier="IS2RE-val-example",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1514,8 +1514,8 @@ trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="s2ef",
identifier="is2rs-example",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1904,8 +1904,8 @@ trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="s2ef",
identifier="S2EF-simple",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
@@ -1980,8 +1980,8 @@ trainer = OCPTrainer(
dataset=dataset,
optimizer=optimizer,
outputs={},
- loss_fns={},
- eval_metrics={},
+ loss_functions={},
+ evaluation_metrics={},
name="s2ef",
identifier="S2EF-gemnet-t",
run_dir="./", # directory to save results if is_debug=False. Prediction files are saved here so be careful not to override!
diff --git a/_sources/legacy_tutorials/data_visualization.md b/_sources/legacy_tutorials/data_visualization.md
index 9d8aea4f24..ba26aefab8 100644
--- a/_sources/legacy_tutorials/data_visualization.md
+++ b/_sources/legacy_tutorials/data_visualization.md
@@ -101,7 +101,7 @@ dyn.run(fmax=0, steps=100)
traj = ase.io.read("data/toy_c3h8_relax.traj", ":")
# convert traj format to extxyz format (used by OC20 dataset)
-columns = (['symbols','positions', 'move_mask', 'tags'])
+columns = (['symbols','positions', 'move_mask', 'tags', 'forces'])
with open('data/toy_c3h8_relax.extxyz','w') as f:
extxyz.write_xyz(f, traj, columns=columns)
diff --git a/_sources/tutorials/advanced/fine-tuning-in-python.md b/_sources/tutorials/advanced/fine-tuning-in-python.md
index afc810c209..568d92723b 100644
--- a/_sources/tutorials/advanced/fine-tuning-in-python.md
+++ b/_sources/tutorials/advanced/fine-tuning-in-python.md
@@ -79,21 +79,23 @@ yml = generate_yml_config(checkpoint_path, 'config.yml',
'optim.loss_force', # the checkpoint setting causes an error
'dataset', 'test_dataset', 'val_dataset'],
update={'gpus': 1,
- 'task.dataset': 'ase_db',
'optim.eval_every': 10,
'optim.max_epochs': 1,
'optim.batch_size': 4,
'logger': 'tensorboard', # don't use wandb unless you already are logged in
# Train data
'dataset.train.src': 'train.db',
+ 'dataset.train.format': 'ase_db',
'dataset.train.a2g_args.r_energy': True,
'dataset.train.a2g_args.r_forces': True,
# Test data - prediction only so no regression
'dataset.test.src': 'test.db',
+ 'dataset.test.format': 'ase_db',
'dataset.test.a2g_args.r_energy': False,
'dataset.test.a2g_args.r_forces': False,
# val data
'dataset.val.src': 'val.db',
+ 'dataset.val.format': 'ase_db',
'dataset.val.a2g_args.r_energy': True,
'dataset.val.a2g_args.r_forces': True,
})
diff --git a/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html b/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html
index 2c9c3f0703..02e7d4935d 100644
--- a/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html
+++ b/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/adsorbml/scripts/dense_eval/index.html b/autoapi/adsorbml/scripts/dense_eval/index.html
index be588c9ab6..b9982df3b1 100644
--- a/autoapi/adsorbml/scripts/dense_eval/index.html
+++ b/autoapi/adsorbml/scripts/dense_eval/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/adsorbml/scripts/process_mlrs/index.html b/autoapi/adsorbml/scripts/process_mlrs/index.html
index f6e33c512e..9f6bc2ab69 100644
--- a/autoapi/adsorbml/scripts/process_mlrs/index.html
+++ b/autoapi/adsorbml/scripts/process_mlrs/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/adsorbml/scripts/utils/index.html b/autoapi/adsorbml/scripts/utils/index.html
index b4ebd1cd85..2b2f2a89c7 100644
--- a/autoapi/adsorbml/scripts/utils/index.html
+++ b/autoapi/adsorbml/scripts/utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/adsorbml/scripts/write_top_k_vasp/index.html b/autoapi/adsorbml/scripts/write_top_k_vasp/index.html
index 747c69ed67..99335e0c51 100644
--- a/autoapi/adsorbml/scripts/write_top_k_vasp/index.html
+++ b/autoapi/adsorbml/scripts/write_top_k_vasp/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/core/autoframe/index.html b/autoapi/cattsunami/core/autoframe/index.html
index 8b2f02d7ab..0cbe1e66d3 100644
--- a/autoapi/cattsunami/core/autoframe/index.html
+++ b/autoapi/cattsunami/core/autoframe/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/core/index.html b/autoapi/cattsunami/core/index.html
index 9e53b09d80..293e8d0dfb 100644
--- a/autoapi/cattsunami/core/index.html
+++ b/autoapi/cattsunami/core/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/core/ocpneb/index.html b/autoapi/cattsunami/core/ocpneb/index.html
index 23d2fdfbca..e595fcf7e8 100644
--- a/autoapi/cattsunami/core/ocpneb/index.html
+++ b/autoapi/cattsunami/core/ocpneb/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/core/reaction/index.html b/autoapi/cattsunami/core/reaction/index.html
index 073c0a3b5e..28b2abeee0 100644
--- a/autoapi/cattsunami/core/reaction/index.html
+++ b/autoapi/cattsunami/core/reaction/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/databases/index.html b/autoapi/cattsunami/databases/index.html
index b8b436cc54..df8fee4987 100644
--- a/autoapi/cattsunami/databases/index.html
+++ b/autoapi/cattsunami/databases/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/index.html b/autoapi/cattsunami/index.html
index 082ed45f24..86aa717388 100644
--- a/autoapi/cattsunami/index.html
+++ b/autoapi/cattsunami/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/cattsunami/run_validation/run_validation/index.html b/autoapi/cattsunami/run_validation/run_validation/index.html
index 209abbb986..f735d42b02 100644
--- a/autoapi/cattsunami/run_validation/run_validation/index.html
+++ b/autoapi/cattsunami/run_validation/run_validation/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/_cli/index.html b/autoapi/core/_cli/index.html
index 4750be6da5..09d32ea5a3 100644
--- a/autoapi/core/_cli/index.html
+++ b/autoapi/core/_cli/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/data_parallel/index.html b/autoapi/core/common/data_parallel/index.html
index 66498493cf..87c05a1ea0 100644
--- a/autoapi/core/common/data_parallel/index.html
+++ b/autoapi/core/common/data_parallel/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/distutils/index.html b/autoapi/core/common/distutils/index.html
index 3cc83d6924..ea61c62333 100644
--- a/autoapi/core/common/distutils/index.html
+++ b/autoapi/core/common/distutils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/flags/index.html b/autoapi/core/common/flags/index.html
index b4989c1a1b..07e64431b7 100644
--- a/autoapi/core/common/flags/index.html
+++ b/autoapi/core/common/flags/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/gp_utils/index.html b/autoapi/core/common/gp_utils/index.html
index 61cb055805..84d0f5c1d4 100644
--- a/autoapi/core/common/gp_utils/index.html
+++ b/autoapi/core/common/gp_utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/hpo_utils/index.html b/autoapi/core/common/hpo_utils/index.html
index 73c24dd164..f95807d443 100644
--- a/autoapi/core/common/hpo_utils/index.html
+++ b/autoapi/core/common/hpo_utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/index.html b/autoapi/core/common/index.html
index a7570e4323..01796f3bb9 100644
--- a/autoapi/core/common/index.html
+++ b/autoapi/core/common/index.html
@@ -305,6 +305,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -656,6 +657,7 @@ core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/logger/index.html b/autoapi/core/common/logger/index.html
index c75de7f957..86658b8de2 100644
--- a/autoapi/core/common/logger/index.html
+++ b/autoapi/core/common/logger/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -688,7 +689,7 @@ Module Contents
Monitor parameters and gradients.
@@ -723,7 +724,7 @@ Module Contents
Monitor parameters and gradients.
@@ -758,7 +759,7 @@ Module Contents
Monitor parameters and gradients.
diff --git a/autoapi/core/common/registry/index.html b/autoapi/core/common/registry/index.html
index 56911623c5..89d6cc3287 100644
--- a/autoapi/core/common/registry/index.html
+++ b/autoapi/core/common/registry/index.html
@@ -61,7 +61,7 @@
-
+
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -977,11 +978,11 @@ Module Contents
diff --git a/autoapi/core/common/relaxation/ase_utils/index.html b/autoapi/core/common/relaxation/ase_utils/index.html
index 6781f3119a..19e41b33c5 100644
--- a/autoapi/core/common/relaxation/ase_utils/index.html
+++ b/autoapi/core/common/relaxation/ase_utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/relaxation/index.html b/autoapi/core/common/relaxation/index.html
index cba10b34d2..cc7b2821c7 100644
--- a/autoapi/core/common/relaxation/index.html
+++ b/autoapi/core/common/relaxation/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/relaxation/ml_relaxation/index.html b/autoapi/core/common/relaxation/ml_relaxation/index.html
index d4edb1211f..bdcfe6d8c5 100644
--- a/autoapi/core/common/relaxation/ml_relaxation/index.html
+++ b/autoapi/core/common/relaxation/ml_relaxation/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/relaxation/optimizers/index.html b/autoapi/core/common/relaxation/optimizers/index.html
index d228d95232..a5da85cf2b 100644
--- a/autoapi/core/common/relaxation/optimizers/index.html
+++ b/autoapi/core/common/relaxation/optimizers/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.html b/autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.html
index dd4a180240..f946e1a2af 100644
--- a/autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.html
+++ b/autoapi/core/common/relaxation/optimizers/lbfgs_torch/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/test_utils/index.html b/autoapi/core/common/test_utils/index.html
new file mode 100644
index 0000000000..0cd5a782d5
--- /dev/null
+++ b/autoapi/core/common/test_utils/index.html
@@ -0,0 +1,898 @@
+
+
+
+
+
+
+
+
+
+
+ core.common.test_utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
core.common.test_utils
+
+
+
+
+
+
+
+
+
+
+core.common.test_utils
+
+
+
+Module Contents
+
+
+class core.common.test_utils. ForkedPdb ( completekey = 'tab' , stdin = None , stdout = None , skip = None , nosigint = False , readrc = True )
+Bases: pdb.Pdb
+A Pdb subclass that may be used from a forked multiprocessing child
+https://stackoverflow.com/questions/4716533/how-to-attach-debugger-to-a-python-subproccess/23654936#23654936
+example usage to debug a torch distributed run on rank 0:
+if torch.distributed.get_rank() == 0:
+
+from fairchem.core.common.test_utils import ForkedPdb
+ForkedPdb().set_trace()
+
+
+
+interaction ( * args , ** kwargs )
+
+
+
+
+
+
+class core.common.test_utils. PGConfig
+
+
+backend : str
+
+
+
+
+world_size : int
+
+
+
+
+gp_group_size : int = 1
+
+
+
+
+port : str = '12345'
+
+
+
+
+use_gp : bool = True
+
+
+
+
+
+
+core.common.test_utils. spawn_multi_process ( config : PGConfig , test_method : callable , * test_method_args : Any , ** test_method_kwargs : Any ) → list [ Any ]
+Spawn single node, multi-rank function.
+Uses localhost and free port to communicate.
+
+Parameters:
+
+world_size – number of processes
+backend – backend to use. for example, “nccl”, “gloo”, etc
+test_method – callable to spawn. first 3 arguments are rank, world_size and mp output dict
+test_method_args – args for the test method
+test_method_kwargs – kwargs for the test method
+
+
+Returns:
+A list, l, where l[i] is the return value of test_method on rank i
+
+
+
+
+
+
+core.common.test_utils. _init_pg_and_rank_and_launch_test ( rank : int , pg_setup_params : PGConfig , mp_output_dict : dict [ int , object ] , test_method : callable , args : list [ object ] , kwargs : dict [ str , object ] ) → None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/autoapi/core/common/transforms/index.html b/autoapi/core/common/transforms/index.html
index d813092764..412b91a987 100644
--- a/autoapi/core/common/transforms/index.html
+++ b/autoapi/core/common/transforms/index.html
@@ -64,7 +64,7 @@
-
+
@@ -305,6 +305,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -720,12 +721,12 @@ core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/typing/index.html b/autoapi/core/common/typing/index.html
index 1066f85ef2..191f67619d 100644
--- a/autoapi/core/common/typing/index.html
+++ b/autoapi/core/common/typing/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/common/utils/index.html b/autoapi/core/common/utils/index.html
index 2f390e7ab5..6aa0c377e1 100644
--- a/autoapi/core/common/utils/index.html
+++ b/autoapi/core/common/utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/_utils/index.html b/autoapi/core/datasets/_utils/index.html
index 7a65d5ea57..baa8796d9b 100644
--- a/autoapi/core/datasets/_utils/index.html
+++ b/autoapi/core/datasets/_utils/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/ase_datasets/index.html b/autoapi/core/datasets/ase_datasets/index.html
index 647755150e..602d738b34 100644
--- a/autoapi/core/datasets/ase_datasets/index.html
+++ b/autoapi/core/datasets/ase_datasets/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/embeddings/atomic_radii/index.html b/autoapi/core/datasets/embeddings/atomic_radii/index.html
index 43fa4a179a..533c974515 100644
--- a/autoapi/core/datasets/embeddings/atomic_radii/index.html
+++ b/autoapi/core/datasets/embeddings/atomic_radii/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/embeddings/continuous_embeddings/index.html b/autoapi/core/datasets/embeddings/continuous_embeddings/index.html
index 51f8fd43b9..80f11f90e8 100644
--- a/autoapi/core/datasets/embeddings/continuous_embeddings/index.html
+++ b/autoapi/core/datasets/embeddings/continuous_embeddings/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/embeddings/index.html b/autoapi/core/datasets/embeddings/index.html
index d4a8bd91f4..d5bae5bd55 100644
--- a/autoapi/core/datasets/embeddings/index.html
+++ b/autoapi/core/datasets/embeddings/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/embeddings/khot_embeddings/index.html b/autoapi/core/datasets/embeddings/khot_embeddings/index.html
index 2da7463a97..f919ddb357 100644
--- a/autoapi/core/datasets/embeddings/khot_embeddings/index.html
+++ b/autoapi/core/datasets/embeddings/khot_embeddings/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.html b/autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.html
index 671e5c9b84..b982fb6a30 100644
--- a/autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.html
+++ b/autoapi/core/datasets/embeddings/qmof_khot_embeddings/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/index.html b/autoapi/core/datasets/index.html
index 9bc5e589d4..1d4288485e 100644
--- a/autoapi/core/datasets/index.html
+++ b/autoapi/core/datasets/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/lmdb_database/index.html b/autoapi/core/datasets/lmdb_database/index.html
index a8bd8e8ebb..d201e1c060 100644
--- a/autoapi/core/datasets/lmdb_database/index.html
+++ b/autoapi/core/datasets/lmdb_database/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/lmdb_dataset/index.html b/autoapi/core/datasets/lmdb_dataset/index.html
index 35b6d16264..3fb1fb8889 100644
--- a/autoapi/core/datasets/lmdb_dataset/index.html
+++ b/autoapi/core/datasets/lmdb_dataset/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/oc22_lmdb_dataset/index.html b/autoapi/core/datasets/oc22_lmdb_dataset/index.html
index baf5377dd0..23fa8a4560 100644
--- a/autoapi/core/datasets/oc22_lmdb_dataset/index.html
+++ b/autoapi/core/datasets/oc22_lmdb_dataset/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/datasets/target_metadata_guesser/index.html b/autoapi/core/datasets/target_metadata_guesser/index.html
index 2e4a3bbb2b..a1878a2e83 100644
--- a/autoapi/core/datasets/target_metadata_guesser/index.html
+++ b/autoapi/core/datasets/target_metadata_guesser/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/index.html b/autoapi/core/index.html
index c073fb0806..f8a83d8d62 100644
--- a/autoapi/core/index.html
+++ b/autoapi/core/index.html
@@ -305,6 +305,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/base/index.html b/autoapi/core/models/base/index.html
index 206123d9b0..14fd73fdcd 100644
--- a/autoapi/core/models/base/index.html
+++ b/autoapi/core/models/base/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/dimenet_plus_plus/index.html b/autoapi/core/models/dimenet_plus_plus/index.html
index a338262234..0dbdadd013 100644
--- a/autoapi/core/models/dimenet_plus_plus/index.html
+++ b/autoapi/core/models/dimenet_plus_plus/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/activation/index.html b/autoapi/core/models/equiformer_v2/activation/index.html
index d039296b6b..2876f05e5f 100644
--- a/autoapi/core/models/equiformer_v2/activation/index.html
+++ b/autoapi/core/models/equiformer_v2/activation/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/drop/index.html b/autoapi/core/models/equiformer_v2/drop/index.html
index 05c3d10ea0..2dedb69a1e 100644
--- a/autoapi/core/models/equiformer_v2/drop/index.html
+++ b/autoapi/core/models/equiformer_v2/drop/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/edge_rot_mat/index.html b/autoapi/core/models/equiformer_v2/edge_rot_mat/index.html
index 76f0c521de..41cf6fa2ab 100644
--- a/autoapi/core/models/equiformer_v2/edge_rot_mat/index.html
+++ b/autoapi/core/models/equiformer_v2/edge_rot_mat/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.html b/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.html
index 2dbb0f6e7b..3560888077 100644
--- a/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.html
+++ b/autoapi/core/models/equiformer_v2/equiformer_v2_oc20/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -623,6 +624,7 @@ Contents
_AVG_NUM_NODES
_AVG_DEGREE
EquiformerV2_OC20
_AVG_DEGREE
EquiformerV2_OC20
+EquiformerV2_OC20._init_gp_partitions()
EquiformerV2_OC20.forward()
EquiformerV2_OC20._init_edge_rot_mat()
EquiformerV2_OC20.num_params
diff --git a/autoapi/core/models/equiformer_v2/gaussian_rbf/index.html b/autoapi/core/models/equiformer_v2/gaussian_rbf/index.html
index 8c9932a433..479075812e 100644
--- a/autoapi/core/models/equiformer_v2/gaussian_rbf/index.html
+++ b/autoapi/core/models/equiformer_v2/gaussian_rbf/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/index.html b/autoapi/core/models/equiformer_v2/index.html
index dd01d38a6c..8e0b549a54 100644
--- a/autoapi/core/models/equiformer_v2/index.html
+++ b/autoapi/core/models/equiformer_v2/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -622,6 +623,7 @@ Contents
Classes
Package Contents
EquiformerV2
Package Contents
EquiformerV2
+EquiformerV2._init_gp_partitions()
EquiformerV2.forward()
EquiformerV2._init_edge_rot_mat()
EquiformerV2.num_params
diff --git a/autoapi/core/models/equiformer_v2/input_block/index.html b/autoapi/core/models/equiformer_v2/input_block/index.html
index a8bcb50c6e..0ce31a41cf 100644
--- a/autoapi/core/models/equiformer_v2/input_block/index.html
+++ b/autoapi/core/models/equiformer_v2/input_block/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -678,7 +679,7 @@ Module Contents
diff --git a/autoapi/core/models/equiformer_v2/layer_norm/index.html b/autoapi/core/models/equiformer_v2/layer_norm/index.html
index f0bdc1cbdc..86b7e43424 100644
--- a/autoapi/core/models/equiformer_v2/layer_norm/index.html
+++ b/autoapi/core/models/equiformer_v2/layer_norm/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/module_list/index.html b/autoapi/core/models/equiformer_v2/module_list/index.html
index f025fcb694..76243c09dd 100644
--- a/autoapi/core/models/equiformer_v2/module_list/index.html
+++ b/autoapi/core/models/equiformer_v2/module_list/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/radial_function/index.html b/autoapi/core/models/equiformer_v2/radial_function/index.html
index 2d3385f7d5..1b0ca9fa57 100644
--- a/autoapi/core/models/equiformer_v2/radial_function/index.html
+++ b/autoapi/core/models/equiformer_v2/radial_function/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/so2_ops/index.html b/autoapi/core/models/equiformer_v2/so2_ops/index.html
index 7f86eb8664..9884808dd9 100644
--- a/autoapi/core/models/equiformer_v2/so2_ops/index.html
+++ b/autoapi/core/models/equiformer_v2/so2_ops/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/so3/index.html b/autoapi/core/models/equiformer_v2/so3/index.html
index 2b89ab7dff..c4a3068eb1 100644
--- a/autoapi/core/models/equiformer_v2/so3/index.html
+++ b/autoapi/core/models/equiformer_v2/so3/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.html b/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.html
index 86c598c7d2..ab9466f176 100644
--- a/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.html
+++ b/autoapi/core/models/equiformer_v2/trainers/energy_trainer/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -656,7 +657,7 @@ Classes
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/client/client/index.html b/autoapi/ocpapi/client/client/index.html
index 1fb542c4a3..cb3e30d384 100644
--- a/autoapi/ocpapi/client/client/index.html
+++ b/autoapi/ocpapi/client/client/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/client/index.html b/autoapi/ocpapi/client/index.html
index ec4f3a3050..b7e9c7cf56 100644
--- a/autoapi/ocpapi/client/index.html
+++ b/autoapi/ocpapi/client/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/client/models/index.html b/autoapi/ocpapi/client/models/index.html
index ecbadd4227..9f79d65c06 100644
--- a/autoapi/ocpapi/client/models/index.html
+++ b/autoapi/ocpapi/client/models/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/client/ui/index.html b/autoapi/ocpapi/client/ui/index.html
index 0590b201f4..2c44829fda 100644
--- a/autoapi/ocpapi/client/ui/index.html
+++ b/autoapi/ocpapi/client/ui/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/index.html b/autoapi/ocpapi/index.html
index d2bc63214d..1f5aeef332 100644
--- a/autoapi/ocpapi/index.html
+++ b/autoapi/ocpapi/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/version/index.html b/autoapi/ocpapi/version/index.html
index 4a0b1e3eff..19127cb2e9 100644
--- a/autoapi/ocpapi/version/index.html
+++ b/autoapi/ocpapi/version/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/adsorbates/index.html b/autoapi/ocpapi/workflows/adsorbates/index.html
index 5c0bed0379..ef8f0f4247 100644
--- a/autoapi/ocpapi/workflows/adsorbates/index.html
+++ b/autoapi/ocpapi/workflows/adsorbates/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/context/index.html b/autoapi/ocpapi/workflows/context/index.html
index 0cbffc6a6e..fd5afc3cc3 100644
--- a/autoapi/ocpapi/workflows/context/index.html
+++ b/autoapi/ocpapi/workflows/context/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/filter/index.html b/autoapi/ocpapi/workflows/filter/index.html
index 720e6e433f..8f3e50cf26 100644
--- a/autoapi/ocpapi/workflows/filter/index.html
+++ b/autoapi/ocpapi/workflows/filter/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/index.html b/autoapi/ocpapi/workflows/index.html
index 9fd6046c99..f586b4bfd8 100644
--- a/autoapi/ocpapi/workflows/index.html
+++ b/autoapi/ocpapi/workflows/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/log/index.html b/autoapi/ocpapi/workflows/log/index.html
index 1bac636144..f15d9729b4 100644
--- a/autoapi/ocpapi/workflows/log/index.html
+++ b/autoapi/ocpapi/workflows/log/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/autoapi/ocpapi/workflows/retry/index.html b/autoapi/ocpapi/workflows/retry/index.html
index 9f6dee2836..0e308f54e2 100644
--- a/autoapi/ocpapi/workflows/retry/index.html
+++ b/autoapi/ocpapi/workflows/retry/index.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/ase_dataset_creation.html b/core/ase_dataset_creation.html
index bb1c8c208c..56d268c5cb 100644
--- a/core/ase_dataset_creation.html
+++ b/core/ase_dataset_creation.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/datasets/oc20.html b/core/datasets/oc20.html
index 1bb28a4b26..fde0cc89ad 100644
--- a/core/datasets/oc20.html
+++ b/core/datasets/oc20.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/datasets/oc20dense.html b/core/datasets/oc20dense.html
index 1237ed2b12..44e76a9efb 100644
--- a/core/datasets/oc20dense.html
+++ b/core/datasets/oc20dense.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/datasets/oc20neb.html b/core/datasets/oc20neb.html
index c6a089a150..81998121b0 100644
--- a/core/datasets/oc20neb.html
+++ b/core/datasets/oc20neb.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/datasets/oc22.html b/core/datasets/oc22.html
index 3859519b60..e6ae4c569d 100644
--- a/core/datasets/oc22.html
+++ b/core/datasets/oc22.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/datasets/odac.html b/core/datasets/odac.html
index b89d0dfab0..91b8f56d13 100644
--- a/core/datasets/odac.html
+++ b/core/datasets/odac.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
diff --git a/core/fine-tuning/fine-tuning-oxides.html b/core/fine-tuning/fine-tuning-oxides.html
index 5643c5e865..baab1fc739 100644
--- a/core/fine-tuning/fine-tuning-oxides.html
+++ b/core/fine-tuning/fine-tuning-oxides.html
@@ -303,6 +303,7 @@
core.common.hpo_utils
core.common.logger
core.common.registry
+core.common.test_utils
core.common.transforms
core.common.tutorial_utils
core.common.typing
@@ -826,10 +827,10 @@ Fine tuning a model