Skip to content

Commit

Permalink
Merge pull request #647 from materialsvirtuallab/pre-commit-ci-update…
Browse files Browse the repository at this point in the history
…-config

pre-commit autoupdate
  • Loading branch information
shyuep authored Sep 18, 2024
2 parents b289424 + 495d58c commit 7ae5574
Show file tree
Hide file tree
Showing 18 changed files with 141 additions and 121 deletions.
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ci:

repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.5.0
rev: v0.6.3
hooks:
- id: ruff
args: [--fix]
Expand All @@ -22,12 +22,12 @@ repos:
- id: trailing-whitespace

- repo: https://github.com/psf/black
rev: 24.4.2
rev: 24.8.0
hooks:
- id: black

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.10.1
rev: v1.11.2
hooks:
- id: mypy

Expand Down
8 changes: 4 additions & 4 deletions notebooks/atomsets/composition_models.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
"metadata": {},
"outputs": [],
"source": [
"from __future__ import annotations\n",
"\n",
"import pandas as pd\n",
"\n",
"from maml.models import AtomSets\n",
"from maml.describers import SiteElementProperty\n",
"\n",
"from maml.models import AtomSets\n",
"\n",
"# the data contains the MP formation energy data\n",
"# 100 formula - formation energy\n",
Expand All @@ -33,9 +34,8 @@
"metadata": {},
"outputs": [],
"source": [
"from pymatgen.core import Element\n",
"\n",
"from megnet.data.crystal import get_elemental_embeddings\n",
"from pymatgen.core import Element\n",
"\n",
"embeddings = get_elemental_embeddings()\n",
"embeddings = {Element(i).Z: j for i, j in embeddings.items()}"
Expand Down
9 changes: 5 additions & 4 deletions notebooks/atomsets/structure_model.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
"metadata": {},
"outputs": [],
"source": [
"from mdml.db import MamlDB\n",
"import pandas as pd\n",
"from pymatgen.core import Structure\n",
"from __future__ import annotations\n",
"\n",
"import json\n",
"\n",
"from pymatgen.core import Structure\n",
"\n",
"from maml.models import AtomSets"
]
},
Expand All @@ -30,7 +31,7 @@
"metadata": {},
"outputs": [],
"source": [
"with open(\"mp_ef_100.json\", \"r\") as f:\n",
"with open(\"mp_ef_100.json\") as f:\n",
" data = json.load(f)\n",
"\n",
"structs = [Structure.from_dict(i) for i in data[\"structure\"]]\n",
Expand Down
35 changes: 14 additions & 21 deletions notebooks/bowsr/cgcnn_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,12 @@
"metadata": {},
"outputs": [],
"source": [
"from __future__ import annotations\n",
"\n",
"from pymatgen.core.periodic_table import get_el_sp\n",
"\n",
"from maml.apps.bowsr.model.cgcnn import CGCNN\n",
"from maml.apps.bowsr.optimizer import BayesianOptimizer\n",
"from pymatgen.core.periodic_table import get_el_sp\n",
"\n",
"model = CGCNN()\n",
"\n",
Expand Down Expand Up @@ -87,11 +90,11 @@
],
"source": [
"ef_cubic = model.predict_energy(cubic)\n",
"print(\"CGCNN predicted formation energy of cubic perovskite: {} eV/atom\".format(ef_cubic))\n",
"print(f\"CGCNN predicted formation energy of cubic perovskite: {ef_cubic} eV/atom\")\n",
"ef_compressed_cubic = model.predict_energy(compressed_cubic)\n",
"print(\"CGCNN predicted formation energy of compressed cubic perovskite: {} eV/atom\".format(ef_compressed_cubic))\n",
"print(f\"CGCNN predicted formation energy of compressed cubic perovskite: {ef_compressed_cubic} eV/atom\")\n",
"ef_expanded_cubic = model.predict_energy(expanded_cubic)\n",
"print(\"CGCNN predicted formation energy of expanded cubic perovskite: {} eV/atom\".format(ef_expanded_cubic))"
"print(f\"CGCNN predicted formation energy of expanded cubic perovskite: {ef_expanded_cubic} eV/atom\")"
]
},
{
Expand Down Expand Up @@ -124,9 +127,7 @@
"radius = max(round(expected_radius(compressed_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_compressed_cubic, _ = compressed_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"CGCNN predicted formation energy of relaxed compressed cubic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_compressed_cubic)\n",
" )\n",
" f\"CGCNN predicted formation energy of relaxed compressed cubic: {model.predict_energy(relaxed_from_compressed_cubic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -160,9 +161,7 @@
"radius = max(round(expected_radius(expanded_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_expanded_cubic, _ = expanded_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"CGCNN predicted formation energy of relaxed expanded cubic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_expanded_cubic)\n",
" )\n",
" f\"CGCNN predicted formation energy of relaxed expanded cubic: {model.predict_energy(relaxed_from_expanded_cubic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -190,16 +189,14 @@
],
"source": [
"ef_orthorhombic = model.predict_energy(orthorhombic)\n",
"print(\"CGCNN predicted formation energy of orthorhombic perovskite: {} eV/atom\".format(ef_orthorhombic))\n",
"print(f\"CGCNN predicted formation energy of orthorhombic perovskite: {ef_orthorhombic} eV/atom\")\n",
"ef_compressed_orthorhombic = model.predict_energy(compressed_orthorhombic)\n",
"print(\n",
" \"CGCNN predicted formation energy of compressed orthorhombic perovskite: {} eV/atom\".format(\n",
" ef_compressed_orthorhombic\n",
" )\n",
" f\"CGCNN predicted formation energy of compressed orthorhombic perovskite: {ef_compressed_orthorhombic} eV/atom\"\n",
")\n",
"ef_expanded_orthorhombic = model.predict_energy(expanded_orthorhombic)\n",
"print(\n",
" \"CGCNN predicted formation energy of expanded orthorhombic perovskite: {} eV/atom\".format(ef_expanded_orthorhombic)\n",
" f\"CGCNN predicted formation energy of expanded orthorhombic perovskite: {ef_expanded_orthorhombic} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -233,9 +230,7 @@
"radius = max(round(expected_radius(compressed_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_compressed_orthorhombic, _ = compressed_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"CGCNN predicted formation energy of relaxed compressed orthorhombic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_compressed_orthorhombic)\n",
" )\n",
" f\"CGCNN predicted formation energy of relaxed compressed orthorhombic: {model.predict_energy(relaxed_from_compressed_orthorhombic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -269,9 +264,7 @@
"radius = max(round(expected_radius(expanded_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_expanded_orthorhombic, _ = expanded_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"CGCNN predicted formation energy of relaxed expanded orthorhombic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_expanded_orthorhombic)\n",
" )\n",
" f\"CGCNN predicted formation energy of relaxed expanded orthorhombic: {model.predict_energy(relaxed_from_expanded_orthorhombic)} eV/atom\"\n",
")"
]
},
Expand Down
36 changes: 14 additions & 22 deletions notebooks/bowsr/megnet_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@
}
],
"source": [
"from __future__ import annotations\n",
"\n",
"import os\n",
"\n",
"os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"-1\"\n",
"import tensorflow as tf\n",
"from pymatgen.core.periodic_table import get_el_sp\n",
"\n",
"from maml.apps.bowsr.model.megnet import MEGNet\n",
"from maml.apps.bowsr.optimizer import BayesianOptimizer\n",
"from pymatgen.core.periodic_table import get_el_sp\n",
"\n",
"model = MEGNet()\n",
"\n",
Expand Down Expand Up @@ -119,11 +121,11 @@
],
"source": [
"ef_cubic = model.predict_energy(cubic)\n",
"print(\"MEGNet predicted formation energy of cubic perovskite: {} eV/atom\".format(ef_cubic))\n",
"print(f\"MEGNet predicted formation energy of cubic perovskite: {ef_cubic} eV/atom\")\n",
"ef_compressed_cubic = model.predict_energy(compressed_cubic)\n",
"print(\"MEGNet predicted formation energy of compressed cubic perovskite: {} eV/atom\".format(ef_compressed_cubic))\n",
"print(f\"MEGNet predicted formation energy of compressed cubic perovskite: {ef_compressed_cubic} eV/atom\")\n",
"ef_expanded_cubic = model.predict_energy(expanded_cubic)\n",
"print(\"MEGNet predicted formation energy of expanded cubic perovskite: {} eV/atom\".format(ef_expanded_cubic))"
"print(f\"MEGNet predicted formation energy of expanded cubic perovskite: {ef_expanded_cubic} eV/atom\")"
]
},
{
Expand Down Expand Up @@ -156,9 +158,7 @@
"radius = max(round(expected_radius(compressed_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_compressed_cubic, _ = compressed_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"MEGNet predicted formation energy of relaxed compressed cubic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_compressed_cubic)\n",
" )\n",
" f\"MEGNet predicted formation energy of relaxed compressed cubic: {model.predict_energy(relaxed_from_compressed_cubic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -192,9 +192,7 @@
"radius = max(round(expected_radius(expanded_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_expanded_cubic, _ = expanded_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"MEGNet predicted formation energy of relaxed expanded cubic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_expanded_cubic)\n",
" )\n",
" f\"MEGNet predicted formation energy of relaxed expanded cubic: {model.predict_energy(relaxed_from_expanded_cubic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -222,16 +220,14 @@
],
"source": [
"ef_orthorhombic = model.predict_energy(orthorhombic)\n",
"print(\"MEGNet predicted formation energy of orthorhombic perovskite: {} eV/atom\".format(ef_orthorhombic))\n",
"print(f\"MEGNet predicted formation energy of orthorhombic perovskite: {ef_orthorhombic} eV/atom\")\n",
"ef_compressed_orthorhombic = model.predict_energy(compressed_orthorhombic)\n",
"print(\n",
" \"MEGNet predicted formation energy of compressed orthorhombic perovskite: {} eV/atom\".format(\n",
" ef_compressed_orthorhombic\n",
" )\n",
" f\"MEGNet predicted formation energy of compressed orthorhombic perovskite: {ef_compressed_orthorhombic} eV/atom\"\n",
")\n",
"ef_expanded_orthorhombic = model.predict_energy(expanded_orthorhombic)\n",
"print(\n",
" \"MEGNet predicted formation energy of expanded orthorhombic perovskite: {} eV/atom\".format(ef_expanded_orthorhombic)\n",
" f\"MEGNet predicted formation energy of expanded orthorhombic perovskite: {ef_expanded_orthorhombic} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -265,9 +261,7 @@
"radius = max(round(expected_radius(compressed_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_compressed_orthorhombic, _ = compressed_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"MEGNet predicted formation energy of relaxed compressed orthorhombic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_compressed_orthorhombic)\n",
" )\n",
" f\"MEGNet predicted formation energy of relaxed compressed orthorhombic: {model.predict_energy(relaxed_from_compressed_orthorhombic)} eV/atom\"\n",
")"
]
},
Expand Down Expand Up @@ -301,9 +295,7 @@
"radius = max(round(expected_radius(expanded_optimizer.structure) * 0.6, 2), 1.1)\n",
"relaxed_from_expanded_orthorhombic, _ = expanded_optimizer.get_optimized_structure_and_energy(radius=radius)\n",
"print(\n",
" \"MEGNet predicted formation energy of relaxed expanded orthorhombic: {} eV/atom\".format(\n",
" model.predict_energy(relaxed_from_expanded_orthorhombic)\n",
" )\n",
" f\"MEGNet predicted formation energy of relaxed expanded orthorhombic: {model.predict_energy(relaxed_from_expanded_orthorhombic)} eV/atom\"\n",
")"
]
},
Expand Down
4 changes: 3 additions & 1 deletion notebooks/describer/site_describer.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
"metadata": {},
"outputs": [],
"source": [
"from pymatgen.core import Structure, Lattice\n",
"from __future__ import annotations\n",
"\n",
"from pymatgen.core import Lattice, Structure\n",
"\n",
"s = Structure(Lattice.cubic(3.147), [\"Mo\", \"Mo\"], [[0, 0, 0], [0.5, 0.5, 0.5]]) # a simple Mo bcc lattice"
]
Expand Down
16 changes: 10 additions & 6 deletions notebooks/direct/Example1_MPF2021.2.8.all.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,15 @@
"metadata": {},
"outputs": [],
"source": [
"from maml.sampling.direct import DIRECTSampler, BirchClustering, SelectKFromClusters\n",
"from __future__ import annotations\n",
"\n",
"import pickle\n",
"import numpy as np\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.ticker as mtick"
"import matplotlib.ticker as mtick\n",
"import numpy as np\n",
"\n",
"from maml.sampling.direct import BirchClustering, DIRECTSampler, SelectKFromClusters"
]
},
{
Expand Down Expand Up @@ -258,7 +262,7 @@
" explained_variance[:30] * 100,\n",
" \"o-\",\n",
")\n",
"plt.xlabel(\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.xlabel(r\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.ylabel(\"Explained variance\", size=20)\n",
"ax = plt.gca()\n",
"ax.yaxis.set_major_formatter(mtick.PercentFormatter())"
Expand Down Expand Up @@ -468,13 +472,13 @@
" x + 0.6,\n",
" scores_MPF_DIRECT,\n",
" width=0.3,\n",
" label=f\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MPF_DIRECT):.3f}\",\n",
" label=rf\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MPF_DIRECT):.3f}\",\n",
")\n",
"plt.bar(\n",
" x + 0.3,\n",
" scores_MPF_MS,\n",
" width=0.3,\n",
" label=f\"Manual, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MPF_MS):.3f}\",\n",
" label=rf\"Manual, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MPF_MS):.3f}\",\n",
")\n",
"plt.xticks(x + 0.45, x_ticks, size=16)\n",
"plt.yticks(np.linspace(0, 1.0, 6), size=16)\n",
Expand Down
22 changes: 13 additions & 9 deletions notebooks/direct/Example2_Ti-H.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,15 @@
"metadata": {},
"outputs": [],
"source": [
"from maml.sampling.direct import DIRECTSampler, BirchClustering, SelectKFromClusters, M3GNetStructure\n",
"from __future__ import annotations\n",
"\n",
"import pickle\n",
"import numpy as np\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.ticker as mtick"
"import matplotlib.ticker as mtick\n",
"import numpy as np\n",
"\n",
"from maml.sampling.direct import BirchClustering, DIRECTSampler, SelectKFromClusters"
]
},
{
Expand Down Expand Up @@ -182,7 +186,7 @@
" explained_variance[:30] * 100,\n",
" \"o-\",\n",
")\n",
"plt.xlabel(\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.xlabel(r\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.ylabel(\"Explained variance\", size=20)\n",
"ax = plt.gca()\n",
"ax.yaxis.set_major_formatter(mtick.PercentFormatter())"
Expand Down Expand Up @@ -421,10 +425,10 @@
" x + 0.6,\n",
" scores_DIRECT,\n",
" width=0.3,\n",
" label=f\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_DIRECT):.3f}\",\n",
" label=rf\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_DIRECT):.3f}\",\n",
")\n",
"plt.bar(\n",
" x + 0.3, scores_MS, width=0.3, label=f\"Manual, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MS):.3f}\"\n",
" x + 0.3, scores_MS, width=0.3, label=rf\"Manual, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_MS):.3f}\"\n",
")\n",
"plt.xticks(x + 0.45, x_ticks, size=16)\n",
"plt.yticks(np.linspace(0, 1.0, 6), size=16)\n",
Expand Down Expand Up @@ -570,7 +574,7 @@
" explained_variance[:30] * 100,\n",
" \"o-\",\n",
")\n",
"plt.xlabel(\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.xlabel(r\"i$^{\\mathrm{th}}$ PC\", size=20)\n",
"plt.ylabel(\"Explained variance\", size=20)\n",
"ax = plt.gca()\n",
"ax.yaxis.set_major_formatter(mtick.PercentFormatter())"
Expand Down Expand Up @@ -747,8 +751,8 @@
"x_ticks = [f\"PC {n+1}\" for n in range(len(x))]\n",
"\n",
"plt.figure(figsize=(15,4))\n",
"plt.bar(x+0.6, scores_TiH_DIRECT_birch, width=0.3, label=f\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_TiH_DIRECT_birch):.3f}\")\n",
"plt.bar(x+0.3, scores_TiH_MS, width=0.3, label=f\"MS, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_TiH_MS):.3f}\")\n",
"plt.bar(x+0.6, scores_TiH_DIRECT_birch, width=0.3, label=rf\"DIRECT, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_TiH_DIRECT_birch):.3f}\")\n",
"plt.bar(x+0.3, scores_TiH_MS, width=0.3, label=rf\"MS, $\\overline{{\\mathrm{{Coverage\\ score}}}}$ = {np.mean(scores_TiH_MS):.3f}\")\n",
"plt.xticks(x+0.45, x_ticks,size=16)\n",
"plt.yticks(np.linspace(0,1.,6),size=16)\n",
"plt.ylabel(\"Coverage score\", size=20)\n",
Expand Down
Loading

0 comments on commit 7ae5574

Please sign in to comment.