diff --git a/.buildinfo b/.buildinfo index fddc69866..926c8c978 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: b5d0ff58eedd87b93894b95d734e1b60 +config: ac9e52e0f6ce67401b12e91af06590f6 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt b/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt deleted file mode 100644 index 03fc8a1d9..000000000 --- a/_downloads/5fdddbed2260616231dbf7b0d94bb665/train.txt +++ /dev/null @@ -1,224 +0,0 @@ -2024-05-17 04:21:19 (INFO): Project root: /home/runner/work/fairchem/fairchem/src/fairchem -2024-05-17 04:21:20 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities. -2024-05-17 04:21:20 (INFO): amp: true -cmd: - checkpoint_dir: fine-tuning/checkpoints/2024-05-17-04-22-24-ft-oxides - commit: bcb3cf5 - identifier: ft-oxides - logs_dir: fine-tuning/logs/tensorboard/2024-05-17-04-22-24-ft-oxides - print_every: 10 - results_dir: fine-tuning/results/2024-05-17-04-22-24-ft-oxides - seed: 0 - timestamp_id: 2024-05-17-04-22-24-ft-oxides - version: 1.0.0 -dataset: - a2g_args: - r_energy: true - r_forces: true - format: ase_db - key_mapping: - force: forces - y: energy - src: train.db -eval_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 -gpus: 0 -logger: tensorboard -loss_fns: -- 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: false -slurm: {} -task: - dataset: ase_db -test_dataset: - a2g_args: - r_energy: false - r_forces: false - src: test.db -trainer: ocp -val_dataset: - a2g_args: - r_energy: true - r_forces: true - src: val.db - -2024-05-17 04:21:20 (INFO): Loading dataset: ase_db -2024-05-17 04:21:20 (INFO): rank: 0: Sampler created... -2024-05-17 04:21:20 (INFO): Batch balancing is disabled for single GPU training. -2024-05-17 04:21:20 (INFO): rank: 0: Sampler created... -2024-05-17 04:21:20 (INFO): Batch balancing is disabled for single GPU training. -2024-05-17 04:21:20 (INFO): rank: 0: Sampler created... -2024-05-17 04:21:20 (INFO): Batch balancing is disabled for single GPU training. -2024-05-17 04:21:20 (INFO): Loading model: gemnet_oc -2024-05-17 04:21:20 (WARNING): Unrecognized arguments: ['symmetric_edge_symmetrization'] -2024-05-17 04:21:23 (INFO): Loaded GemNetOC with 38864438 parameters. -2024-05-17 04:21:23 (WARNING): Model gradient logging to tensorboard not yet supported. -2024-05-17 04:21:23 (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-05-17 04:21:23 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gnoc_oc22_oc20_all_s2ef.pt -2024-05-17 04:21:23 (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-05-17 04:21:46 (INFO): energy_forces_within_threshold: 0.00e+00, 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, loss: 6.86e+00, lr: 5.00e-04, epoch: 1.69e-01, step: 1.00e+01 -2024-05-17 04:21:47 (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.75s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.63s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.84s/it] -2024-05-17 04:21:55 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 8.7334, 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, loss: 8.6591, epoch: 0.1695 -2024-05-17 04:21:55 (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.88s/it] device 0: 100%|██████████| 2/2 [00:05<00:00, 2.97s/it] -2024-05-17 04:22:01 (INFO): Writing results to fine-tuning/results/2024-05-17-04-22-24-ft-oxides/ocp_predictions.npz -2024-05-17 04:22:26 (INFO): energy_forces_within_threshold: 0.00e+00, 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, loss: 1.07e+01, lr: 5.00e-04, epoch: 3.39e-01, step: 2.00e+01 -2024-05-17 04:22:28 (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.82s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.71s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.95s/it] -2024-05-17 04:22:36 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 2.6864, forcesx_mae: 0.0235, forcesy_mae: 0.0180, forcesz_mae: 0.0129, forces_mae: 0.0181, forces_cosine_similarity: 0.0677, forces_magnitude_error: 0.0215, loss: 2.7142, epoch: 0.3390 -2024-05-17 04:22:37 (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.04s/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-05-17 04:22:43 (INFO): Writing results to fine-tuning/results/2024-05-17-04-22-24-ft-oxides/ocp_predictions.npz -2024-05-17 04:23:02 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 4.88e+00, forcesx_mae: 1.80e-02, forcesy_mae: 1.50e-02, forcesz_mae: 2.08e-02, forces_mae: 1.80e-02, forces_cosine_similarity: -7.27e-03, forces_magnitude_error: 2.32e-02, loss: 4.92e+00, lr: 5.00e-04, epoch: 5.08e-01, step: 3.00e+01 -2024-05-17 04:23:04 (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.39s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.52s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.73s/it] -2024-05-17 04:23:12 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 4.5137, forcesx_mae: 0.0268, forcesy_mae: 0.0291, forcesz_mae: 0.0331, forces_mae: 0.0297, forces_cosine_similarity: -0.0276, forces_magnitude_error: 0.0419, loss: 4.6045, epoch: 0.5085 -2024-05-17 04:23:36 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 3.86e+00, forcesx_mae: 3.15e-02, forcesy_mae: 2.71e-02, forcesz_mae: 3.21e-02, forces_mae: 3.02e-02, forces_cosine_similarity: -1.44e-01, forces_magnitude_error: 4.12e-02, loss: 3.92e+00, lr: 5.00e-04, epoch: 6.78e-01, step: 4.00e+01 -2024-05-17 04:23:38 (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.61s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.59s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.83s/it] -2024-05-17 04:23:46 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 1.7173, forcesx_mae: 0.0114, forcesy_mae: 0.0107, forcesz_mae: 0.0119, forces_mae: 0.0113, forces_cosine_similarity: 0.0999, forces_magnitude_error: 0.0139, loss: 1.7447, epoch: 0.6780 -2024-05-17 04:23:47 (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.26s/it] device 0: 100%|██████████| 2/2 [00:06<00:00, 3.02s/it] device 0: 100%|██████████| 2/2 [00:06<00:00, 3.14s/it] -2024-05-17 04:23:53 (INFO): Writing results to fine-tuning/results/2024-05-17-04-22-24-ft-oxides/ocp_predictions.npz -2024-05-17 04:24:14 (INFO): energy_forces_within_threshold: 0.00e+00, energy_mae: 7.95e+00, forcesx_mae: 2.82e-02, forcesy_mae: 2.20e-02, forcesz_mae: 2.89e-02, forces_mae: 2.64e-02, forces_cosine_similarity: -8.49e-03, forces_magnitude_error: 3.57e-02, loss: 8.00e+00, lr: 5.00e-04, epoch: 8.47e-01, step: 5.00e+01 -2024-05-17 04:24:16 (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:05<00:05, 5.04s/it] device 0: 100%|██████████| 2/2 [00:07<00:00, 3.73s/it] device 0: 100%|██████████| 2/2 [00:08<00:00, 4.03s/it] -2024-05-17 04:24:24 (INFO): energy_forces_within_threshold: 0.0000, energy_mae: 2.8637, forcesx_mae: 0.0633, forcesy_mae: 0.0673, forcesz_mae: 0.0716, forces_mae: 0.0674, forces_cosine_similarity: 0.0680, forces_magnitude_error: 0.1200, loss: 3.0094, epoch: 0.8475 -2024-05-17 04:24:43 (INFO): Total time taken: 200.0294771194458 diff --git a/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt b/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt deleted file mode 100644 index 12d517cb9..000000000 --- a/_downloads/819e10305ddd6839cd7da05935b17060/mass-inference.txt +++ /dev/null @@ -1,143 +0,0 @@ -2024-05-17 04:26:51 (INFO): Project root: /home/runner/work/fairchem/fairchem/src/fairchem -2024-05-17 04:26:52 (WARNING): Detected old config, converting to new format. Consider updating to avoid potential incompatibilities. -2024-05-17 04:26:52 (INFO): amp: true -cmd: - checkpoint_dir: ./checkpoints/2024-05-17-04-26-40 - commit: bcb3cf5 - identifier: '' - logs_dir: ./logs/tensorboard/2024-05-17-04-26-40 - print_every: 10 - results_dir: ./results/2024-05-17-04-26-40 - seed: 0 - timestamp_id: 2024-05-17-04-26-40 - version: 1.0.0 -dataset: - a2g_args: - r_energy: false - r_forces: false - format: ase_db - key_mapping: - force: forces - y: energy - select_args: - selection: natoms>5,xc=PBE - src: data.db -eval_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 -gpus: 0 -logger: tensorboard -loss_fns: -- 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: false -slurm: {} -task: - dataset: ase_db - prediction_dtype: float32 -test_dataset: - a2g_args: - r_energy: false - r_forces: false - select_args: - selection: natoms>5,xc=PBE - src: data.db -trainer: ocp -val_dataset: null - -2024-05-17 04:26:52 (INFO): Loading dataset: ase_db -2024-05-17 04:26:52 (INFO): rank: 0: Sampler created... -2024-05-17 04:26:52 (INFO): Batch balancing is disabled for single GPU training. -2024-05-17 04:26:52 (INFO): rank: 0: Sampler created... -2024-05-17 04:26:52 (INFO): Batch balancing is disabled for single GPU training. -2024-05-17 04:26:52 (INFO): Loading model: gemnet_t -2024-05-17 04:26:54 (INFO): Loaded GemNetT with 31671825 parameters. -2024-05-17 04:26:54 (WARNING): Model gradient logging to tensorboard not yet supported. -2024-05-17 04:26:54 (INFO): Loading checkpoint from: /tmp/ocp_checkpoints/gndt_oc22_all_s2ef.pt -2024-05-17 04:26:54 (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-05-17 04:26:54 (WARNING): Scale factor comment not found in model -2024-05-17 04:26:54 (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:04<00:08, 4.49s/it] device 0: 67%|███████████████████████▎ | 2/3 [00:06<00:02, 2.95s/it] device 0: 100%|███████████████████████████████████| 3/3 [00:07<00:00, 2.11s/it] device 0: 100%|███████████████████████████████████| 3/3 [00:07<00:00, 2.50s/it] -2024-05-17 04:27:02 (INFO): Writing results to ./results/2024-05-17-04-26-40/ocp_predictions.npz -2024-05-17 04:27:02 (INFO): Total time taken: 7.6487016677856445 -Elapsed time = 13.7 seconds diff --git a/_images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png b/_images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png deleted file mode 100644 index 22d68d577..000000000 Binary files a/_images/01e81f6c3f48ab7afff5b938d0c6a052f8635f048b5b7f495a17409cb544df72.png and /dev/null differ diff --git a/_images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png b/_images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png deleted file mode 100644 index 796c5a501..000000000 Binary files a/_images/170bc9949a589c01b9dd86594314ef1566bd2800215484dd031eacea9d34b8ed.png and /dev/null differ diff --git a/_images/191aecf204df920fa349a2f381599c551195ad11a38007685d8c63cdf419e382.png b/_images/191aecf204df920fa349a2f381599c551195ad11a38007685d8c63cdf419e382.png deleted file mode 100644 index 22789e35a..000000000 Binary files a/_images/191aecf204df920fa349a2f381599c551195ad11a38007685d8c63cdf419e382.png and /dev/null differ diff --git a/_images/221adf0e3d9d8931d99a67052088e0ca2f7df39f6d61383a46d86bf632c34dbe.png b/_images/221adf0e3d9d8931d99a67052088e0ca2f7df39f6d61383a46d86bf632c34dbe.png deleted file mode 100644 index 7c5ab79da..000000000 Binary files a/_images/221adf0e3d9d8931d99a67052088e0ca2f7df39f6d61383a46d86bf632c34dbe.png and /dev/null differ diff --git a/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png b/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png deleted file mode 100644 index 976b5917e..000000000 Binary files a/_images/366dcb1f0d2763d7437d3b5b666ebfda153643d4b11dc71a09f6161ce695c67c.png and /dev/null differ diff --git a/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png b/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png deleted file mode 100644 index 107c6974e..000000000 Binary files a/_images/3af36046407c85efd47c685c029d67f42a28c228c33b7b8a35c33f393440382a.png and /dev/null differ diff --git a/_images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png b/_images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png deleted file mode 100644 index fa074fa31..000000000 Binary files a/_images/4bace82b10c623914f65162c41715b5dfcc194c1569698d06031d1f715ccc1e4.png and /dev/null differ diff --git a/_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png b/_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png deleted file mode 100644 index ecf54428e..000000000 Binary files a/_images/50c8e6d9d4ff36851865c963e5b0dbec8644e6b8165949be66d93ad908a3a94c.png and /dev/null differ diff --git a/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png b/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png deleted file mode 100644 index a519c9c5a..000000000 Binary files a/_images/643db0cf71f60bbef7025b3f50dfab282da4371e89979a0744574aaa167e16fc.png and /dev/null differ diff --git a/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png b/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png deleted file mode 100644 index 95e8495a4..000000000 Binary files a/_images/6a5800b612d2be5c9576cda60c4f84e52cbeee8ab9c16e8abc25a1c42d77bf2e.png and /dev/null differ diff --git a/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png b/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png deleted file mode 100644 index e3e80d12f..000000000 Binary files a/_images/779c250f6bf7aaa03eef896ef1541e648ebf742911fe25095bde7b712d7234d4.png and /dev/null differ diff --git a/_images/85d0b8d0dca5400abb3c9f3fdd0abb0ff60afa34c16d3d8c7301db7fef8ecead.png b/_images/85d0b8d0dca5400abb3c9f3fdd0abb0ff60afa34c16d3d8c7301db7fef8ecead.png deleted file mode 100644 index 29e2039a8..000000000 Binary files a/_images/85d0b8d0dca5400abb3c9f3fdd0abb0ff60afa34c16d3d8c7301db7fef8ecead.png and /dev/null differ diff --git a/_images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png b/_images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png deleted file mode 100644 index 9ae7e37b9..000000000 Binary files a/_images/88ead5bbd89bc50c23bfe01328aaa56af0a05a83b148ec0823e6f4c10cf0cd88.png and /dev/null differ diff --git a/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png b/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png deleted file mode 100644 index ba89a830c..000000000 Binary files a/_images/8f0c9791161c339543bda4170c3f954270bca8b6e60d88b947cc42c8e7018929.png and /dev/null differ diff --git a/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png b/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png deleted file mode 100644 index bcc5c4700..000000000 Binary files a/_images/90530c0fb25b9caa530cc02502a659b784f34bf0b8ebdceb934bee7ddc222d55.png and /dev/null differ diff --git a/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png b/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png deleted file mode 100644 index 55dbe505d..000000000 Binary files a/_images/91047de027f6044074d02e1daa405a2fef563d024b57288137bc0adf4344b0b9.png and /dev/null differ diff --git a/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png b/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png deleted file mode 100644 index 9eead9f4e..000000000 Binary files a/_images/94b675b655200519baaacdd72a4fb6b0f7a36c57d7a4025b34de029233d8d3f8.png and /dev/null differ diff --git a/_images/b0529f8dcd95c7828d264993233e6c09c5d313f219ed172352360334f07adeb3.png b/_images/b0529f8dcd95c7828d264993233e6c09c5d313f219ed172352360334f07adeb3.png deleted file mode 100644 index ddb179888..000000000 Binary files a/_images/b0529f8dcd95c7828d264993233e6c09c5d313f219ed172352360334f07adeb3.png and /dev/null differ diff --git a/_images/b6b0f782cca9a655899d09175d762da8f525495b97adbe4945105dcd069169f8.png b/_images/b6b0f782cca9a655899d09175d762da8f525495b97adbe4945105dcd069169f8.png deleted file mode 100644 index c8688c5fb..000000000 Binary files a/_images/b6b0f782cca9a655899d09175d762da8f525495b97adbe4945105dcd069169f8.png and /dev/null differ diff --git a/_images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png b/_images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png deleted file mode 100644 index b688b4a2a..000000000 Binary files a/_images/bafcd798ce6fa792883069f5f67d59f84f0614aee01a6b563e2eda73664e980d.png and /dev/null differ diff --git a/_images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png b/_images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png deleted file mode 100644 index 9c8588664..000000000 Binary files a/_images/bc678ad5f054a187ada9488eac6034ec451475c82b447ad813ae1b9b24601637.png and /dev/null differ diff --git a/_images/c614de67795e3aebbfa9bfe567f5d98f145921842306f582ba4f09897baef6b2.png b/_images/c614de67795e3aebbfa9bfe567f5d98f145921842306f582ba4f09897baef6b2.png deleted file mode 100644 index a2f115f5c..000000000 Binary files a/_images/c614de67795e3aebbfa9bfe567f5d98f145921842306f582ba4f09897baef6b2.png and /dev/null differ diff --git a/_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png b/_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png deleted file mode 100644 index a0e7f35c3..000000000 Binary files a/_images/dd5a6f98208aaa1c5ff0b1c91baebe0a2cd7bc24bdda4bc2cd0905198d1021e9.png and /dev/null differ diff --git a/_images/df81306bc2df8846723f37101ee39d5e6ed7c601a8d3301743ed30d682d6fcb9.png b/_images/df81306bc2df8846723f37101ee39d5e6ed7c601a8d3301743ed30d682d6fcb9.png deleted file mode 100644 index a0ef33131..000000000 Binary files a/_images/df81306bc2df8846723f37101ee39d5e6ed7c601a8d3301743ed30d682d6fcb9.png and /dev/null differ diff --git a/_images/e407f2aba16854949ec326b5ce84fc620bea274782085e3f1bb89ccfb4f910f0.png b/_images/e407f2aba16854949ec326b5ce84fc620bea274782085e3f1bb89ccfb4f910f0.png deleted file mode 100644 index 66f86d55b..000000000 Binary files a/_images/e407f2aba16854949ec326b5ce84fc620bea274782085e3f1bb89ccfb4f910f0.png and /dev/null differ diff --git a/_images/e638e3dfce54d9f2628a94f1bb80dd5af14cd9a8bc9749d3b7d63401694e0023.png b/_images/e638e3dfce54d9f2628a94f1bb80dd5af14cd9a8bc9749d3b7d63401694e0023.png deleted file mode 100644 index 4967bfa7f..000000000 Binary files a/_images/e638e3dfce54d9f2628a94f1bb80dd5af14cd9a8bc9749d3b7d63401694e0023.png and /dev/null differ diff --git a/_images/e8ef0f1cc7af5773559f7fbca167e0b01c0fd0f8135d77912f0ab06fff4fdb7d.png b/_images/e8ef0f1cc7af5773559f7fbca167e0b01c0fd0f8135d77912f0ab06fff4fdb7d.png deleted file mode 100644 index 93180d8d0..000000000 Binary files a/_images/e8ef0f1cc7af5773559f7fbca167e0b01c0fd0f8135d77912f0ab06fff4fdb7d.png and /dev/null differ diff --git a/_sources/core/install.md b/_sources/core/install.md index d48265a65..8ad523f32 100644 --- a/_sources/core/install.md +++ b/_sources/core/install.md @@ -1,33 +1,40 @@ # Installation -### conda or better yet [mamba](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html) - easy +To install `fairchem-core` you will need to setup the `fairchem-core` environment (using [conda](#Conda) or [pip](#PyPi)) +and then either install `fairchem-core` package [directly](#Install-fairchem-core) or install a [development version](#Development-install) from our git repository. + +## Environment + +You can install the environment using either conda or pip + +### Conda We do not have official conda recipes (yet!); in the meantime you can use the -following environment yaml files for CPU [env.cpu.yml](https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/packages/env.cpu.yml) -or GPU [env.gpu.yml](https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/packages/env.gpu.yml) to easily set up a -working environment and install `fairchem-core`. +following environment yaml files to setup on CPU or GPU. If conda is too slow for you, please consider using [mamba](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html) 1. Create an environment to install *fairchem* - 1. **GPU** + + a. **GPU** The default environment uses cuda 11.8, if you need a different version you will have to edit *pytorch-cuda* version accordingly. ```bash + wget https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/packages/env.gpu.yml conda env create -f env.gpu.yml ``` - 2. **CPU** + b. **CPU** ```bash + wget https://raw.githubusercontent.com/FAIR-Chem/fairchem/main/packages/env.cpu.yml conda env create -f env.cpu.yml ``` -2. Activate the environment and install `fairchem-core` from PyPi +2. Activate the environment ```bash conda activate fair-chem - pip install fairchem-core ``` -### PyPi - flexible +### PyPi You can also install `pytorch` and `torch_geometric` dependencies from PyPI to select specific CPU or CUDA versions. 1. Install `pytorch` by selecting your installer, OS and CPU or CUDA version following the official @@ -37,11 +44,11 @@ You can also install `pytorch` and `torch_geometric` dependencies from PyPI to s similarly by selecting the appropriate versions in the official [PyG docs](https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html) -3. Install `fairchem-core` from PyPi - ```bash - pip install fairchem-core - ``` - +## Install fairchem-core +Install `fairchem-core` from PyPi +```bash +pip install fairchem-core +``` ## Additional packages @@ -51,12 +58,13 @@ to install other packages you can do so by: pip install fairchem-{package-to-install} ``` -## Dev install +## Development install -If you plan to make contributions you will need to clone (for windows user please see next section) the repo and install -`fairchem-core` in editable mode with dev -dependencies, +If you plan to make contributions you will need to fork and clone (for windows user please see next section) the repo, +set up the environment, and install fairchem-core from source in editable mode with dev dependencies, ```bash +git clone https://github.com/FAIR-Chem/fairchem.git +cd fairchem pip install -e packages/fairchem-core[dev] ``` @@ -69,9 +77,7 @@ pip install -e packages/fairchem-{package-to-install} Our build system requires the use of symlinks which are not available by default on windows. To properly build fairchem packages you must enable symlinks and clone the repository with them enabled. -1) When installing git on your machine make sure "enable symbolic links" is checked ([download git installer](https://git-scm.com/download/win)) - -![Enable symlinks on git install](https://i.stack.imgur.com/kZmPI.png) +1) When installing git on your machine make sure "enable symbolic links" is checked ([download git installer](https://git-scm.com/download/win)) ([see here](https://stackoverflow.com/a/65563980) for detailed instructions ) 2) Enable developer mode ([instructions](https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development)) or run the following commands as administrator diff --git a/_sources/index.md b/_sources/index.md index 2ebb90111..7e279abd3 100644 --- a/_sources/index.md +++ b/_sources/index.md @@ -1,4 +1,5 @@ -
fairchem
by FAIR Chemistry fairchem
by FAIR Chemistry +#### FAIR-Chem overview + `fairchem` is the [FAIR](https://ai.meta.com/research/) Chemistry's centralized repository of all its data, models, demos, and application efforts for materials science and quantum chemistry. Collaborative projects that contribute or use the models and approaches in this repo: @@ -22,7 +25,7 @@ We re-organized and rebranded the repository in 2024 (previously the `fairchem` general usability of these models beyond catalysis, including things like direct air capture. ``` -### Datasets in `fairchem`: +#### Datasets in `fairchem`: `fairchem` provides training and evaluation code for tasks and models that take arbitrary chemical structures as input to predict energies / forces / positions / stresses, and can be used as a base scaffold for research projects. For an overview of @@ -33,7 +36,7 @@ tasks, data, and metrics, please read the documentations and respective papers: - [OC20Dense](core/datasets/oc20dense) - [OC20NEB](core/datasets/oc20neb) -### Projects and models built on `fairchem`: +#### Projects and models built on `fairchem`: - SchNet [[`arXiv`](https://arxiv.org/abs/1706.08566)] [[`code`](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/models/schnet.py)] - DimeNet++ [[`arXiv`](https://arxiv.org/abs/2011.14115)] [[`code`](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/core/models/dimenet_plus_plus.py)] @@ -53,7 +56,7 @@ Older model implementations that are no longer supported: - SpinConv [[`arXiv`](https://arxiv.org/abs/2106.09575)] [[`code`](https://github.com/FAIR-Chem/fairchem/blob/e7a8745eb307e8a681a1aa9d30c36e8c41e9457e/ocpmodels/models/spinconv.py)] - ForceNet [[`arXiv`](https://arxiv.org/abs/2103.01436)] [[`code`](https://github.com/FAIR-Chem/fairchem/blob/e7a8745eb307e8a681a1aa9d30c36e8c41e9457e/ocpmodels/models/forcenet.py)] -## Discussion +### Discussion For all non-codebase related questions and to keep up-to-date with the latest OCP announcements, please join the [discussion board](https://discuss.opencatalystproject.org/). @@ -61,7 +64,7 @@ announcements, please join the [discussion board](https://discuss.opencatalystpr All code-related questions and issues should be posted directly on our [issues page](https://github.com/FAIR-Chem/fairchem/issues). -## Acknowledgements +### Acknowledgements - This codebase was initially forked from [CGCNN](https://github.com/txie-93/cgcnn) by [Tian Xie](http://txie.me), but has undergone significant changes since. @@ -70,11 +73,11 @@ by [Tian Xie](http://txie.me), but has undergone significant changes since. - It was then developed as the OCP repo, and includes many contributions from the community and collaborators. - Much of the documentation was developed for various papers or as part of a comprehensive tutorial for the 2023 ACS Fall Chemistry conference. -## License +### License `fairchem` is released under the [MIT](https://github.com/FAIR-Chem/fairchem/blob/main/LICENSE.md) license. -## Citing `fairchem` +### Citing `fairchem` If you use this codebase in your work, please consider citing: diff --git a/_sources/tutorials/cattsunami_walkthrough.md b/_sources/tutorials/cattsunami_walkthrough.md index 648ab4c3b..5d70a38ff 100644 --- a/_sources/tutorials/cattsunami_walkthrough.md +++ b/_sources/tutorials/cattsunami_walkthrough.md @@ -14,6 +14,9 @@ kernelspec: # CatTSunami tutorial ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- from fairchem.applications.cattsunami.core import Reaction from fairchem.data.oc.core import Slab, Adsorbate, Bulk, AdsorbateSlabConfig from fairchem.core.common.relaxation.ase_utils import OCPCalculator @@ -40,6 +43,9 @@ To start, we generate placements for the reactant and product species on the sur ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- # Instantiate the reaction class for the reaction of interest reaction = Reaction(reaction_str_from_db="*CH -> *C + *H", reaction_db_path=DISSOCIATION_REACTION_DB_PATH, @@ -68,6 +74,9 @@ product2_configs = AdsorbateSlabConfig(slab = slab[0], adsorbate = product2, ``` ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- # Instantiate the calculator # NOTE: If you have a GPU, use cpu = False # NOTE: Change the checkpoint path to locally downloaded files as needed @@ -87,6 +96,9 @@ There are 2 options for how to do this. You need to provide the calculator with a path to a model checkpoint file. That can be downloaded [here](../core/model_checkpoints) ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- # Relax the reactant systems reactant_energies = [] for config in reactant_configs: @@ -116,6 +128,9 @@ Here we use the class we created to handle automatic generation of NEB frames to ![dissociation_scheme](https://github.com/FAIR-Chem/fairchem/blob/main/src/fairchem/applications/cattsunami/tutorial/dissociation_scheme.png) ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- af = AutoFrameDissociation( reaction = reaction, reactant_system = reactant_configs[reactant_energies.index(min(reactant_energies))], @@ -140,6 +155,9 @@ frame_sets, mapping_idxs = af.get_neb_frames(calc, Here we use the custom child class we created to run NEB relaxations using ML. The class we created allows the frame relaxations to be batched, improving efficiency. ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- ## This will run all NEBs enumerated - to just run one, run the code cell below. # On GPU, each NEB takes an average of ~1 minute so this could take around a half hour on GPU # But much longer on CPU @@ -172,6 +190,9 @@ Here we use the custom child class we created to run NEB relaxations using ML. T ``` ```{code-cell} ipython3 +--- +tags: ["skip-execution"] +--- # If you run the above cell -- dont run this one fmax = 0.05 # [eV / ang**2] delta_fmax_climb = 0.4 diff --git a/_static/logo.png b/_static/logo.png deleted file mode 100644 index ffb62c119..000000000 Binary files a/_static/logo.png and /dev/null differ diff --git a/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html b/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html index 1abbaf8cf..14446143c 100644 --- a/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html +++ b/autoapi/adsorbml/2023_neurips_challenge/challenge_eval/index.html @@ -8,7 +8,7 @@ -