%23%20%2F%2F%2F%20script%0A%23%20requires-python%20%3D%20%22%3E%3D3.12%22%0A%23%20dependencies%20%3D%20%5B%0A%23%20%20%20%20%20%23%20Slides%205-7%20call%20the%20live%20services.%20Without%20these%20three%2C%20--sandbox%20builds%20an%0A%23%20%20%20%20%20%23%20environment%20where%20every%20demo%20raises%20ModuleNotFoundError%20the%20moment%20a%20button%20is%0A%23%20%20%20%20%20%23%20pressed%2C%20and%20the%20deck%20looks%20fine%20until%20you%20are%20standing%20in%20front%20of%20the%20room.%0A%23%20%20%20%20%20%22ase%3E%3D3.25%22%2C%20%20%20%20%20%20%20%23%20slides%206%20and%207%20build%20the%20Si%20cell%0A%23%20%20%20%20%20%22httpx%3E%3D0.28%22%2C%20%20%20%20%20%23%20slide%205%20calls%20%2Fv1%2Fhealth%0A%23%20%20%20%20%20%22marimo%3E%3D0.24%2C%3C0.25%22%2C%0A%23%20%20%20%20%20%22numpy%3E%3D2.0%22%2C%20%20%20%20%20%20%23%20pulled%20in%20by%20ase%20and%20the%20client%0A%23%20%5D%0A%23%20%2F%2F%2F%0A%0Aimport%20marimo%0A%0A__generated_with%20%3D%20%220.24.0%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Aasync%20def%20_()%3A%0A%20%20%20%20import%20sys%0A%0A%20%20%20%20if%20sys.platform%20%3D%3D%20%22emscripten%22%3A%0A%20%20%20%20%20%20%20%20import%20micropip%0A%20%20%20%20%20%20%20%20from%20js%20import%20self%20as%20js_self%0A%20%20%20%20%20%20%20%20from%20pyodide.http%20import%20open_url%0A%0A%20%20%20%20%20%20%20%20_worker_dir%20%3D%20str(js_self.location.href).rsplit(%22%2F%22%2C%201)%5B0%5D%0A%20%20%20%20%20%20%20%20_site_root%20%3D%20_worker_dir.rsplit(%22%2F%22%2C%201)%5B0%5D%20%2B%20%22%2F%22%0A%20%20%20%20%20%20%20%20%23%20The%20wheel's%20filename%20carries%20the%20client%20version.%20Reading%20it%20from%20the%20manifest%20that%0A%20%20%20%20%20%20%20%20%23%20scripts%2Fbuild_client_wheel.py%20writes%20keeps%20that%20version%20out%20of%20every%20notebook%2C%20so%0A%20%20%20%20%20%20%20%20%23%20a%20client%20release%20does%20not%20mean%20editing%20five%20files.%0A%20%20%20%20%20%20%20%20_wheel%20%3D%20open_url(_site_root%20%2B%20%22public%2Fclient-wheel.txt%22).read().strip()%0A%20%20%20%20%20%20%20%20await%20micropip.install(_site_root%20%2B%20%22public%2F%22%20%2B%20_wheel%2C%20deps%3DFalse)%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20from%20pathlib%20import%20Path%0A%0A%20%20%20%20%20%20%20%20_client_src%20%3D%20Path(__file__).resolve().parents%5B2%5D%20%2F%20%22client%22%20%2F%20%22src%22%0A%20%20%20%20%20%20%20%20if%20_client_src.exists()%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20sys.path.insert(0%2C%20str(_client_src))%0A%20%20%20%20client_path_ready%20%3D%20True%0A%20%20%20%20return%20(client_path_ready%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(client_path_ready)%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20%23%20The%20demo%20cells%20do%20%60from%20mlipschool_client%20import%20...%60%2C%20which%20only%20resolves%20after%20the%0A%20%20%20%20%23%20cell%20above%20has%20micropip-installed%20the%20wheel%20(Pyodide)%20or%20put%20client%2Fsrc%20on%20sys.path%0A%20%20%20%20%23%20(desktop).%20This%20assert%20is%20what%20holds%20that%20ordering%3A%20marimo%20builds%20its%20DAG%20from%20names%0A%20%20%20%20%23%20used%20in%20a%20cell%20*body*%20and%20silently%20drops%20a%20dependency%20that%20appears%20only%20in%20the%0A%20%20%20%20%23%20signature%20%E2%80%94%20it%20did%20exactly%20that%20to%20this%20notebook%20the%20first%20time%20it%20was%20saved%20from%20the%0A%20%20%20%20%23%20editor.%20Do%20not%20%22tidy%22%20it%20away.%0A%20%20%20%20assert%20client_path_ready%0A%0A%20%20%20%20%23%20Everything%20the%20deck%20says%20about%20where%20to%20go%2C%20in%20one%20place%3A%20the%20setup%20slide%20and%20all%0A%20%20%20%20%23%20three%20demos%20follow%20these.%20Production%20by%20default%2C%20because%20that%20is%20what%20runs%20in%20the%0A%20%20%20%20%23%20room%3B%20export%20MLIP_SCHOOL_ORACLE_URL%20and%20MLIP_SCHOOL_ACE_URL%20to%20rehearse%20against%20a%0A%20%20%20%20%23%20local%20stack.%20The%20demos%20are%20passed%20these%20explicitly%20rather%20than%20letting%20the%20client%0A%20%20%20%20%23%20resolve%20its%20own%20defaults%2C%20which%20would%20otherwise%20leave%20the%20health%20slide%20naming%20one%0A%20%20%20%20%23%20endpoint%20while%20the%20calls%20went%20to%20another.%0A%20%20%20%20import%20os%0A%0A%20%20%20%20BASE_URL%20%3D%20os.getenv(%22MLIP_SCHOOL_BASE_URL%22%2C%20%22https%3A%2F%2Fmlipschool.uk%22)%0A%20%20%20%20ORACLE_URL%20%3D%20os.getenv(%22MLIP_SCHOOL_ORACLE_URL%22%2C%20%22https%3A%2F%2Foracle.mlipschool.uk%22)%0A%20%20%20%20ACE_URL%20%3D%20os.getenv(%22MLIP_SCHOOL_ACE_URL%22%2C%20%22https%3A%2F%2Face.mlipschool.uk%22)%0A%0A%20%20%20%20%23%20Slide%207%20resumes%20this%20model.%20Fit%20it%20first%20with%3A%0A%20%20%20%20%23%20%20%20%20%20scripts%2Fuv%20run%20python%20notebooks%2Ftalks%2Fprepare_intro_demo.py%0A%20%20%20%20DEMO_KEY%20%3D%20%22intro-demo%22%0A%20%20%20%20MODEL_NAME%20%3D%20%22intro-demo%22%0A%20%20%20%20return%20ACE_URL%2C%20BASE_URL%2C%20DEMO_KEY%2C%20MODEL_NAME%2C%20ORACLE_URL%2C%20mo%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Si%20from%20scratch%0A%0A%20%20%20%20%23%23%20Dataset%20craft%20for%20machine-learned%20interatomic%20potentials%0A%0A%20%20%20%20MLIP%20School%20and%20Workshop%20%26middot%3B%20Warwick%20%26middot%3B%207%20September%202026%0A%0A%20%20%20%20James%20Kermode%0A%0A%20%20%20%20**You%20will%20build%20a%20dataset%2C%20fit%20an%20ACE%20potential%2C%20watch%20it%20fail%2C%20and%20fix%20it.**%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Session%20Objectives%0A%0A%20%20%20%20Fitting%20a%20potential%20is%20the%20easy%20part.%20One%20command%2C%20and%20it%20can%20take%20as%20little%20as%20fifteen%20seconds.%0A%0A%20%20%20%20The%20hard%20part%20is%20deciding%20what%20goes%20in%20the%20dataset%2C%20and%20this%20often%20receives%20less%20focus.%0A%0A%20%20%20%20Today%20you%20will%20meet%2C%20in%20this%20order%3A%0A%0A%20%20%20%201.%20a%20potential%20with%20a%20perfect%20parity%20plot%20that%20gets%20a%20real%20property%20badly%20wrong%3B%0A%20%20%20%202.%20a%20repair%20that%20fixes%20that%20property%2C%20and%20still%20leaves%20the%20potential%20unstable%3B%0A%20%20%20%203.%20a%20rule%20that%20spends%20four%20labels%20to%20reach%20what%20naive%20sampling%20needs%20twelve%20for%3B%0A%20%20%20%204.%20the%20discovery%20that%20the%20%22ground%20truth%22%20we%20matched%20was%20itself%20a%20choice.%0A%0A%20%20%20%20A%20dataset%20is%20a%20design%20artefact.%20We%20are%20here%20to%20learn%20how%20to%20design%20it.%0A%0A%20%20%20%20There%20is%20also%20an%20optional%20extension%2C%20**E1x**%2C%20if%20you%20get%20ahead%3A%20the%20same%20lesson%20as%20(1)%2C%0A%20%20%20%20reached%20from%20the%20other%20direction%20%26mdash%3B%20a%20model%20complex%20enough%20to%20fit%20its%20training%20data%0A%20%20%20%20almost%20perfectly%2C%20and%20worse%20on%20data%20it%20has%20not%20seen.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20How%20the%20two%20hours%20are%20shaped%0A%0A%20%20%20%20%7C%20%7C%20%7C%20%7C%0A%20%20%20%20%7C---%7C%3A---%7C%3A---%7C%0A%20%20%20%20%7C%20**0%3A00**%20%7C%20Setup%20%7C%20Notebook%20launch%2C%20API%20keys%20%7C%0A%20%20%20%20%7C%20**0%3A10**%20%7C%20**E1**%20Oracle%2C%20first%20fit%2C%20why%20RMSE%20lies%20%7C%20build%2C%20label%2C%20fit%2C%20a%20vacancy%20%7C%0A%20%20%20%20%7C%20%7C%20**E1x**%20Choosing%20a%20basis%20*(optional)*%20%7C%20only%20if%20you%20finish%20E1%20early%20%7C%0A%20%20%20%20%7C%20**0%3A40**%20%7C%20**E2**%20Surfaces%3A%20extrapolation%20%7C%20the%20core%20of%20the%20session%20%7C%0A%20%20%20%20%7C%20**1%3A20**%20%7C%20**E3**%20Sampling%20versus%20selection%20%7C%20same%20budget%2C%20different%20rule%20%7C%0A%20%20%20%20%7C%20**1%3A50**%20%7C%20**C**%20%20Changing%20the%20ground%20truth%20%7C%20demonstrated%2C%20available%20to%20take%20home%20%7C%0A%0A%20%20%20%20E1%2C%20E2%2C%20E3%20and%20C%20run%20in%20order%20on%20the%20same%20key%3A%20each%20resumes%20the%20potential%20the%20last%20one%0A%20%20%20%20fitted%2C%20by%20name.%20**E1x%20is%20the%20exception**%20%26mdash%3B%20it%20brings%20its%20own%20labelled%20data%2C%20resumes%0A%20%20%20%20nothing%20and%20spends%20none%20of%20your%20150%20labels%2C%20so%20take%20it%20only%20if%20you%20are%20ahead%20and%20skip%20it%0A%20%20%20%20with%20no%20consequence%20at%20all.%0A%0A%20%20%20%20Model%20solutions%20will%20be%20released%20as%20we%20go%20along%20to%20help%20anyone%20falling%20behind.%20Ask%20for%0A%20%20%20%20help%20rather%20than%20skipping%20ahead.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(BASE_URL%2C%20mo)%3A%0A%20%20%20%20mo.md(rf%22%22%22%0A%20%20%20%20%23%23%20Getting%20started%20(do%20this%20now!)%0A%0A%20%20%20%20**Everyone%2C%20on%20your%20own%20laptop%3A**%0A%0A%20%20%20%20%60%60%60bash%0A%20%20%20%20uvx%20mograder%20student%20%7BBASE_URL%7D%2Fmograder.toml%0A%20%20%20%20%60%60%60%0A%0A%20%20%20%20That%20is%20the%20whole%20install.%20%60uvx%60%20fetches%20what%20it%20needs%20and%20opens%20the%20notebook%0A%20%20%20%20browser.%20**Start%20it%20now**.%0A%0A%20%20%20%20*No%20%60uv%60%3F*%20%26nbsp%3B%20%60curl%20-LsSf%20https%3A%2F%2Fastral.sh%2Fuv%2Finstall.sh%20%7C%20sh%60%20(macOS%2FLinux)%2C%0A%20%20%20%20or%20%60winget%20install%20astral-sh.uv%60%20(Windows).%0A%0A%20%20%20%20**Backup%20%E2%80%94%20nothing%20to%20install%3A**%20open%20%3C%7BBASE_URL%7D%3E%20in%20a%20browser.%20Same%20notebooks%2C%0A%20%20%20%20running%20in%20WebAssembly.%20Slower%20to%20start%2C%20identical%20to%20use.%20If%20%60uvx%60%20fights%20you%2C%0A%20%20%20%20switch%20to%20this%20and%20keep%20moving%2C%20don't%20spend%20the%20session%20installing.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20health_button%20%3D%20mo.ui.run_button(label%3D%22Ask%20both%20services%20who%20they%20are%22)%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20rf%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%20You%20are%20not%20fitting%20on%20your%20laptop%0A%0A%20%20%20%20%20%20%20%20Two%20services%20do%20the%20heavy%20lifting.%20Your%20notebook%20only%20ever%20holds%20structures.%0A%0A%20%20%20%20%20%20%20%20-%20an%20**oracle**%20%E2%80%94%20a%20pinned%20MACE%20foundation%20model%2C%20the%20source%20of%20every%20label%20you%20spend%3B%0A%20%20%20%20%20%20%20%20-%20an%20**ACE%20workbench**%20%E2%80%94%20fits%2C%20evaluates%2C%20relaxes%20and%20runs%20dynamics%2C%20in%20Julia.%0A%0A%20%20%20%20%20%20%20%20%7Bhealth_button%7D%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%20(health_button%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(ACE_URL%2C%20ORACLE_URL%2C%20health_button%2C%20mo)%3A%0A%20%20%20%20mo.stop(not%20health_button.value%2C%20mo.md(%22*%26larr%3B%20press%20it*%22))%0A%0A%20%20%20%20import%20httpx%0A%0A%20%20%20%20_oracle%20%3D%20httpx.get(f%22%7BORACLE_URL%7D%2Fv1%2Fhealth%22%2C%20timeout%3D10).json()%0A%20%20%20%20_ace%20%3D%20httpx.get(f%22%7BACE_URL%7D%2Fv1%2Fhealth%22%2C%20timeout%3D10).json()%0A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20f%22%22%22%0A%20%20%20%20%20%20%20%20**Oracle**%20%26middot%3B%20checkpoint%20%60%7B_oracle.get(%22checkpoint%22)%7D%60%0A%20%20%20%20%20%20%20%20%26middot%3B%20sha256%20%60%7Bstr(_oracle.get(%22sha256%22))%5B%3A16%5D%7D%E2%80%A6%60%0A%20%20%20%20%20%20%20%20%26middot%3B%20heads%20%60%7B%22%2C%20%22.join(_oracle.get(%22heads%22%2C%20%7B%7D))%7D%60%0A%0A%20%20%20%20%20%20%20%20**Workbench**%20%26middot%3B%20backend%20%60%7B_ace.get(%22workbench_backend%22)%7D%60%0A%20%20%20%20%20%20%20%20%26middot%3B%20descriptor%20basis%20%60%7B_ace.get(%22descriptor_basis%22%2C%20%7B%7D).get(%22id%22)%7D%60%0A%0A%20%20%20%20%20%20%20%20The%20checkpoint%20is%20pinned%20and%20checksummed%2C%20and%20the%20descriptor%20basis%20is%20versioned%2C%0A%20%20%20%20%20%20%20%20so%20all%20coverage%20plots%20are%20comparable.%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20label_button%20%3D%20mo.ui.run_button(label%3D%22Spend%20two%20labels%22)%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20rf%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%20Labels%20cost.%20%0A%0A%20%20%20%20%20%20%20%20Imagine%20these%20are%20real%20DFT%20calculations!%0A%0A%20%20%20%20%20%20%20%20You%20have%20**150%20labels**.%20Every%20structure%20you%20send%20the%20oracle%20spends%20one.%20%0A%0A%20%20%20%20%20%20%20%20With%20unlimited%20labels%20there%20would%20be%20no%20craft%2C%20only%20compute.%0A%0A%20%20%20%20%20%20%20%20%7Blabel_button%7D%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%20(label_button%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(ACE_URL%2C%20DEMO_KEY%2C%20ORACLE_URL%2C%20label_button%2C%20mo)%3A%0A%20%20%20%20mo.stop(not%20label_button.value%2C%20mo.md(%22*%26larr%3B%20press%20it*%22))%0A%0A%20%20%20%20import%20asyncio%0A%0A%20%20%20%20from%20ase.build%20import%20bulk%0A%20%20%20%20from%20mlipschool_client%20import%20MLIPSchoolClient%2C%20resolve_config%0A%0A%20%20%20%20async%20def%20_spend()%3A%0A%20%20%20%20%20%20%20%20_structures%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20bulk(%22Si%22%2C%20%22diamond%22%2C%20a%3D5.43%2C%20cubic%3DTrue)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20bulk(%22Si%22%2C%20%22diamond%22%2C%20a%3D5.50%2C%20cubic%3DTrue)%2C%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20_config%20%3D%20resolve_config(oracle_url%3DORACLE_URL%2C%20ace_url%3DACE_URL%2C%20api_key%3DDEMO_KEY)%0A%20%20%20%20%20%20%20%20async%20with%20MLIPSchoolClient(_config)%20as%20_client%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20await%20_client.oracle_calculate(_structures)%0A%0A%20%20%20%20_labelled%2C%20_budget%20%3D%20asyncio.run(_spend())%0A%20%20%20%20_energy%20%3D%20_labelled%5B0%5D.get_potential_energy()%0A%20%20%20%20_fmax%20%3D%20abs(_labelled%5B0%5D.get_forces()).max()%0A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20f%22%22%22%0A%20%20%20%20%20%20%20%20Two%20structures%20in%2C%20energies%20and%20forces%20back%3A%0A%0A%20%20%20%20%20%20%20%20-%20%60E%20%3D%20%7B_energy%3A.4f%7D%20eV%60%20for%20%7Blen(_labelled%5B0%5D)%7D%20atoms%20%26nbsp%3B%0A%20%20%20%20%20%20%20%20%20%20(%60%7B_energy%20%2F%20len(_labelled%5B0%5D)%3A.4f%7D%60%20eV%2Fatom)%0A%20%20%20%20%20%20%20%20-%20largest%20force%20component%20%60%7B_fmax%3A.2e%7D%20eV%2F%C3%85%60%20%E2%80%94%20a%20relaxed%20diamond%20cell%2C%20as%20it%20should%20be%0A%0A%20%20%20%20%20%20%20%20**Budget%3A%20%7B_budget%5B%22used%22%5D%7D%2F%7B_budget%5B%22limit%22%5D%7D%2C%20%7B_budget%5B%22remaining%22%5D%7D%20left.**%0A%0A%20%20%20%20%20%20%20%20Send%20the%20same%20structure%20twice%20and%20it%20is%20free%20%E2%80%94%20labels%20are%20content-addressed.%20Re-running%0A%20%20%20%20%20%20%20%20a%20cell%20never%20costs%20you.%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(MODEL_NAME%2C%20mo)%3A%0A%20%20%20%20resume_button%20%3D%20mo.ui.run_button(label%3Df%22Resume%20'%7BMODEL_NAME%7D'%22)%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20rf%22%22%22%0A%20%20%20%20%20%20%20%20%23%23%20Your%20potentials%20outlive%20your%20notebook%0A%0A%20%20%20%20%20%20%20%20Fitted%20potentials%20live%20on%20the%20workbench%20under%20a%20**name**%2C%20tied%20to%20your%20key.%0A%0A%20%20%20%20%20%20%20%20This%20is%20why%20the%20notebooks%20chain%3A%20E2%20does%20not%20re-fit%20E1's%20potential%2C%20it%20reuses%20it.%0A%20%20%20%20%20%20%20%20Close%20your%20tab%2C%20reopen%20it%2C%20and%20everything%20is%20still%20there.%0A%0A%20%20%20%20%20%20%20%20%7Bresume_button%7D%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%20(resume_button%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(ACE_URL%2C%20DEMO_KEY%2C%20MODEL_NAME%2C%20ORACLE_URL%2C%20mo%2C%20resume_button)%3A%0A%20%20%20%20mo.stop(not%20resume_button.value%2C%20mo.md(%22*%26larr%3B%20press%20it*%22))%0A%0A%20%20%20%20import%20asyncio%20as%20_asyncio%0A%0A%20%20%20%20from%20ase.build%20import%20bulk%20as%20_bulk%0A%20%20%20%20from%20mlipschool_client%20import%20MLIPSchoolClient%20as%20_Client%0A%20%20%20%20from%20mlipschool_client%20import%20resolve_config%20as%20_resolve%0A%0A%20%20%20%20async%20def%20_resume()%3A%0A%20%20%20%20%20%20%20%20_structure%20%3D%20_bulk(%22Si%22%2C%20%22diamond%22%2C%20a%3D5.43%2C%20cubic%3DTrue)%0A%20%20%20%20%20%20%20%20_config%20%3D%20_resolve(oracle_url%3DORACLE_URL%2C%20ace_url%3DACE_URL%2C%20api_key%3DDEMO_KEY)%0A%20%20%20%20%20%20%20%20async%20with%20_Client(_config)%20as%20_client%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20_model%20%3D%20await%20_client.load_model(MODEL_NAME)%0A%20%20%20%20%20%20%20%20%20%20%20%20_evaluated%20%3D%20await%20_model.evaluate(%5B_structure%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20_model%2C%20_evaluated%5B0%5D%0A%0A%20%20%20%20_model%2C%20_atoms%20%3D%20_asyncio.run(_resume())%0A%0A%20%20%20%20mo.md(%0A%20%20%20%20%20%20%20%20f%22%22%22%0A%20%20%20%20%20%20%20%20%60load_model(%22%7BMODEL_NAME%7D%22)%60%20%26rarr%3B%20%60%7B_model.model_id%5B%3A12%5D%7D%E2%80%A6%60%2C%20fitted%20earlier%2C%20no%20refit.%0A%0A%20%20%20%20%20%20%20%20Evaluating%20one%20Si%20cell%20with%20it%3A%20**%7B_atoms.get_potential_energy()%3A.4f%7D%20eV**.%0A%0A%20%20%20%20%20%20%20%20One%20line%2C%20no%20files%2C%20no%20paths.%20That%20is%20the%20whole%20handover%20between%20notebooks.%0A%20%20%20%20%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Summary%0A%0A%20%20%20%201.%20**150%20labels.**%20Spend%20them%20carefully.%20Re-runs%20are%20free%3B%20new%20structures%20are%20not.%0A%20%20%20%202.%20**The%20checks%20are%20hints%2C%20not%20marks.**%20Nothing%20here%20is%20assessed.%20A%20red%20check%20is%0A%20%20%20%20%20%20%20information%20about%20your%20dataset%2C%20which%20is%20the%20entire%20subject%20of%20the%20session.%0A%20%20%20%203.%20**Run%20E1%2C%20E2%2C%20E3%20and%20C%20in%20order%2C%20on%20one%20key.**%20Each%20continues%20from%20what%20the%20last%0A%20%20%20%20%20%20%20fitted.%20**E1x%20is%20optional%20and%20standalone**%20%26mdash%3B%20it%20costs%20no%20labels%2C%20so%20it%20is%20there%0A%20%20%20%20%20%20%20if%20you%20are%20ahead%2C%20not%20something%20to%20catch%20up%20on.%0A%20%20%20%204.%20**Ask%20for%20help%20early!**%0A%0A%20%20%20%20%23%23%23%20Open%20E1%20and%20start.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
bb2ebcccdc51c7e73f0638705a807c51