{ "cells": [ { "cell_type": "markdown", "id": "3bfbbe0f-7cbd-4eaf-8aae-87bc2d6a60d7", "metadata": {}, "source": [ "## Initial imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "fa73a670-239a-4e7a-b1b8-809ce33868fe", "metadata": {}, "outputs": [], "source": [ "from scm.simple_active_learning import SimpleActiveLearningJob\n", "import scm.plams as plams\n", "from scm.external_engines.core import interface_is_installed\n", "\n", "assert interface_is_installed(\n", " \"m3gnet\"\n", "), \"You must first install m3gnet with the AMS package manager\"" ] }, { "cell_type": "markdown", "id": "c301ebab-6275-4b01-b418-aaa3b22d7ab5", "metadata": {}, "source": [ "## Initialize PLAMS" ] }, { "cell_type": "code", "execution_count": 2, "id": "ebe3a4bd-31d6-4005-b26a-f0a85f279ccc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PLAMS working folder: /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir\n" ] } ], "source": [ "plams.init()" ] }, { "cell_type": "markdown", "id": "7f3ef334-2ff2-4f95-a0c3-aea554b4ef40", "metadata": {}, "source": [ "## Input system" ] }, { "cell_type": "code", "execution_count": 3, "id": "32cb9500-2bfc-4aa3-90e1-9e34761eda07", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mol = plams.from_smiles(\"OCC=O\")\n", "for at in mol:\n", " at.properties = {}\n", "plams.plot_molecule(mol)" ] }, { "cell_type": "markdown", "id": "0fb9be77-c4fb-443e-b99d-8a0b38144ece", "metadata": {}, "source": [ "## Reference engine settings\n", "For time reasons we use the UFF force field as the reference method. Typically you would instead train to DFT using ADF, BAND, or Quantum ESPRESSO." ] }, { "cell_type": "code", "execution_count": 4, "id": "a9fb98ee-8d63-41cf-ac23-68f2ed1fe32c", "metadata": {}, "outputs": [], "source": [ "ref_s = plams.Settings()\n", "ref_s.input.ForceField.Type = \"UFF\"\n", "ref_s.runscript.nproc = 1" ] }, { "cell_type": "code", "execution_count": 5, "id": "887cb15d-f002-44f9-b48d-4b94c7559a4c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Engine ForceField\n", " Type UFF\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "print(plams.AMSJob(settings=ref_s).get_input())" ] }, { "cell_type": "markdown", "id": "05d57a71-1949-4e31-bd08-d50cb267b84f", "metadata": {}, "source": [ "## Molecular dynamics settings\n", "Here, we use the convenient ``AMSNVTJob`` recipe to easily initialize sone MD settings." ] }, { "cell_type": "code", "execution_count": 6, "id": "84cc7436-7642-44d6-b71a-e40b21983324", "metadata": {}, "outputs": [], "source": [ "md_s = plams.AMSNVTJob(temperature=300, timestep=0.5, nsteps=10000).settings" ] }, { "cell_type": "code", "execution_count": 7, "id": "b65a0b3b-5a85-450b-99c9-8d0455fea794", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MolecularDynamics\n", " BinLog\n", " DipoleMoment False\n", " PressureTensor False\n", " Time False\n", " End\n", " CalcPressure False\n", " Checkpoint\n", " Frequency 1000000\n", " End\n", " InitialVelocities\n", " Temperature 300\n", " Type Random\n", " End\n", " NSteps 10000\n", " Thermostat\n", " Tau 200.0\n", " Temperature 300\n", " Type NHC\n", " End\n", " TimeStep 0.5\n", " Trajectory\n", " SamplingFreq 100\n", " WriteBonds True\n", " WriteCharges True\n", " WriteEngineGradients False\n", " WriteMolecules True\n", " WriteVelocities True\n", " End\n", "End\n", "\n", "Task MolecularDynamics\n", "\n", "\n" ] } ], "source": [ "print(plams.AMSJob(settings=md_s).get_input())" ] }, { "cell_type": "markdown", "id": "4d28816a-acb7-494c-94ba-1f9174a28040", "metadata": {}, "source": [ "## ParAMS ML Training settings\n", "\n", "(Technical note: When using ``SimpleActiveLearningJob`` the ParAMS settings go under ``input.ams``. When using ``ParAMSJob`` the settings instead simply go under ``input``. See the ParAMS Python tutorials.)" ] }, { "cell_type": "code", "execution_count": 8, "id": "c09a69c3-46f5-434c-8fea-ce3086b4fa39", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MachineLearning\n", " Backend M3GNet\n", " CommitteeSize 1\n", " M3GNet\n", " Model UniversalPotential\n", " End\n", " MaxEpochs 200\n", "End\n", "\n" ] } ], "source": [ "ml_s = plams.Settings()\n", "ml_s.input.ams.MachineLearning.Backend = \"M3GNet\"\n", "ml_s.input.ams.MachineLearning.CommitteeSize = 1\n", "ml_s.input.ams.MachineLearning.M3GNet.Model = \"UniversalPotential\"\n", "ml_s.input.ams.MachineLearning.MaxEpochs = 200\n", "print(SimpleActiveLearningJob(settings=ml_s).get_input())" ] }, { "cell_type": "markdown", "id": "744a497c-52d9-4ac3-97f8-7d41c1f38b5d", "metadata": {}, "source": [ "## Active learning settings" ] }, { "cell_type": "code", "execution_count": 9, "id": "5346a6f6-245d-429a-a948-fdf0f9567636", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ActiveLearning\n", " Steps\n", " Geometric\n", " NumSteps 5\n", " Start 10\n", " End\n", " Type Geometric\n", " End\n", "End\n", "\n" ] } ], "source": [ "al_s = plams.Settings()\n", "al_s.input.ams.ActiveLearning.Steps.Type = \"Geometric\"\n", "al_s.input.ams.ActiveLearning.Steps.Geometric.Start = 10 # 10 MD frames\n", "al_s.input.ams.ActiveLearning.Steps.Geometric.NumSteps = 5 # 10 AL steps\n", "print(SimpleActiveLearningJob(settings=al_s).get_input())" ] }, { "cell_type": "markdown", "id": "b48608ca-c95f-4388-8fd8-743116542a12", "metadata": {}, "source": [ "## Simple Active Learning Job" ] }, { "cell_type": "code", "execution_count": 10, "id": "8953e8cc-7c71-4e14-8ad1-5f07455587db", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ActiveLearning\n", " Steps\n", " Geometric\n", " NumSteps 5\n", " Start 10\n", " End\n", " Type Geometric\n", " End\n", "End\n", "MachineLearning\n", " Backend M3GNet\n", " CommitteeSize 1\n", " M3GNet\n", " Model UniversalPotential\n", " End\n", " MaxEpochs 200\n", "End\n", "MolecularDynamics\n", " BinLog\n", " DipoleMoment False\n", " PressureTensor False\n", " Time False\n", " End\n", " CalcPressure False\n", " Checkpoint\n", " Frequency 1000000\n", " End\n", " InitialVelocities\n", " Temperature 300.0\n", " Type Random\n", " End\n", " NSteps 10000\n", " Thermostat\n", " Tau 200.0\n", " Temperature 300.0\n", " Type NHC\n", " End\n", " TimeStep 0.5\n", " Trajectory\n", " SamplingFreq 100\n", " WriteBonds True\n", " WriteCharges True\n", " WriteEngineGradients False\n", " WriteMolecules True\n", " WriteVelocities True\n", " End\n", "End\n", "Task MolecularDynamics\n", "\n", "Engine ForceField\n", " Type UFF\n", "EndEngine\n", "\n", "System\n", " Atoms\n", " O 1.5185424677 1.2528427606 -0.3382346351 \n", " C 1.0167107700 0.2231953999 0.1069866215 \n", " C -0.3341736669 -0.1931701775 -0.3199821682 \n", " O -1.3067693409 0.4447398660 0.4319048572 \n", " H 1.6797677292 -0.4284512471 0.6676972986 \n", " H -0.4715138766 0.0855120883 -1.3968084763 \n", " H -0.4208687404 -1.2969328351 -0.3134514232 \n", " H -1.6816953421 -0.0877358551 1.1618879254 \n", " End\n", " BondOrders\n", " 1 2 2.0\n", " 2 3 1.0\n", " 3 4 1.0\n", " 2 5 1.0\n", " 3 6 1.0\n", " 3 7 1.0\n", " 4 8 1.0\n", " End\n", " Charge 0\n", "End\n", "\n" ] } ], "source": [ "settings = ref_s + md_s + ml_s + al_s\n", "job = SimpleActiveLearningJob(settings=settings, molecule=mol, name=\"sal\")\n", "print(job.get_input())" ] }, { "cell_type": "markdown", "id": "4276ca88-16eb-48fb-93cf-c31345772553", "metadata": {}, "source": [ "## Run the job" ] }, { "cell_type": "code", "execution_count": 11, "id": "362aec18-7918-461f-874b-9351ec9ec712", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[31.01|17:43:33] JOB sal STARTED\n", "[31.01|17:43:33] JOB sal RUNNING\n", "[31.01|17:43:34] Simple Active Learning 2023.205, Nodes: 1, Procs: 1\n", "[31.01|17:43:36] Composition of main system: C2H4O2\n", "[31.01|17:43:36] All REFERENCE calculations will be performed with the following ForceField engine:\n", "[31.01|17:43:36]\n", "Engine forcefield\n", " type UFF\n", "EndEngine\n", "\n", "\n", "[31.01|17:43:36] The following are the settings for the to-be-trained MACHINE LEARNING model:\n", "[31.01|17:43:36]\n", "MachineLearning\n", " Backend M3GNet\n", " CommitteeSize 1\n", " M3GNet\n", " Model UniversalPotential\n", " End\n", " MaxEpochs 200\n", "End\n", "\n", "[31.01|17:43:36] A single model will be trained (no committee).\n", "[31.01|17:43:36] The ACTIVE LEARNING loop will contain 5 steps, using the following schema:\n", "[31.01|17:43:36] Active Learning Step 1: 10 MD Steps (cumulative: 10)\n", "[31.01|17:43:36] Active Learning Step 2: 46 MD Steps (cumulative: 56)\n", "[31.01|17:43:36] Active Learning Step 3: 260 MD Steps (cumulative: 316)\n", "[31.01|17:43:36] Active Learning Step 4: 1462 MD Steps (cumulative: 1778)\n", "[31.01|17:43:36] Active Learning Step 5: 8222 MD Steps (cumulative: 10000)\n", "[31.01|17:43:36] Total number of MD Steps: 10000\n", "[31.01|17:43:36] Max attempts per active learning step: 15\n", "[31.01|17:43:36]\n", "[31.01|17:43:36] Tip: create a file called SKIP_STEP to skip an active learning step and move on to the next!\n", "[31.01|17:43:36]\n", "[31.01|17:43:36] Running initial reference MD for constructing initial training set...\n", "[31.01|17:43:37] Expanding training and validation sets....\n", "[31.01|17:43:37] Adding frames 2, 3, 4 from initial_reference_calculations/ams.rkf to training set.\n", "[31.01|17:43:37] Adding frames 1 from initial_reference_calculations/ams.rkf to validation set.\n", "[31.01|17:43:37] Current # training set entries: 3\n", "[31.01|17:43:37] Current # validation set entries: 1\n", "[31.01|17:43:37] Storing data in initial_reference_data\n", "[31.01|17:43:37] Deleting initial_reference_calculations\n", "[31.01|17:43:37] Initial reference data has been created. Storing data in folder: initial_reference_data\n", "[31.01|17:43:37] Running initial ParAMS training in folder: initial_training\n", "[31.01|17:43:39] JOB m3gnet STARTED\n", "[31.01|17:43:39] Starting m3gnet.prerun()\n", "[31.01|17:43:39] m3gnet.prerun() finished\n", "[31.01|17:43:39] JOB m3gnet RUNNING\n", "[31.01|17:43:39] Executing m3gnet.run\n", "[31.01|17:44:04] training_set Epoch: 0 Loss: 0.001370\n", "[31.01|17:44:04] validation_set Epoch: 0 Loss: 0.069857\n", "[31.01|17:44:04] training_set Epoch: 10 Loss: 0.000821\n", "[31.01|17:44:04] validation_set Epoch: 10 Loss: 0.003661\n", "[31.01|17:44:05] training_set Epoch: 20 Loss: 0.000368\n", "[31.01|17:44:05] validation_set Epoch: 20 Loss: 0.004117\n", "[31.01|17:44:05] training_set Epoch: 30 Loss: 0.000160\n", "[31.01|17:44:05] validation_set Epoch: 30 Loss: 0.004883\n", "[31.01|17:44:06] training_set Epoch: 40 Loss: 0.000074\n", "[31.01|17:44:06] validation_set Epoch: 40 Loss: 0.002111\n", "[31.01|17:44:06] training_set Epoch: 50 Loss: 0.000040\n", "[31.01|17:44:06] validation_set Epoch: 50 Loss: 0.001035\n", "[31.01|17:44:07] training_set Epoch: 60 Loss: 0.000037\n", "[31.01|17:44:07] validation_set Epoch: 60 Loss: 0.001459\n", "[31.01|17:44:07] training_set Epoch: 70 Loss: 0.000030\n", "[31.01|17:44:07] validation_set Epoch: 70 Loss: 0.000749\n", "[31.01|17:44:08] training_set Epoch: 80 Loss: 0.000024\n", "[31.01|17:44:08] validation_set Epoch: 80 Loss: 0.001935\n", "[31.01|17:44:08] training_set Epoch: 90 Loss: 0.000021\n", "[31.01|17:44:08] validation_set Epoch: 90 Loss: 0.001082\n", "[31.01|17:44:09] training_set Epoch: 100 Loss: 0.000018\n", "[31.01|17:44:09] validation_set Epoch: 100 Loss: 0.000597\n", "[31.01|17:44:09] training_set Epoch: 110 Loss: 0.000015\n", "[31.01|17:44:09] validation_set Epoch: 110 Loss: 0.000949\n", "[31.01|17:44:10] training_set Epoch: 120 Loss: 0.000013\n", "[31.01|17:44:10] validation_set Epoch: 120 Loss: 0.000559\n", "[31.01|17:44:10] training_set Epoch: 130 Loss: 0.000012\n", "[31.01|17:44:10] validation_set Epoch: 130 Loss: 0.000625\n", "[31.01|17:44:11] training_set Epoch: 140 Loss: 0.000010\n", "[31.01|17:44:11] validation_set Epoch: 140 Loss: 0.000463\n", "[31.01|17:44:11] training_set Epoch: 150 Loss: 0.000009\n", "[31.01|17:44:11] validation_set Epoch: 150 Loss: 0.000463\n", "[31.01|17:44:12] training_set Epoch: 160 Loss: 0.000008\n", "[31.01|17:44:12] validation_set Epoch: 160 Loss: 0.000370\n", "[31.01|17:44:12] training_set Epoch: 170 Loss: 0.000007\n", "[31.01|17:44:12] validation_set Epoch: 170 Loss: 0.000337\n", "[31.01|17:44:13] training_set Epoch: 180 Loss: 0.000006\n", "[31.01|17:44:13] validation_set Epoch: 180 Loss: 0.000305\n", "[31.01|17:44:13] training_set Epoch: 190 Loss: 0.000006\n", "[31.01|17:44:13] validation_set Epoch: 190 Loss: 0.000270\n", "[31.01|17:44:15] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:44:15] JOB m3gnet FINISHED\n", "[31.01|17:44:15] Starting m3gnet.postrun()\n", "[31.01|17:44:15] m3gnet.postrun() finished\n", "[31.01|17:44:15] JOB m3gnet SUCCESSFUL\n", "[31.01|17:44:26] Running all jobs through AMS....\n", "[31.01|17:44:26] Storing results/optimization/training_set_results/latest\n", "[31.01|17:44:26] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:44:26] PLAMS environment cleaned up successfully\n", "[31.01|17:44:26] PLAMS run finished. Goodbye\n", "[31.01|17:44:26] Initial model has been trained!\n", "[31.01|17:44:26] ParAMSResults training_set validation_set\n", "[31.01|17:44:26] energy MAE 0.0006 0.0006 eV\n", "[31.01|17:44:26] forces MAE 0.0313 0.0527 eV/angstrom\n", "[31.01|17:44:26]\n", "[31.01|17:44:26] Starting active learning loop...\n", "[31.01|17:44:26] ##########################\n", "[31.01|17:44:26] ### Step 1 / Attempt 1 ###\n", "[31.01|17:44:26] ##########################\n", "[31.01|17:44:26] MD Steps: 10 (cumulative: 10)\n", "[31.01|17:44:26] Current engine settings:\n", "[31.01|17:44:26]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/initial_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:44:26] Running step1_attempt1_simulation...\n", "[31.01|17:44:37] Job step1_attempt1_simulation finished\n", "[31.01|17:44:37] Deleting files that are no longer needed...\n", "[31.01|17:44:37] Launching reference calculation\n", "[31.01|17:44:38] Reference calculation finished!\n", "[31.01|17:44:38] Checking success for step1_attempt1\n", "[31.01|17:44:38] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[31.01|17:44:38] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:44:38] CheckEnergy: Actual Threshold\n", "[31.01|17:44:38] CheckEnergy: ΔE/8 -0.0180 0.2000 OK!\n", "[31.01|17:44:38]\n", "[31.01|17:44:38] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:44:38] CheckForces: ------------\n", "[31.01|17:44:38] CheckForces: Reference job from step1_attempt1_reference_calc1\n", "[31.01|17:44:38] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt1_simulation\n", "[31.01|17:44:38] CheckForces: ------------\n", "[31.01|17:44:38] CheckForces: Histogram of forces\n", "[31.01|17:44:38] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:44:38] CheckForces: -3 1 0\n", "[31.01|17:44:38] CheckForces: -2 3 1\n", "[31.01|17:44:38] CheckForces: -1 9 11\n", "[31.01|17:44:38] CheckForces: 0 8 11\n", "[31.01|17:44:38] CheckForces: 1 2 1\n", "[31.01|17:44:38] CheckForces: 2 1 0\n", "[31.01|17:44:38] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:44:38] CheckForces: Force components with an error exceeding the threshold:\n", "[31.01|17:44:38] CheckForces: Ref Pred Delta Threshold\n", "[31.01|17:44:38] CheckForces: -1.21 -0.50 0.71 0.57\n", "[31.01|17:44:38] CheckForces: 1.93 0.54 1.39 0.63\n", "[31.01|17:44:38] CheckForces: 0.98 0.20 0.78 0.55\n", "[31.01|17:44:38] CheckForces: -1.85 -0.10 1.74 0.62\n", "[31.01|17:44:38] CheckForces: -2.38 -0.78 1.60 0.68\n", "[31.01|17:44:38] CheckForces: -0.84 0.09 0.93 0.54\n", "[31.01|17:44:38] CheckForces: 2.27 0.67 1.60 0.67\n", "[31.01|17:44:38] CheckForces: 0.13 -0.51 0.65 0.51\n", "[31.01|17:44:38] CheckForces: Maximum deviation: 1.742 eV/angstrom\n", "[31.01|17:44:38] CheckForces: Actual Threshold\n", "[31.01|17:44:38] CheckForces: # > thr. 8 0 Not OK!\n", "[31.01|17:44:38] CheckForces: MAE 0.543 0.30 Not OK!\n", "[31.01|17:44:38] CheckForces: R^2 0.592 0.80 Not OK!\n", "[31.01|17:44:38] CheckForces: --------------------\n", "[31.01|17:44:38]\n", "[31.01|17:44:38] Adding results from step1_attempt1_reference_calc1 to training set\n", "[31.01|17:44:38] Current # training set entries: 4\n", "[31.01|17:44:38] Current # validation set entries: 1\n", "[31.01|17:44:38] Storing data in step1_attempt1_reference_data\n", "[31.01|17:44:38] Deleting initial_reference_data\n", "[31.01|17:44:38] Deleting step1_attempt1_reference_calc1\n", "[31.01|17:44:38]\n", "[31.01|17:44:38] Current (cumulative) timings:\n", "[31.01|17:44:38] Time (s) Fraction\n", "[31.01|17:44:38] Ref. calcs 2.04 0.033\n", "[31.01|17:44:38] ML training 48.63 0.794\n", "[31.01|17:44:38] Simulations 10.58 0.173\n", "[31.01|17:44:38]\n", "[31.01|17:44:38]\n", "[31.01|17:44:38]\n", "[31.01|17:44:38] --- Begin summary ---\n", "[31.01|17:44:38] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:44:38] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:44:38] --- End summary ---\n", "[31.01|17:44:38]\n", "[31.01|17:44:38] Running more reference calculations....\n", "[31.01|17:44:38] Running reference calculations on frames [6] from step1_attempt1_simulation/ams.rkf\n", "[31.01|17:44:38] Calculating 1 frames in total\n", "[31.01|17:44:38] Running step1_attempt1_reference_calc2\n", "[31.01|17:44:39] Reference calculations finished!\n", "[31.01|17:44:39] Adding results from step1_attempt1_reference_calc2 to validation set\n", "[31.01|17:44:39] Current # training set entries: 4\n", "[31.01|17:44:39] Current # validation set entries: 2\n", "[31.01|17:44:39] Storing data in step1_attempt1_reference_data\n", "[31.01|17:44:39] Deleting step1_attempt1_reference_calc2\n", "[31.01|17:44:39] Launching reparametrization job: step1_attempt1_training\n", "[31.01|17:44:40] JOB m3gnet STARTED\n", "[31.01|17:44:40] Starting m3gnet.prerun()\n", "[31.01|17:44:40] m3gnet.prerun() finished\n", "[31.01|17:44:40] JOB m3gnet RUNNING\n", "[31.01|17:44:40] Executing m3gnet.run\n", "[31.01|17:45:05] training_set Epoch: 0 Loss: 0.000565\n", "[31.01|17:45:05] validation_set Epoch: 0 Loss: 0.077548\n", "[31.01|17:45:05] training_set Epoch: 10 Loss: 0.001188\n", "[31.01|17:45:05] validation_set Epoch: 10 Loss: 0.012764\n", "[31.01|17:45:06] training_set Epoch: 20 Loss: 0.000858\n", "[31.01|17:45:06] validation_set Epoch: 20 Loss: 0.020567\n", "[31.01|17:45:06] training_set Epoch: 30 Loss: 0.000445\n", "[31.01|17:45:06] validation_set Epoch: 30 Loss: 0.014934\n", "[31.01|17:45:07] training_set Epoch: 40 Loss: 0.000296\n", "[31.01|17:45:07] validation_set Epoch: 40 Loss: 0.009303\n", "[31.01|17:45:07] training_set Epoch: 50 Loss: 0.000215\n", "[31.01|17:45:07] validation_set Epoch: 50 Loss: 0.007049\n", "[31.01|17:45:08] training_set Epoch: 60 Loss: 0.000145\n", "[31.01|17:45:08] validation_set Epoch: 60 Loss: 0.004677\n", "[31.01|17:45:08] training_set Epoch: 70 Loss: 0.000082\n", "[31.01|17:45:08] validation_set Epoch: 70 Loss: 0.001991\n", "[31.01|17:45:09] training_set Epoch: 80 Loss: 0.000051\n", "[31.01|17:45:09] validation_set Epoch: 80 Loss: 0.001933\n", "[31.01|17:45:09] training_set Epoch: 90 Loss: 0.000037\n", "[31.01|17:45:09] validation_set Epoch: 90 Loss: 0.001878\n", "[31.01|17:45:10] training_set Epoch: 100 Loss: 0.000031\n", "[31.01|17:45:10] validation_set Epoch: 100 Loss: 0.001710\n", "[31.01|17:45:10] training_set Epoch: 110 Loss: 0.000027\n", "[31.01|17:45:10] validation_set Epoch: 110 Loss: 0.001554\n", "[31.01|17:45:11] training_set Epoch: 120 Loss: 0.000025\n", "[31.01|17:45:11] validation_set Epoch: 120 Loss: 0.001411\n", "[31.01|17:45:11] training_set Epoch: 130 Loss: 0.000023\n", "[31.01|17:45:11] validation_set Epoch: 130 Loss: 0.001322\n", "[31.01|17:45:12] training_set Epoch: 140 Loss: 0.000022\n", "[31.01|17:45:12] validation_set Epoch: 140 Loss: 0.001259\n", "[31.01|17:45:12] training_set Epoch: 150 Loss: 0.000020\n", "[31.01|17:45:12] validation_set Epoch: 150 Loss: 0.001211\n", "[31.01|17:45:13] training_set Epoch: 160 Loss: 0.000019\n", "[31.01|17:45:13] validation_set Epoch: 160 Loss: 0.001169\n", "[31.01|17:45:13] training_set Epoch: 170 Loss: 0.000018\n", "[31.01|17:45:13] validation_set Epoch: 170 Loss: 0.001135\n", "[31.01|17:45:14] training_set Epoch: 180 Loss: 0.000017\n", "[31.01|17:45:14] validation_set Epoch: 180 Loss: 0.001105\n", "[31.01|17:45:14] training_set Epoch: 190 Loss: 0.000016\n", "[31.01|17:45:14] validation_set Epoch: 190 Loss: 0.001078\n", "[31.01|17:45:16] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:45:16] JOB m3gnet FINISHED\n", "[31.01|17:45:16] Starting m3gnet.postrun()\n", "[31.01|17:45:16] m3gnet.postrun() finished\n", "[31.01|17:45:16] JOB m3gnet SUCCESSFUL\n", "[31.01|17:45:27] Running all jobs through AMS....\n", "[31.01|17:45:28] Storing results/optimization/training_set_results/latest\n", "[31.01|17:45:28] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:45:28] PLAMS environment cleaned up successfully\n", "[31.01|17:45:28] PLAMS run finished. Goodbye\n", "[31.01|17:45:28] ParAMSResults training_set validation_set\n", "[31.01|17:45:28] energy MAE 0.0042 0.0063 eV\n", "[31.01|17:45:28] forces MAE 0.0504 0.0809 eV/angstrom\n", "[31.01|17:45:28] Newly created parameter file/dir: step1_attempt1_training/results/optimization/m3gnet/m3gnet\n", "[31.01|17:45:28] Done!\n", "[31.01|17:45:28] Deleting initial_training\n", "[31.01|17:45:28] ##########################\n", "[31.01|17:45:28] ### Step 1 / Attempt 2 ###\n", "[31.01|17:45:28] ##########################\n", "[31.01|17:45:28] MD Steps: 10 (cumulative: 10)\n", "[31.01|17:45:28] Current engine settings:\n", "[31.01|17:45:28]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step1_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:45:28] Running step1_attempt2_simulation...\n", "[31.01|17:45:39] Job step1_attempt2_simulation finished\n", "[31.01|17:45:39] Deleting files that are no longer needed...\n", "[31.01|17:45:39] Launching reference calculation\n", "[31.01|17:45:40] Reference calculation finished!\n", "[31.01|17:45:40] Checking success for step1_attempt2\n", "[31.01|17:45:50] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[31.01|17:45:50] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:45:50] CheckEnergy: Actual Threshold\n", "[31.01|17:45:50] CheckEnergy: ΔE/8 -0.0034 0.2000 OK!\n", "[31.01|17:45:50] CheckEnergy: ΔΔE/8 -0.0045 0.0050 OK! (relative to step1_attempt1_simulation:MDStep10)\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:45:50] CheckForces: ------------\n", "[31.01|17:45:50] CheckForces: Reference job from step1_attempt2_reference_calc1\n", "[31.01|17:45:50] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt2_simulation\n", "[31.01|17:45:50] CheckForces: ------------\n", "[31.01|17:45:50] CheckForces: Histogram of forces\n", "[31.01|17:45:50] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:45:50] CheckForces: -2 1 0\n", "[31.01|17:45:50] CheckForces: -1 13 15\n", "[31.01|17:45:50] CheckForces: 0 8 7\n", "[31.01|17:45:50] CheckForces: 1 2 2\n", "[31.01|17:45:50] CheckForces: 2 0 0\n", "[31.01|17:45:50] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:45:50] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:45:50] CheckForces: Maximum deviation: 0.573 eV/angstrom\n", "[31.01|17:45:50] CheckForces: Actual Threshold\n", "[31.01|17:45:50] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:45:50] CheckForces: MAE 0.157 0.30 OK!\n", "[31.01|17:45:50] CheckForces: R^2 0.929 0.80 OK!\n", "[31.01|17:45:50] CheckForces: --------------------\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] Adding results from step1_attempt2_reference_calc1 to validation set\n", "[31.01|17:45:50] Current # training set entries: 4\n", "[31.01|17:45:50] Current # validation set entries: 3\n", "[31.01|17:45:50] Storing data in step1_attempt2_reference_data\n", "[31.01|17:45:50] Deleting step1_attempt1_reference_data\n", "[31.01|17:45:50] Deleting step1_attempt2_reference_calc1\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] Current (cumulative) timings:\n", "[31.01|17:45:50] Time (s) Fraction\n", "[31.01|17:45:50] Ref. calcs 3.86 0.031\n", "[31.01|17:45:50] ML training 97.72 0.794\n", "[31.01|17:45:50] Simulations 21.56 0.175\n", "[31.01|17:45:50]\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] Step 1 finished successfully!\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] --- Begin summary ---\n", "[31.01|17:45:50] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:45:50] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:45:50] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:45:50] --- End summary ---\n", "[31.01|17:45:50]\n", "[31.01|17:45:50] ##########################\n", "[31.01|17:45:50] ### Step 2 / Attempt 1 ###\n", "[31.01|17:45:50] ##########################\n", "[31.01|17:45:50] MD Steps: 46 (cumulative: 56)\n", "[31.01|17:45:50] Current engine settings:\n", "[31.01|17:45:50]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step1_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:45:50] Running step2_attempt1_simulation...\n", "[31.01|17:46:01] Job step2_attempt1_simulation finished\n", "[31.01|17:46:01] Deleting files that are no longer needed...\n", "[31.01|17:46:01] Deleting step1_attempt1_simulation\n", "[31.01|17:46:01] Launching reference calculation\n", "[31.01|17:46:02] Reference calculation finished!\n", "[31.01|17:46:02] Checking success for step2_attempt1\n", "[31.01|17:46:13] CheckEnergy: Checking energy for MDStep56, n_atoms = 8\n", "[31.01|17:46:13] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:46:13] CheckEnergy: Actual Threshold\n", "[31.01|17:46:13] CheckEnergy: ΔE/8 -0.0163 0.2000 OK!\n", "[31.01|17:46:13] CheckEnergy: ΔΔE/8 -0.0129 0.0050 Not OK! (relative to step1_attempt2_simulation:MDStep10)\n", "[31.01|17:46:13]\n", "[31.01|17:46:13] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:46:13] CheckForces: ------------\n", "[31.01|17:46:13] CheckForces: Reference job from step2_attempt1_reference_calc1\n", "[31.01|17:46:13] CheckForces: Prediction job from final frame (MDStep56) of step2_attempt1_simulation\n", "[31.01|17:46:13] CheckForces: ------------\n", "[31.01|17:46:13] CheckForces: Histogram of forces\n", "[31.01|17:46:13] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:46:13] CheckForces: -4 1 0\n", "[31.01|17:46:13] CheckForces: -3 0 1\n", "[31.01|17:46:13] CheckForces: -2 2 1\n", "[31.01|17:46:13] CheckForces: -1 10 9\n", "[31.01|17:46:13] CheckForces: 0 7 10\n", "[31.01|17:46:13] CheckForces: 1 3 3\n", "[31.01|17:46:13] CheckForces: 2 1 0\n", "[31.01|17:46:13] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:46:13] CheckForces: Force components with an error exceeding the threshold:\n", "[31.01|17:46:13] CheckForces: Ref Pred Delta Threshold\n", "[31.01|17:46:13] CheckForces: 2.25 1.18 1.07 0.67\n", "[31.01|17:46:13] CheckForces: -0.94 -0.37 0.57 0.55\n", "[31.01|17:46:13] CheckForces: Maximum deviation: 1.068 eV/angstrom\n", "[31.01|17:46:13] CheckForces: Actual Threshold\n", "[31.01|17:46:13] CheckForces: # > thr. 2 0 Not OK!\n", "[31.01|17:46:13] CheckForces: MAE 0.279 0.30 OK!\n", "[31.01|17:46:13] CheckForces: R^2 0.933 0.80 OK!\n", "[31.01|17:46:13] CheckForces: --------------------\n", "[31.01|17:46:13]\n", "[31.01|17:46:13] Adding results from step2_attempt1_reference_calc1 to training set\n", "[31.01|17:46:13] Current # training set entries: 5\n", "[31.01|17:46:13] Current # validation set entries: 3\n", "[31.01|17:46:13] Storing data in step2_attempt1_reference_data\n", "[31.01|17:46:13] Deleting step1_attempt2_reference_data\n", "[31.01|17:46:13] Deleting step2_attempt1_reference_calc1\n", "[31.01|17:46:13]\n", "[31.01|17:46:13] Current (cumulative) timings:\n", "[31.01|17:46:13] Time (s) Fraction\n", "[31.01|17:46:13] Ref. calcs 4.64 0.034\n", "[31.01|17:46:13] ML training 97.72 0.725\n", "[31.01|17:46:13] Simulations 32.51 0.241\n", "[31.01|17:46:13]\n", "[31.01|17:46:13]\n", "[31.01|17:46:13]\n", "[31.01|17:46:13] --- Begin summary ---\n", "[31.01|17:46:13] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:46:13] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:46:13] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:46:13] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:46:13] --- End summary ---\n", "[31.01|17:46:13]\n", "[31.01|17:46:13] Running more reference calculations....\n", "[31.01|17:46:13] Running reference calculations on frames [17] from step2_attempt1_simulation/ams.rkf\n", "[31.01|17:46:13] Calculating 1 frames in total\n", "[31.01|17:46:13] Running step2_attempt1_reference_calc2\n", "[31.01|17:46:13] Reference calculations finished!\n", "[31.01|17:46:14] Adding results from step2_attempt1_reference_calc2 to validation set\n", "[31.01|17:46:14] Current # training set entries: 5\n", "[31.01|17:46:14] Current # validation set entries: 4\n", "[31.01|17:46:14] Storing data in step2_attempt1_reference_data\n", "[31.01|17:46:14] Deleting step2_attempt1_reference_calc2\n", "[31.01|17:46:14] Launching reparametrization job: step2_attempt1_training\n", "[31.01|17:46:15] JOB m3gnet STARTED\n", "[31.01|17:46:15] Starting m3gnet.prerun()\n", "[31.01|17:46:15] m3gnet.prerun() finished\n", "[31.01|17:46:15] JOB m3gnet RUNNING\n", "[31.01|17:46:15] Executing m3gnet.run\n", "[31.01|17:46:39] training_set Epoch: 0 Loss: 0.000139\n", "[31.01|17:46:39] validation_set Epoch: 0 Loss: 0.070191\n", "[31.01|17:46:40] training_set Epoch: 10 Loss: 0.000339\n", "[31.01|17:46:40] validation_set Epoch: 10 Loss: 0.011495\n", "[31.01|17:46:40] training_set Epoch: 20 Loss: 0.000375\n", "[31.01|17:46:40] validation_set Epoch: 20 Loss: 0.009220\n", "[31.01|17:46:41] training_set Epoch: 30 Loss: 0.000277\n", "[31.01|17:46:41] validation_set Epoch: 30 Loss: 0.010914\n", "[31.01|17:46:41] training_set Epoch: 40 Loss: 0.000153\n", "[31.01|17:46:41] validation_set Epoch: 40 Loss: 0.009465\n", "[31.01|17:46:42] training_set Epoch: 50 Loss: 0.000098\n", "[31.01|17:46:42] validation_set Epoch: 50 Loss: 0.007721\n", "[31.01|17:46:42] training_set Epoch: 60 Loss: 0.000070\n", "[31.01|17:46:42] validation_set Epoch: 60 Loss: 0.006123\n", "[31.01|17:46:43] training_set Epoch: 70 Loss: 0.000056\n", "[31.01|17:46:43] validation_set Epoch: 70 Loss: 0.006239\n", "[31.01|17:46:43] training_set Epoch: 80 Loss: 0.000051\n", "[31.01|17:46:43] validation_set Epoch: 80 Loss: 0.006012\n", "[31.01|17:46:44] training_set Epoch: 90 Loss: 0.000043\n", "[31.01|17:46:44] validation_set Epoch: 90 Loss: 0.005937\n", "[31.01|17:46:44] training_set Epoch: 100 Loss: 0.000038\n", "[31.01|17:46:44] validation_set Epoch: 100 Loss: 0.005861\n", "[31.01|17:46:45] training_set Epoch: 110 Loss: 0.000034\n", "[31.01|17:46:45] validation_set Epoch: 110 Loss: 0.005772\n", "[31.01|17:46:45] training_set Epoch: 120 Loss: 0.000030\n", "[31.01|17:46:45] validation_set Epoch: 120 Loss: 0.005683\n", "[31.01|17:46:46] training_set Epoch: 130 Loss: 0.000026\n", "[31.01|17:46:46] validation_set Epoch: 130 Loss: 0.005601\n", "[31.01|17:46:46] training_set Epoch: 140 Loss: 0.000023\n", "[31.01|17:46:46] validation_set Epoch: 140 Loss: 0.005525\n", "[31.01|17:46:47] training_set Epoch: 150 Loss: 0.000021\n", "[31.01|17:46:47] validation_set Epoch: 150 Loss: 0.005458\n", "[31.01|17:46:47] training_set Epoch: 160 Loss: 0.000019\n", "[31.01|17:46:47] validation_set Epoch: 160 Loss: 0.005396\n", "[31.01|17:46:48] training_set Epoch: 170 Loss: 0.000017\n", "[31.01|17:46:48] validation_set Epoch: 170 Loss: 0.005336\n", "[31.01|17:46:48] training_set Epoch: 180 Loss: 0.000015\n", "[31.01|17:46:48] validation_set Epoch: 180 Loss: 0.005280\n", "[31.01|17:46:49] training_set Epoch: 190 Loss: 0.000014\n", "[31.01|17:46:49] validation_set Epoch: 190 Loss: 0.005225\n", "[31.01|17:46:50] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:46:50] JOB m3gnet FINISHED\n", "[31.01|17:46:50] Starting m3gnet.postrun()\n", "[31.01|17:46:50] m3gnet.postrun() finished\n", "[31.01|17:46:50] JOB m3gnet SUCCESSFUL\n", "[31.01|17:47:01] Running all jobs through AMS....\n", "[31.01|17:47:01] Storing results/optimization/training_set_results/latest\n", "[31.01|17:47:01] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:47:01] PLAMS environment cleaned up successfully\n", "[31.01|17:47:01] PLAMS run finished. Goodbye\n", "[31.01|17:47:01] ParAMSResults training_set validation_set\n", "[31.01|17:47:01] energy MAE 0.0067 0.0376 eV\n", "[31.01|17:47:01] forces MAE 0.0468 0.1445 eV/angstrom\n", "[31.01|17:47:01] Newly created parameter file/dir: step2_attempt1_training/results/optimization/m3gnet/m3gnet\n", "[31.01|17:47:01] Done!\n", "[31.01|17:47:01] Deleting step1_attempt1_training\n", "[31.01|17:47:01] ##########################\n", "[31.01|17:47:01] ### Step 2 / Attempt 2 ###\n", "[31.01|17:47:01] ##########################\n", "[31.01|17:47:01] MD Steps: 46 (cumulative: 56)\n", "[31.01|17:47:01] Current engine settings:\n", "[31.01|17:47:01]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step2_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:47:01] Running step2_attempt2_simulation...\n", "[31.01|17:47:13] Job step2_attempt2_simulation finished\n", "[31.01|17:47:13] Deleting files that are no longer needed...\n", "[31.01|17:47:13] Launching reference calculation\n", "[31.01|17:47:14] Reference calculation finished!\n", "[31.01|17:47:14] Checking success for step2_attempt2\n", "[31.01|17:47:25] CheckEnergy: Checking energy for MDStep56, n_atoms = 8\n", "[31.01|17:47:25] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:47:25] CheckEnergy: Actual Threshold\n", "[31.01|17:47:25] CheckEnergy: ΔE/8 0.0012 0.2000 OK!\n", "[31.01|17:47:25] CheckEnergy: ΔΔE/8 0.0017 0.0050 OK! (relative to step2_attempt1_simulation:MDStep56)\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:47:25] CheckForces: ------------\n", "[31.01|17:47:25] CheckForces: Reference job from step2_attempt2_reference_calc1\n", "[31.01|17:47:25] CheckForces: Prediction job from final frame (MDStep56) of step2_attempt2_simulation\n", "[31.01|17:47:25] CheckForces: ------------\n", "[31.01|17:47:25] CheckForces: Histogram of forces\n", "[31.01|17:47:25] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:47:25] CheckForces: -4 0 0\n", "[31.01|17:47:25] CheckForces: -3 1 1\n", "[31.01|17:47:25] CheckForces: -2 1 1\n", "[31.01|17:47:25] CheckForces: -1 10 11\n", "[31.01|17:47:25] CheckForces: 0 9 8\n", "[31.01|17:47:25] CheckForces: 1 2 3\n", "[31.01|17:47:25] CheckForces: 2 1 0\n", "[31.01|17:47:25] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:47:25] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:47:25] CheckForces: Maximum deviation: 0.392 eV/angstrom\n", "[31.01|17:47:25] CheckForces: Actual Threshold\n", "[31.01|17:47:25] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:47:25] CheckForces: MAE 0.104 0.30 OK!\n", "[31.01|17:47:25] CheckForces: R^2 0.980 0.80 OK!\n", "[31.01|17:47:25] CheckForces: --------------------\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] Adding results from step2_attempt2_reference_calc1 to training set\n", "[31.01|17:47:25] Current # training set entries: 6\n", "[31.01|17:47:25] Current # validation set entries: 4\n", "[31.01|17:47:25] Storing data in step2_attempt2_reference_data\n", "[31.01|17:47:25] Deleting step2_attempt1_reference_data\n", "[31.01|17:47:25] Deleting step2_attempt2_reference_calc1\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] Current (cumulative) timings:\n", "[31.01|17:47:25] Time (s) Fraction\n", "[31.01|17:47:25] Ref. calcs 7.06 0.036\n", "[31.01|17:47:25] ML training 145.41 0.740\n", "[31.01|17:47:25] Simulations 44.08 0.224\n", "[31.01|17:47:25]\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] Step 2 finished successfully!\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] --- Begin summary ---\n", "[31.01|17:47:25] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:47:25] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:47:25] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:47:25] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:47:25] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:47:25] --- End summary ---\n", "[31.01|17:47:25]\n", "[31.01|17:47:25] ##########################\n", "[31.01|17:47:25] ### Step 3 / Attempt 1 ###\n", "[31.01|17:47:25] ##########################\n", "[31.01|17:47:25] MD Steps: 260 (cumulative: 316)\n", "[31.01|17:47:25] Current engine settings:\n", "[31.01|17:47:25]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step2_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:47:25] Running step3_attempt1_simulation...\n", "[31.01|17:47:39] Job step3_attempt1_simulation finished\n", "[31.01|17:47:39] Deleting files that are no longer needed...\n", "[31.01|17:47:39] Deleting step1_attempt2_simulation\n", "[31.01|17:47:39] Deleting step2_attempt1_simulation\n", "[31.01|17:47:39] Launching reference calculation\n", "[31.01|17:47:40] Reference calculation finished!\n", "[31.01|17:47:40] Checking success for step3_attempt1\n", "[31.01|17:47:50] CheckEnergy: Checking energy for MDStep316, n_atoms = 8\n", "[31.01|17:47:50] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:47:50] CheckEnergy: Actual Threshold\n", "[31.01|17:47:50] CheckEnergy: ΔE/8 0.0014 0.2000 OK!\n", "[31.01|17:47:50] CheckEnergy: ΔΔE/8 0.0002 0.0050 OK! (relative to step2_attempt2_simulation:MDStep56)\n", "[31.01|17:47:50]\n", "[31.01|17:47:50] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:47:50] CheckForces: ------------\n", "[31.01|17:47:50] CheckForces: Reference job from step3_attempt1_reference_calc1\n", "[31.01|17:47:50] CheckForces: Prediction job from final frame (MDStep316) of step3_attempt1_simulation\n", "[31.01|17:47:50] CheckForces: ------------\n", "[31.01|17:47:50] CheckForces: Histogram of forces\n", "[31.01|17:47:50] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:47:50] CheckForces: -3 0 0\n", "[31.01|17:47:50] CheckForces: -2 2 1\n", "[31.01|17:47:50] CheckForces: -1 8 10\n", "[31.01|17:47:50] CheckForces: 0 13 11\n", "[31.01|17:47:50] CheckForces: 1 1 2\n", "[31.01|17:47:50] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:47:50] CheckForces: Force components with an error exceeding the threshold:\n", "[31.01|17:47:50] CheckForces: Ref Pred Delta Threshold\n", "[31.01|17:47:50] CheckForces: 0.14 1.11 0.98 0.51\n", "[31.01|17:47:50] CheckForces: Maximum deviation: 0.976 eV/angstrom\n", "[31.01|17:47:50] CheckForces: Actual Threshold\n", "[31.01|17:47:50] CheckForces: # > thr. 1 0 Not OK!\n", "[31.01|17:47:50] CheckForces: MAE 0.171 0.30 OK!\n", "[31.01|17:47:50] CheckForces: R^2 0.856 0.80 OK!\n", "[31.01|17:47:50] CheckForces: --------------------\n", "[31.01|17:47:50]\n", "[31.01|17:47:50] Adding results from step3_attempt1_reference_calc1 to training set\n", "[31.01|17:47:50] Current # training set entries: 7\n", "[31.01|17:47:50] Current # validation set entries: 4\n", "[31.01|17:47:50] Storing data in step3_attempt1_reference_data\n", "[31.01|17:47:50] Deleting step2_attempt2_reference_data\n", "[31.01|17:47:50] Deleting step3_attempt1_reference_calc1\n", "[31.01|17:47:50]\n", "[31.01|17:47:50] Current (cumulative) timings:\n", "[31.01|17:47:50] Time (s) Fraction\n", "[31.01|17:47:50] Ref. calcs 7.84 0.037\n", "[31.01|17:47:50] ML training 145.41 0.690\n", "[31.01|17:47:50] Simulations 57.37 0.272\n", "[31.01|17:47:50]\n", "[31.01|17:47:50]\n", "[31.01|17:47:51]\n", "[31.01|17:47:51] --- Begin summary ---\n", "[31.01|17:47:51] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:47:51] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:47:51] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:47:51] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:47:51] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:47:51] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:47:51] --- End summary ---\n", "[31.01|17:47:51]\n", "[31.01|17:47:51] Running more reference calculations....\n", "[31.01|17:47:51] Running reference calculations on frames [26, 28, 30] from step3_attempt1_simulation/ams.rkf\n", "[31.01|17:47:51] Calculating 3 frames in total\n", "[31.01|17:47:51] Running step3_attempt1_reference_calc2\n", "[31.01|17:47:51] Running step3_attempt1_reference_calc3\n", "[31.01|17:47:52] Running step3_attempt1_reference_calc4\n", "[31.01|17:47:53] Reference calculations finished!\n", "[31.01|17:47:53] Adding results from step3_attempt1_reference_calc2 to validation set\n", "[31.01|17:47:53] Adding results from step3_attempt1_reference_calc3 to training set\n", "[31.01|17:47:53] Adding results from step3_attempt1_reference_calc4 to training set\n", "[31.01|17:47:53] Current # training set entries: 9\n", "[31.01|17:47:53] Current # validation set entries: 5\n", "[31.01|17:47:53] Storing data in step3_attempt1_reference_data\n", "[31.01|17:47:53] Deleting step3_attempt1_reference_calc2\n", "[31.01|17:47:53] Deleting step3_attempt1_reference_calc3\n", "[31.01|17:47:53] Deleting step3_attempt1_reference_calc4\n", "[31.01|17:47:53] Launching reparametrization job: step3_attempt1_training\n", "[31.01|17:47:54] JOB m3gnet STARTED\n", "[31.01|17:47:54] Starting m3gnet.prerun()\n", "[31.01|17:47:54] m3gnet.prerun() finished\n", "[31.01|17:47:54] JOB m3gnet RUNNING\n", "[31.01|17:47:54] Executing m3gnet.run\n", "[31.01|17:48:39] training_set Epoch: 0 Loss: 0.003587\n", "[31.01|17:48:39] validation_set Epoch: 0 Loss: 0.009850\n", "[31.01|17:48:40] training_set Epoch: 10 Loss: 0.000570\n", "[31.01|17:48:40] validation_set Epoch: 10 Loss: 0.010250\n", "[31.01|17:48:41] training_set Epoch: 20 Loss: 0.000092\n", "[31.01|17:48:41] validation_set Epoch: 20 Loss: 0.006772\n", "[31.01|17:48:41] training_set Epoch: 30 Loss: 0.000063\n", "[31.01|17:48:41] validation_set Epoch: 30 Loss: 0.005755\n", "[31.01|17:48:42] training_set Epoch: 40 Loss: 0.000053\n", "[31.01|17:48:42] validation_set Epoch: 40 Loss: 0.005245\n", "[31.01|17:48:43] training_set Epoch: 50 Loss: 0.000044\n", "[31.01|17:48:43] validation_set Epoch: 50 Loss: 0.005616\n", "[31.01|17:48:44] training_set Epoch: 60 Loss: 0.000041\n", "[31.01|17:48:44] validation_set Epoch: 60 Loss: 0.005354\n", "[31.01|17:48:45] training_set Epoch: 70 Loss: 0.000035\n", "[31.01|17:48:45] validation_set Epoch: 70 Loss: 0.005564\n", "[31.01|17:48:45] training_set Epoch: 80 Loss: 0.000032\n", "[31.01|17:48:45] validation_set Epoch: 80 Loss: 0.004750\n", "[31.01|17:48:46] training_set Epoch: 90 Loss: 0.000030\n", "[31.01|17:48:46] validation_set Epoch: 90 Loss: 0.004704\n", "[31.01|17:48:47] training_set Epoch: 100 Loss: 0.000028\n", "[31.01|17:48:47] validation_set Epoch: 100 Loss: 0.003894\n", "[31.01|17:48:48] training_set Epoch: 110 Loss: 0.000025\n", "[31.01|17:48:48] validation_set Epoch: 110 Loss: 0.004790\n", "[31.01|17:48:49] training_set Epoch: 120 Loss: 0.000022\n", "[31.01|17:48:49] validation_set Epoch: 120 Loss: 0.003588\n", "[31.01|17:48:50] training_set Epoch: 130 Loss: 0.000022\n", "[31.01|17:48:50] validation_set Epoch: 130 Loss: 0.004835\n", "[31.01|17:48:50] training_set Epoch: 140 Loss: 0.000018\n", "[31.01|17:48:50] validation_set Epoch: 140 Loss: 0.003450\n", "[31.01|17:48:51] training_set Epoch: 150 Loss: 0.000018\n", "[31.01|17:48:51] validation_set Epoch: 150 Loss: 0.003629\n", "[31.01|17:48:52] training_set Epoch: 160 Loss: 0.000016\n", "[31.01|17:48:52] validation_set Epoch: 160 Loss: 0.003157\n", "[31.01|17:48:53] training_set Epoch: 170 Loss: 0.000016\n", "[31.01|17:48:53] validation_set Epoch: 170 Loss: 0.003054\n", "[31.01|17:48:54] training_set Epoch: 180 Loss: 0.000021\n", "[31.01|17:48:54] validation_set Epoch: 180 Loss: 0.003291\n", "[31.01|17:48:55] training_set Epoch: 190 Loss: 0.000015\n", "[31.01|17:48:55] validation_set Epoch: 190 Loss: 0.004234\n", "[31.01|17:48:57] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:48:57] JOB m3gnet FINISHED\n", "[31.01|17:48:57] Starting m3gnet.postrun()\n", "[31.01|17:48:57] m3gnet.postrun() finished\n", "[31.01|17:48:57] JOB m3gnet SUCCESSFUL\n", "[31.01|17:49:08] Running all jobs through AMS....\n", "[31.01|17:49:08] Storing results/optimization/training_set_results/latest\n", "[31.01|17:49:08] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:49:08] PLAMS environment cleaned up successfully\n", "[31.01|17:49:08] PLAMS run finished. Goodbye\n", "[31.01|17:49:08] ParAMSResults training_set validation_set\n", "[31.01|17:49:08] energy MAE 0.0069 0.0241 eV\n", "[31.01|17:49:08] forces MAE 0.0433 0.1210 eV/angstrom\n", "[31.01|17:49:08] Newly created parameter file/dir: step3_attempt1_training/results/optimization/m3gnet/m3gnet\n", "[31.01|17:49:08] Done!\n", "[31.01|17:49:08] Deleting step2_attempt1_training\n", "[31.01|17:49:08] ##########################\n", "[31.01|17:49:08] ### Step 3 / Attempt 2 ###\n", "[31.01|17:49:08] ##########################\n", "[31.01|17:49:08] MD Steps: 260 (cumulative: 316)\n", "[31.01|17:49:08] Current engine settings:\n", "[31.01|17:49:08]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step3_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:49:08] Running step3_attempt2_simulation...\n", "[31.01|17:49:22] Job step3_attempt2_simulation finished\n", "[31.01|17:49:22] Deleting files that are no longer needed...\n", "[31.01|17:49:22] Launching reference calculation\n", "[31.01|17:49:23] Reference calculation finished!\n", "[31.01|17:49:23] Checking success for step3_attempt2\n", "[31.01|17:49:34] CheckEnergy: Checking energy for MDStep316, n_atoms = 8\n", "[31.01|17:49:34] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:49:34] CheckEnergy: Actual Threshold\n", "[31.01|17:49:34] CheckEnergy: ΔE/8 -0.0065 0.2000 OK!\n", "[31.01|17:49:34] CheckEnergy: ΔΔE/8 -0.0059 0.0050 Not OK! (relative to step3_attempt1_simulation:MDStep316)\n", "[31.01|17:49:34]\n", "[31.01|17:49:34] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:49:34] CheckForces: ------------\n", "[31.01|17:49:34] CheckForces: Reference job from step3_attempt2_reference_calc1\n", "[31.01|17:49:34] CheckForces: Prediction job from final frame (MDStep316) of step3_attempt2_simulation\n", "[31.01|17:49:34] CheckForces: ------------\n", "[31.01|17:49:34] CheckForces: Histogram of forces\n", "[31.01|17:49:34] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:49:34] CheckForces: -4 0 0\n", "[31.01|17:49:34] CheckForces: -3 1 1\n", "[31.01|17:49:34] CheckForces: -2 2 2\n", "[31.01|17:49:34] CheckForces: -1 9 9\n", "[31.01|17:49:34] CheckForces: 0 10 9\n", "[31.01|17:49:34] CheckForces: 1 1 3\n", "[31.01|17:49:34] CheckForces: 2 1 0\n", "[31.01|17:49:34] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:49:34] CheckForces: Force components with an error exceeding the threshold:\n", "[31.01|17:49:34] CheckForces: Ref Pred Delta Threshold\n", "[31.01|17:49:34] CheckForces: 2.31 1.56 0.76 0.67\n", "[31.01|17:49:34] CheckForces: Maximum deviation: 0.756 eV/angstrom\n", "[31.01|17:49:34] CheckForces: Actual Threshold\n", "[31.01|17:49:34] CheckForces: # > thr. 1 0 Not OK!\n", "[31.01|17:49:34] CheckForces: MAE 0.177 0.30 OK!\n", "[31.01|17:49:34] CheckForces: R^2 0.969 0.80 OK!\n", "[31.01|17:49:34] CheckForces: --------------------\n", "[31.01|17:49:34]\n", "[31.01|17:49:34] Adding results from step3_attempt2_reference_calc1 to training set\n", "[31.01|17:49:34] Current # training set entries: 10\n", "[31.01|17:49:34] Current # validation set entries: 5\n", "[31.01|17:49:34] Storing data in step3_attempt2_reference_data\n", "[31.01|17:49:34] Deleting step3_attempt1_reference_data\n", "[31.01|17:49:34] Deleting step3_attempt2_reference_calc1\n", "[31.01|17:49:34]\n", "[31.01|17:49:34] Current (cumulative) timings:\n", "[31.01|17:49:34] Time (s) Fraction\n", "[31.01|17:49:34] Ref. calcs 11.64 0.038\n", "[31.01|17:49:34] ML training 220.84 0.728\n", "[31.01|17:49:34] Simulations 70.76 0.233\n", "[31.01|17:49:34]\n", "[31.01|17:49:34]\n", "[31.01|17:49:34]\n", "[31.01|17:49:34] --- Begin summary ---\n", "[31.01|17:49:34] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:49:34] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:49:34] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:49:34] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:49:34] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:49:34] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:49:34] 3 2 FAILED Inaccurate 0.7560\n", "[31.01|17:49:34] --- End summary ---\n", "[31.01|17:49:34]\n", "[31.01|17:49:34] Running more reference calculations....\n", "[31.01|17:49:34] Running reference calculations on frames [26, 28, 30] from step3_attempt2_simulation/ams.rkf\n", "[31.01|17:49:34] Calculating 3 frames in total\n", "[31.01|17:49:34] Running step3_attempt2_reference_calc2\n", "[31.01|17:49:35] Running step3_attempt2_reference_calc3\n", "[31.01|17:49:36] Running step3_attempt2_reference_calc4\n", "[31.01|17:49:36] Reference calculations finished!\n", "[31.01|17:49:36] Adding results from step3_attempt2_reference_calc2 to validation set\n", "[31.01|17:49:36] Adding results from step3_attempt2_reference_calc3 to training set\n", "[31.01|17:49:36] Adding results from step3_attempt2_reference_calc4 to training set\n", "[31.01|17:49:36] Current # training set entries: 12\n", "[31.01|17:49:36] Current # validation set entries: 6\n", "[31.01|17:49:36] Storing data in step3_attempt2_reference_data\n", "[31.01|17:49:36] Deleting step3_attempt2_reference_calc2\n", "[31.01|17:49:36] Deleting step3_attempt2_reference_calc3\n", "[31.01|17:49:36] Deleting step3_attempt2_reference_calc4\n", "[31.01|17:49:36] Launching reparametrization job: step3_attempt2_training\n", "[31.01|17:49:38] JOB m3gnet STARTED\n", "[31.01|17:49:38] Starting m3gnet.prerun()\n", "[31.01|17:49:38] m3gnet.prerun() finished\n", "[31.01|17:49:38] JOB m3gnet RUNNING\n", "[31.01|17:49:38] Executing m3gnet.run\n", "[31.01|17:50:24] training_set Epoch: 0 Loss: 0.002272\n", "[31.01|17:50:24] validation_set Epoch: 0 Loss: 0.056426\n", "[31.01|17:50:25] training_set Epoch: 10 Loss: 0.000177\n", "[31.01|17:50:25] validation_set Epoch: 10 Loss: 0.007855\n", "[31.01|17:50:27] training_set Epoch: 20 Loss: 0.000050\n", "[31.01|17:50:27] validation_set Epoch: 20 Loss: 0.002337\n", "[31.01|17:50:28] training_set Epoch: 30 Loss: 0.000040\n", "[31.01|17:50:28] validation_set Epoch: 30 Loss: 0.003837\n", "[31.01|17:50:29] training_set Epoch: 40 Loss: 0.000031\n", "[31.01|17:50:29] validation_set Epoch: 40 Loss: 0.003990\n", "[31.01|17:50:30] training_set Epoch: 50 Loss: 0.000025\n", "[31.01|17:50:30] validation_set Epoch: 50 Loss: 0.002706\n", "[31.01|17:50:31] training_set Epoch: 60 Loss: 0.000031\n", "[31.01|17:50:31] validation_set Epoch: 60 Loss: 0.002047\n", "[31.01|17:50:32] training_set Epoch: 70 Loss: 0.000022\n", "[31.01|17:50:32] validation_set Epoch: 70 Loss: 0.003074\n", "[31.01|17:50:34] training_set Epoch: 80 Loss: 0.000023\n", "[31.01|17:50:34] validation_set Epoch: 80 Loss: 0.001971\n", "[31.01|17:50:35] training_set Epoch: 90 Loss: 0.000016\n", "[31.01|17:50:35] validation_set Epoch: 90 Loss: 0.001933\n", "[31.01|17:50:36] training_set Epoch: 100 Loss: 0.000018\n", "[31.01|17:50:36] validation_set Epoch: 100 Loss: 0.002079\n", "[31.01|17:50:37] training_set Epoch: 110 Loss: 0.000016\n", "[31.01|17:50:37] validation_set Epoch: 110 Loss: 0.002864\n", "[31.01|17:50:38] training_set Epoch: 120 Loss: 0.000016\n", "[31.01|17:50:38] validation_set Epoch: 120 Loss: 0.001923\n", "[31.01|17:50:39] training_set Epoch: 130 Loss: 0.000018\n", "[31.01|17:50:39] validation_set Epoch: 130 Loss: 0.002417\n", "[31.01|17:50:41] training_set Epoch: 140 Loss: 0.000014\n", "[31.01|17:50:41] validation_set Epoch: 140 Loss: 0.002699\n", "[31.01|17:50:42] training_set Epoch: 150 Loss: 0.000016\n", "[31.01|17:50:42] validation_set Epoch: 150 Loss: 0.002029\n", "[31.01|17:50:43] training_set Epoch: 160 Loss: 0.000012\n", "[31.01|17:50:43] validation_set Epoch: 160 Loss: 0.001256\n", "[31.01|17:50:44] training_set Epoch: 170 Loss: 0.000011\n", "[31.01|17:50:44] validation_set Epoch: 170 Loss: 0.001377\n", "[31.01|17:50:45] training_set Epoch: 180 Loss: 0.000016\n", "[31.01|17:50:45] validation_set Epoch: 180 Loss: 0.003710\n", "[31.01|17:50:46] training_set Epoch: 190 Loss: 0.000010\n", "[31.01|17:50:46] validation_set Epoch: 190 Loss: 0.003736\n", "[31.01|17:50:49] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:50:49] JOB m3gnet FINISHED\n", "[31.01|17:50:49] Starting m3gnet.postrun()\n", "[31.01|17:50:49] m3gnet.postrun() finished\n", "[31.01|17:50:49] JOB m3gnet SUCCESSFUL\n", "[31.01|17:51:00] Running all jobs through AMS....\n", "[31.01|17:51:00] Storing results/optimization/training_set_results/latest\n", "[31.01|17:51:00] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:51:00] PLAMS environment cleaned up successfully\n", "[31.01|17:51:00] PLAMS run finished. Goodbye\n", "[31.01|17:51:01] ParAMSResults training_set validation_set\n", "[31.01|17:51:01] energy MAE 0.0095 0.0107 eV\n", "[31.01|17:51:01] forces MAE 0.0399 0.1005 eV/angstrom\n", "[31.01|17:51:01] Newly created parameter file/dir: step3_attempt2_training/results/optimization/m3gnet/m3gnet\n", "[31.01|17:51:01] Done!\n", "[31.01|17:51:01] Deleting step3_attempt1_training\n", "[31.01|17:51:01] ##########################\n", "[31.01|17:51:01] ### Step 3 / Attempt 3 ###\n", "[31.01|17:51:01] ##########################\n", "[31.01|17:51:01] MD Steps: 260 (cumulative: 316)\n", "[31.01|17:51:01] Current engine settings:\n", "[31.01|17:51:01]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step3_attempt2_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:51:01] Running step3_attempt3_simulation...\n", "[31.01|17:51:14] Job step3_attempt3_simulation finished\n", "[31.01|17:51:14] Deleting files that are no longer needed...\n", "[31.01|17:51:14] Launching reference calculation\n", "[31.01|17:51:16] Reference calculation finished!\n", "[31.01|17:51:16] Checking success for step3_attempt3\n", "[31.01|17:51:28] CheckEnergy: Checking energy for MDStep316, n_atoms = 8\n", "[31.01|17:51:28] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:51:28] CheckEnergy: Actual Threshold\n", "[31.01|17:51:28] CheckEnergy: ΔE/8 -0.0014 0.2000 OK!\n", "[31.01|17:51:28] CheckEnergy: ΔΔE/8 -0.0005 0.0050 OK! (relative to step3_attempt2_simulation:MDStep316)\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:51:28] CheckForces: ------------\n", "[31.01|17:51:28] CheckForces: Reference job from step3_attempt3_reference_calc1\n", "[31.01|17:51:28] CheckForces: Prediction job from final frame (MDStep316) of step3_attempt3_simulation\n", "[31.01|17:51:28] CheckForces: ------------\n", "[31.01|17:51:28] CheckForces: Histogram of forces\n", "[31.01|17:51:28] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:51:28] CheckForces: -3 0 0\n", "[31.01|17:51:28] CheckForces: -2 5 5\n", "[31.01|17:51:28] CheckForces: -1 8 8\n", "[31.01|17:51:28] CheckForces: 0 8 8\n", "[31.01|17:51:28] CheckForces: 1 1 1\n", "[31.01|17:51:28] CheckForces: 2 2 2\n", "[31.01|17:51:28] CheckForces: 3 0 0\n", "[31.01|17:51:28] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:51:28] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:51:28] CheckForces: Maximum deviation: 0.178 eV/angstrom\n", "[31.01|17:51:28] CheckForces: Actual Threshold\n", "[31.01|17:51:28] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:51:28] CheckForces: MAE 0.058 0.30 OK!\n", "[31.01|17:51:28] CheckForces: R^2 0.995 0.80 OK!\n", "[31.01|17:51:28] CheckForces: --------------------\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] Adding results from step3_attempt3_reference_calc1 to validation set\n", "[31.01|17:51:28] Current # training set entries: 12\n", "[31.01|17:51:28] Current # validation set entries: 7\n", "[31.01|17:51:28] Storing data in step3_attempt3_reference_data\n", "[31.01|17:51:28] Deleting step3_attempt2_reference_data\n", "[31.01|17:51:28] Deleting step3_attempt3_reference_calc1\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] Current (cumulative) timings:\n", "[31.01|17:51:28] Time (s) Fraction\n", "[31.01|17:51:28] Ref. calcs 15.87 0.039\n", "[31.01|17:51:28] ML training 305.05 0.753\n", "[31.01|17:51:28] Simulations 84.44 0.208\n", "[31.01|17:51:28]\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] Step 3 finished successfully!\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] --- Begin summary ---\n", "[31.01|17:51:28] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:51:28] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:51:28] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:51:28] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:51:28] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:51:28] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:51:28] 3 2 FAILED Inaccurate 0.7560\n", "[31.01|17:51:28] 3 3 SUCCESS Accurate 0.1781\n", "[31.01|17:51:28] --- End summary ---\n", "[31.01|17:51:28]\n", "[31.01|17:51:28] ##########################\n", "[31.01|17:51:28] ### Step 4 / Attempt 1 ###\n", "[31.01|17:51:28] ##########################\n", "[31.01|17:51:28] MD Steps: 1462 (cumulative: 1778)\n", "[31.01|17:51:28] Current engine settings:\n", "[31.01|17:51:28]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step3_attempt2_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:51:28] Running step4_attempt1_simulation...\n", "[31.01|17:51:54] Job step4_attempt1_simulation finished\n", "[31.01|17:51:54] Deleting files that are no longer needed...\n", "[31.01|17:51:54] Deleting step2_attempt2_simulation\n", "[31.01|17:51:54] Deleting step3_attempt1_simulation\n", "[31.01|17:51:54] Deleting step3_attempt2_simulation\n", "[31.01|17:51:55] Launching reference calculation\n", "[31.01|17:51:56] Reference calculation finished!\n", "[31.01|17:51:56] Checking success for step4_attempt1\n", "[31.01|17:52:06] CheckEnergy: Checking energy for MDStep1778, n_atoms = 8\n", "[31.01|17:52:06] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:52:06] CheckEnergy: Actual Threshold\n", "[31.01|17:52:06] CheckEnergy: ΔE/8 0.0055 0.2000 OK!\n", "[31.01|17:52:06] CheckEnergy: ΔΔE/8 0.0069 0.0050 Not OK! (relative to step3_attempt3_simulation:MDStep316)\n", "[31.01|17:52:06]\n", "[31.01|17:52:06] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:52:06] CheckForces: ------------\n", "[31.01|17:52:06] CheckForces: Reference job from step4_attempt1_reference_calc1\n", "[31.01|17:52:06] CheckForces: Prediction job from final frame (MDStep1778) of step4_attempt1_simulation\n", "[31.01|17:52:06] CheckForces: ------------\n", "[31.01|17:52:06] CheckForces: Histogram of forces\n", "[31.01|17:52:06] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:52:06] CheckForces: -4 1 1\n", "[31.01|17:52:06] CheckForces: -3 0 0\n", "[31.01|17:52:06] CheckForces: -2 0 2\n", "[31.01|17:52:06] CheckForces: -1 13 10\n", "[31.01|17:52:06] CheckForces: 0 5 6\n", "[31.01|17:52:06] CheckForces: 1 5 4\n", "[31.01|17:52:06] CheckForces: 2 0 1\n", "[31.01|17:52:06] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:52:06] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:52:06] CheckForces: Maximum deviation: 0.339 eV/angstrom\n", "[31.01|17:52:06] CheckForces: Actual Threshold\n", "[31.01|17:52:06] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:52:06] CheckForces: MAE 0.169 0.30 OK!\n", "[31.01|17:52:06] CheckForces: R^2 0.983 0.80 OK!\n", "[31.01|17:52:06] CheckForces: --------------------\n", "[31.01|17:52:06]\n", "[31.01|17:52:06] Adding results from step4_attempt1_reference_calc1 to training set\n", "[31.01|17:52:06] Current # training set entries: 13\n", "[31.01|17:52:06] Current # validation set entries: 7\n", "[31.01|17:52:06] Storing data in step4_attempt1_reference_data\n", "[31.01|17:52:06] Deleting step3_attempt3_reference_data\n", "[31.01|17:52:06] Deleting step4_attempt1_reference_calc1\n", "[31.01|17:52:06]\n", "[31.01|17:52:06] Current (cumulative) timings:\n", "[31.01|17:52:06] Time (s) Fraction\n", "[31.01|17:52:06] Ref. calcs 16.71 0.039\n", "[31.01|17:52:06] ML training 305.05 0.705\n", "[31.01|17:52:06] Simulations 111.11 0.257\n", "[31.01|17:52:06]\n", "[31.01|17:52:06]\n", "[31.01|17:52:06]\n", "[31.01|17:52:06] --- Begin summary ---\n", "[31.01|17:52:06] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:52:06] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:52:06] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:52:06] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:52:06] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:52:06] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:52:06] 3 2 FAILED Inaccurate 0.7560\n", "[31.01|17:52:06] 3 3 SUCCESS Accurate 0.1781\n", "[31.01|17:52:06] 4 1 FAILED Inaccurate 0.3389\n", "[31.01|17:52:06] --- End summary ---\n", "[31.01|17:52:06]\n", "[31.01|17:52:06] Running more reference calculations....\n", "[31.01|17:52:06] Running reference calculations on frames [37, 40, 43] from step4_attempt1_simulation/ams.rkf\n", "[31.01|17:52:06] Calculating 3 frames in total\n", "[31.01|17:52:06] Running step4_attempt1_reference_calc2\n", "[31.01|17:52:07] Running step4_attempt1_reference_calc3\n", "[31.01|17:52:08] Running step4_attempt1_reference_calc4\n", "[31.01|17:52:08] Reference calculations finished!\n", "[31.01|17:52:08] Adding results from step4_attempt1_reference_calc2 to validation set\n", "[31.01|17:52:08] Adding results from step4_attempt1_reference_calc3 to training set\n", "[31.01|17:52:08] Adding results from step4_attempt1_reference_calc4 to training set\n", "[31.01|17:52:08] Current # training set entries: 15\n", "[31.01|17:52:08] Current # validation set entries: 8\n", "[31.01|17:52:08] Storing data in step4_attempt1_reference_data\n", "[31.01|17:52:08] Deleting step4_attempt1_reference_calc2\n", "[31.01|17:52:08] Deleting step4_attempt1_reference_calc3\n", "[31.01|17:52:08] Deleting step4_attempt1_reference_calc4\n", "[31.01|17:52:08] Launching reparametrization job: step4_attempt1_training\n", "[31.01|17:52:10] JOB m3gnet STARTED\n", "[31.01|17:52:10] Starting m3gnet.prerun()\n", "[31.01|17:52:10] m3gnet.prerun() finished\n", "[31.01|17:52:10] JOB m3gnet RUNNING\n", "[31.01|17:52:10] Executing m3gnet.run\n", "[31.01|17:52:35] training_set Epoch: 0 Loss: 0.002138\n", "[31.01|17:52:35] validation_set Epoch: 0 Loss: 0.050272\n", "[31.01|17:52:36] training_set Epoch: 10 Loss: 0.000159\n", "[31.01|17:52:36] validation_set Epoch: 10 Loss: 0.012682\n", "[31.01|17:52:37] training_set Epoch: 20 Loss: 0.000028\n", "[31.01|17:52:37] validation_set Epoch: 20 Loss: 0.004910\n", "[31.01|17:52:38] training_set Epoch: 30 Loss: 0.000023\n", "[31.01|17:52:38] validation_set Epoch: 30 Loss: 0.002643\n", "[31.01|17:52:39] training_set Epoch: 40 Loss: 0.000019\n", "[31.01|17:52:39] validation_set Epoch: 40 Loss: 0.002616\n", "[31.01|17:52:40] training_set Epoch: 50 Loss: 0.000017\n", "[31.01|17:52:40] validation_set Epoch: 50 Loss: 0.002715\n", "[31.01|17:52:41] training_set Epoch: 60 Loss: 0.000016\n", "[31.01|17:52:41] validation_set Epoch: 60 Loss: 0.002266\n", "[31.01|17:52:42] training_set Epoch: 70 Loss: 0.000018\n", "[31.01|17:52:42] validation_set Epoch: 70 Loss: 0.002155\n", "[31.01|17:52:43] training_set Epoch: 80 Loss: 0.000014\n", "[31.01|17:52:43] validation_set Epoch: 80 Loss: 0.003127\n", "[31.01|17:52:45] training_set Epoch: 90 Loss: 0.000013\n", "[31.01|17:52:45] validation_set Epoch: 90 Loss: 0.002371\n", "[31.01|17:52:46] training_set Epoch: 100 Loss: 0.000013\n", "[31.01|17:52:46] validation_set Epoch: 100 Loss: 0.002530\n", "[31.01|17:52:47] training_set Epoch: 110 Loss: 0.000013\n", "[31.01|17:52:47] validation_set Epoch: 110 Loss: 0.002451\n", "[31.01|17:52:48] training_set Epoch: 120 Loss: 0.000011\n", "[31.01|17:52:48] validation_set Epoch: 120 Loss: 0.001932\n", "[31.01|17:52:49] training_set Epoch: 130 Loss: 0.000010\n", "[31.01|17:52:49] validation_set Epoch: 130 Loss: 0.001957\n", "[31.01|17:52:50] training_set Epoch: 140 Loss: 0.000011\n", "[31.01|17:52:50] validation_set Epoch: 140 Loss: 0.003718\n", "[31.01|17:52:51] training_set Epoch: 150 Loss: 0.000009\n", "[31.01|17:52:51] validation_set Epoch: 150 Loss: 0.002412\n", "[31.01|17:52:52] training_set Epoch: 160 Loss: 0.000009\n", "[31.01|17:52:52] validation_set Epoch: 160 Loss: 0.001933\n", "[31.01|17:52:53] training_set Epoch: 170 Loss: 0.000009\n", "[31.01|17:52:53] validation_set Epoch: 170 Loss: 0.002816\n", "[31.01|17:52:54] training_set Epoch: 180 Loss: 0.000008\n", "[31.01|17:52:54] validation_set Epoch: 180 Loss: 0.001849\n", "[31.01|17:52:55] training_set Epoch: 190 Loss: 0.000008\n", "[31.01|17:52:55] validation_set Epoch: 190 Loss: 0.002113\n", "[31.01|17:52:57] Execution of m3gnet.run finished with returncode 0\n", "[31.01|17:52:57] JOB m3gnet FINISHED\n", "[31.01|17:52:57] Starting m3gnet.postrun()\n", "[31.01|17:52:57] m3gnet.postrun() finished\n", "[31.01|17:52:57] JOB m3gnet SUCCESSFUL\n", "[31.01|17:53:09] Running all jobs through AMS....\n", "[31.01|17:53:09] Storing results/optimization/training_set_results/latest\n", "[31.01|17:53:09] Storing results/optimization/validation_set_results/latest\n", "[31.01|17:53:09] PLAMS environment cleaned up successfully\n", "[31.01|17:53:09] PLAMS run finished. Goodbye\n", "[31.01|17:53:09] ParAMSResults training_set validation_set\n", "[31.01|17:53:09] energy MAE 0.0132 0.0119 eV\n", "[31.01|17:53:09] forces MAE 0.0337 0.0857 eV/angstrom\n", "[31.01|17:53:09] Newly created parameter file/dir: step4_attempt1_training/results/optimization/m3gnet/m3gnet\n", "[31.01|17:53:09] Done!\n", "[31.01|17:53:09] Deleting step3_attempt2_training\n", "[31.01|17:53:09] ##########################\n", "[31.01|17:53:09] ### Step 4 / Attempt 2 ###\n", "[31.01|17:53:09] ##########################\n", "[31.01|17:53:09] MD Steps: 1462 (cumulative: 1778)\n", "[31.01|17:53:09] Current engine settings:\n", "[31.01|17:53:09]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step4_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:53:09] Running step4_attempt2_simulation...\n", "[31.01|17:53:32] Job step4_attempt2_simulation finished\n", "[31.01|17:53:32] Deleting files that are no longer needed...\n", "[31.01|17:53:32] Launching reference calculation\n", "[31.01|17:53:33] Reference calculation finished!\n", "[31.01|17:53:33] Checking success for step4_attempt2\n", "[31.01|17:53:43] CheckEnergy: Checking energy for MDStep1778, n_atoms = 8\n", "[31.01|17:53:43] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:53:43] CheckEnergy: Actual Threshold\n", "[31.01|17:53:43] CheckEnergy: ΔE/8 0.0006 0.2000 OK!\n", "[31.01|17:53:43] CheckEnergy: ΔΔE/8 -0.0015 0.0050 OK! (relative to step4_attempt1_simulation:MDStep1778)\n", "[31.01|17:53:43]\n", "[31.01|17:53:43] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:53:43] CheckForces: ------------\n", "[31.01|17:53:43] CheckForces: Reference job from step4_attempt2_reference_calc1\n", "[31.01|17:53:43] CheckForces: Prediction job from final frame (MDStep1778) of step4_attempt2_simulation\n", "[31.01|17:53:43] CheckForces: ------------\n", "[31.01|17:53:43] CheckForces: Histogram of forces\n", "[31.01|17:53:43] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:53:43] CheckForces: -5 1 1\n", "[31.01|17:53:43] CheckForces: -4 0 0\n", "[31.01|17:53:43] CheckForces: -3 1 1\n", "[31.01|17:53:43] CheckForces: -2 2 2\n", "[31.01|17:53:43] CheckForces: -1 6 6\n", "[31.01|17:53:43] CheckForces: 0 9 9\n", "[31.01|17:53:43] CheckForces: 1 3 3\n", "[31.01|17:53:43] CheckForces: 2 2 2\n", "[31.01|17:53:43] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:53:43] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:53:43] CheckForces: Maximum deviation: 0.283 eV/angstrom\n", "[31.01|17:53:43] CheckForces: Actual Threshold\n", "[31.01|17:53:43] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:53:43] CheckForces: MAE 0.077 0.30 OK!\n", "[31.01|17:53:43] CheckForces: R^2 0.995 0.80 OK!\n", "[31.01|17:53:43] CheckForces: --------------------\n", "[31.01|17:53:43]\n", "[31.01|17:53:43] Adding results from step4_attempt2_reference_calc1 to training set\n", "[31.01|17:53:43] Current # training set entries: 16\n", "[31.01|17:53:43] Current # validation set entries: 8\n", "[31.01|17:53:43] Storing data in step4_attempt2_reference_data\n", "[31.01|17:53:43] Deleting step4_attempt1_reference_data\n", "[31.01|17:53:43] Deleting step4_attempt2_reference_calc1\n", "[31.01|17:53:43]\n", "[31.01|17:53:43] Current (cumulative) timings:\n", "[31.01|17:53:43] Time (s) Fraction\n", "[31.01|17:53:43] Ref. calcs 19.71 0.038\n", "[31.01|17:53:43] ML training 365.82 0.704\n", "[31.01|17:53:43] Simulations 134.03 0.258\n", "[31.01|17:53:43]\n", "[31.01|17:53:43]\n", "[31.01|17:53:44] Step 4 finished successfully!\n", "[31.01|17:53:44]\n", "[31.01|17:53:44] --- Begin summary ---\n", "[31.01|17:53:44] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:53:44] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:53:44] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:53:44] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:53:44] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:53:44] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:53:44] 3 2 FAILED Inaccurate 0.7560\n", "[31.01|17:53:44] 3 3 SUCCESS Accurate 0.1781\n", "[31.01|17:53:44] 4 1 FAILED Inaccurate 0.3389\n", "[31.01|17:53:44] 4 2 SUCCESS Accurate 0.2827\n", "[31.01|17:53:44] --- End summary ---\n", "[31.01|17:53:44]\n", "[31.01|17:53:44] ##########################\n", "[31.01|17:53:44] ### Step 5 / Attempt 1 ###\n", "[31.01|17:53:44] ##########################\n", "[31.01|17:53:44] MD Steps: 8222 (cumulative: 10000)\n", "[31.01|17:53:44] Current engine settings:\n", "[31.01|17:53:44]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step4_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "[31.01|17:53:44] Running step5_attempt1_simulation...\n", "[31.01|17:55:05] Job step5_attempt1_simulation finished\n", "[31.01|17:55:05] Deleting files that are no longer needed...\n", "[31.01|17:55:05] Deleting step3_attempt3_simulation\n", "[31.01|17:55:05] Deleting step4_attempt1_simulation\n", "[31.01|17:55:05] Launching reference calculation\n", "[31.01|17:55:06] Reference calculation finished!\n", "[31.01|17:55:06] Checking success for step5_attempt1\n", "[31.01|17:55:16] CheckEnergy: Checking energy for MDStep10000, n_atoms = 8\n", "[31.01|17:55:16] CheckEnergy: normalization coefficient = 8\n", "[31.01|17:55:16] CheckEnergy: Actual Threshold\n", "[31.01|17:55:16] CheckEnergy: ΔE/8 -0.0008 0.2000 OK!\n", "[31.01|17:55:16] CheckEnergy: ΔΔE/8 -0.0014 0.0050 OK! (relative to step4_attempt2_simulation:MDStep1778)\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[31.01|17:55:16] CheckForces: ------------\n", "[31.01|17:55:16] CheckForces: Reference job from step5_attempt1_reference_calc1\n", "[31.01|17:55:16] CheckForces: Prediction job from final frame (MDStep10000) of step5_attempt1_simulation\n", "[31.01|17:55:16] CheckForces: ------------\n", "[31.01|17:55:16] CheckForces: Histogram of forces\n", "[31.01|17:55:16] CheckForces: eV/Ang Ref Pred\n", "[31.01|17:55:16] CheckForces: -4 0 0\n", "[31.01|17:55:16] CheckForces: -3 1 1\n", "[31.01|17:55:16] CheckForces: -2 1 1\n", "[31.01|17:55:16] CheckForces: -1 12 11\n", "[31.01|17:55:16] CheckForces: 0 7 8\n", "[31.01|17:55:16] CheckForces: 1 2 2\n", "[31.01|17:55:16] CheckForces: 2 1 1\n", "[31.01|17:55:16] CheckForces: 3 0 0\n", "[31.01|17:55:16] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[31.01|17:55:16] CheckForces: All force components are within the acceptable error!\n", "[31.01|17:55:16] CheckForces: Maximum deviation: 0.530 eV/angstrom\n", "[31.01|17:55:16] CheckForces: Actual Threshold\n", "[31.01|17:55:16] CheckForces: # > thr. 0 0 OK!\n", "[31.01|17:55:16] CheckForces: MAE 0.138 0.30 OK!\n", "[31.01|17:55:16] CheckForces: R^2 0.975 0.80 OK!\n", "[31.01|17:55:16] CheckForces: --------------------\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] Adding results from step5_attempt1_reference_calc1 to training set\n", "[31.01|17:55:16] Current # training set entries: 17\n", "[31.01|17:55:16] Current # validation set entries: 8\n", "[31.01|17:55:16] Storing data in step5_attempt1_reference_data\n", "[31.01|17:55:16] Deleting step4_attempt2_reference_data\n", "[31.01|17:55:16] Deleting step5_attempt1_reference_calc1\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] Current (cumulative) timings:\n", "[31.01|17:55:16] Time (s) Fraction\n", "[31.01|17:55:16] Ref. calcs 20.44 0.034\n", "[31.01|17:55:16] ML training 365.82 0.608\n", "[31.01|17:55:16] Simulations 215.21 0.358\n", "[31.01|17:55:16]\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] Step 5 finished successfully!\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] --- Begin summary ---\n", "[31.01|17:55:16] Step Attempt Status Reason finalframe_forces_max_delta\n", "[31.01|17:55:16] 1 1 FAILED Inaccurate 1.7423\n", "[31.01|17:55:16] 1 2 SUCCESS Accurate 0.5734\n", "[31.01|17:55:16] 2 1 FAILED Inaccurate 1.0679\n", "[31.01|17:55:16] 2 2 SUCCESS Accurate 0.3920\n", "[31.01|17:55:16] 3 1 FAILED Inaccurate 0.9762\n", "[31.01|17:55:16] 3 2 FAILED Inaccurate 0.7560\n", "[31.01|17:55:16] 3 3 SUCCESS Accurate 0.1781\n", "[31.01|17:55:16] 4 1 FAILED Inaccurate 0.3389\n", "[31.01|17:55:16] 4 2 SUCCESS Accurate 0.2827\n", "[31.01|17:55:16] 5 1 SUCCESS Accurate 0.5300\n", "[31.01|17:55:16] --- End summary ---\n", "[31.01|17:55:16]\n", "[31.01|17:55:16] The engine settings for the final trained ML engine are:\n", "[31.01|17:55:16]\n", "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/params/examples/ActiveLearning/jupyter_notebooks/example1_molecule_2hydroxyethanal/plams_workdir/sal/step4_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n", "\n", "[31.01|17:55:16] Active learning finished!\n", "[31.01|17:55:16] Rerunning the simulation with the final parameters...\n", "[31.01|17:56:52] Goodbye!\n", "[31.01|17:56:52] JOB sal FINISHED\n", "[31.01|17:56:52] JOB sal SUCCESSFUL\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job.run(watch=True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }