{ "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.base import ChemicalSystem" ] }, { "cell_type": "markdown", "id": "7f3ef334-2ff2-4f95-a0c3-aea554b4ef40", "metadata": {}, "source": [ "## Input system" ] }, { "cell_type": "code", "execution_count": 2, "id": "32cb9500-2bfc-4aa3-90e1-9e34761eda07", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol = plams.from_smiles(\"OCC=O\", forcefield=\"uff\")\n", "for at in mol:\n", " at.properties = {}\n", "plams.view(mol, direction=\"along_pca3\", width=150, height=150)" ] }, { "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": 3, "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": 4, "id": "887cb15d-f002-44f9-b48d-4b94c7559a4c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "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": 5, "id": "84cc7436-7642-44d6-b71a-e40b21983324", "metadata": {}, "outputs": [], "source": [ "md_s = plams.AMSNVTJob(temperature=300, timestep=0.5, nsteps=10000, thermostat=\"Berendsen\", tau=50).settings" ] }, { "cell_type": "code", "execution_count": 6, "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 1000\n", " End\n", " InitialVelocities\n", " Temperature 300\n", " Type Random\n", " End\n", " NSteps 10000\n", " Thermostat\n", " Tau 50\n", " Temperature 300\n", " Type Berendsen\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", "This example fine-tunes the MatGL ``QET-PBE-2025`` foundation model. To use TensorNet, set it to ``TensorNet-PBE-M-2025``. The corresponding r2SCAN models are selected in the same way.\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": 7, "id": "c09a69c3-46f5-434c-8fea-ce3086b4fa39", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MachineLearning\n", " Backend MatGL\n", " CommitteeSize 1\n", " EarlyStopping\n", " Enabled True\n", " Patience 40\n", " End\n", " MatGL\n", " Model QET-PBE-2025\n", " End\n", " MaxEpochs 100\n", "End\n", "\n" ] } ], "source": [ "ml_s = plams.Settings()\n", "ml_s.input.ams.MachineLearning.Backend = \"MatGL\"\n", "ml_s.input.ams.MachineLearning.CommitteeSize = 1\n", "ml_s.input.ams.MachineLearning.MaxEpochs = 100\n", "# fine-tuning MatGL (QET/TensorNet) requires AMS2027+\n", "ml_s.input.ams.MachineLearning.MatGL.Model = \"QET-PBE-2025\"\n", "\n", "#ml_s.input.ams.MachineLearning.MatGL.LearningRate = 0.0001\n", "#ml_s.input.ams.MachineLearning.MatGL.LearningRateSchedule.Type = \"Constant\"\n", "\n", "# early stopping requires AMS2027+\n", "ml_s.input.ams.MachineLearning.EarlyStopping.Enabled = \"Yes\"\n", "# use a low early-stopping patience since MaxEpochs is quite small in this example\n", "ml_s.input.ams.MachineLearning.EarlyStopping.Patience = 40 \n", "\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": 8, "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": 9, "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 MatGL\n", " CommitteeSize 1\n", " EarlyStopping\n", " Enabled True\n", " Patience 40\n", " End\n", " MatGL\n", " Model QET-PBE-2025\n", " End\n", " MaxEpochs 100\n", "End\n", "MolecularDynamics\n", " BinLog\n", " DipoleMoment False\n", " PressureTensor False\n", " Time False\n", " End\n", " CalcPressure False\n", " Checkpoint\n", " Frequency 1000\n", " End\n", " InitialVelocities\n", " Temperature 300.0\n", " Type Random\n", " End\n", " NSteps 10000\n", " Thermostat\n", " Tau 50.0\n", " Temperature 300.0\n", " Type Berendsen\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.4148380879 1.2995032367 0.0552066866\n", " C 1.0045475756 0.1523546613 0.1288771758\n", " C -0.3482031043 -0.2022667497 -0.4064331140\n", " O -1.3422954055 0.5174377380 0.2698992152\n", " H 1.6276347522 -0.6127588237 0.5803290933\n", " H -0.3900536454 0.0512247640 -1.4865055633\n", " H -0.5220879195 -1.2970056162 -0.3025647644\n", " H -1.4443803409 0.0915107896 1.1611912709\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": 10, "id": "362aec18-7918-461f-874b-9351ec9ec712", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[12.08|12:24:29] JOB sal STARTED\n", "[12.08|12:24:29] JOB sal RUNNING\n", "[12.08|12:24:30] Simple Active Learning 2026.201, Nodes: 1, Procs: 1\n", "[12.08|12:24:31] Composition of main system: C2H4O2\n", "[12.08|12:24:31] All REFERENCE calculations will be performed with the following ForceField engine:\n", "[12.08|12:24:31]\n", "\n", "Engine ForceField\n", " Type UFF\n", "EndEngine\n", "\n", "\n", "[12.08|12:24:31] The following are the settings for the to-be-trained MACHINE LEARNING model:\n", "[12.08|12:24:31]\n", "MachineLearning\n", " Backend MatGL\n", " CommitteeSize 1\n", " EarlyStopping\n", " Enabled True\n", " Patience 40\n", " End\n", " MatGL\n", " Model QET-PBE-2025\n", " End\n", " MaxEpochs 100\n", "End\n", "\n", "ParallelLevels\n", "End\n", "\n", "[12.08|12:24:31] A single model will be trained (no committee).\n", "[12.08|12:24:31] The ACTIVE LEARNING loop will contain 5 steps, using the following schema:\n", "[12.08|12:24:31] Active Learning Step 1: 10 MD Steps (cumulative: 10)\n", "[12.08|12:24:31] Active Learning Step 2: 46 MD Steps (cumulative: 56)\n", "[12.08|12:24:31] Active Learning Step 3: 260 MD Steps (cumulative: 316)\n", "[12.08|12:24:31] Active Learning Step 4: 1462 MD Steps (cumulative: 1778)\n", "[12.08|12:24:31] Active Learning Step 5: 8222 MD Steps (cumulative: 10000)\n", "[12.08|12:24:31] Total number of MD Steps: 10000\n", "[12.08|12:24:31] Max attempts per active learning step: 15\n", "[12.08|12:24:31]\n", "[12.08|12:24:31] Running initial reference MD for constructing initial training set...\n", "[12.08|12:24:32] Expanding training and validation sets....\n", "[12.08|12:24:32] Adding frames 2, 3, 4 from initial_reference_calculations/ams.rkf to training set.\n", "[12.08|12:24:32] Adding frames 1 from initial_reference_calculations/ams.rkf to validation set.\n", "[12.08|12:24:32] Current # training set entries: 3\n", "[12.08|12:24:32] Current # validation set entries: 1\n", "[12.08|12:24:32] Storing data in initial_reference_data\n", "[12.08|12:24:32] Deleting initial_reference_calculations\n", "[12.08|12:24:32] Initial reference data has been created. Storing data in folder: initial_reference_data\n", "[12.08|12:24:32] Running initial ParAMS training in folder: initial_training\n", "[12.08|12:24:38] JOB matgl STARTED\n", "[12.08|12:24:38] Starting matgl.prerun()\n", "[12.08|12:24:38] matgl.prerun() finished\n", "[12.08|12:24:38] JOB matgl RUNNING\n", "[12.08|12:24:38] Executing matgl.run\n", "[12.08|12:24:44] training_set Optimizer: 001 Epoch: 0 Loss: 0.357427\n", "[12.08|12:24:44] validation_set Optimizer: 001 Epoch: 0 Loss: 15.037919\n", "[12.08|12:24:46] training_set Optimizer: 001 Epoch: 10 Loss: 0.145769\n", "[12.08|12:24:46] validation_set Optimizer: 001 Epoch: 10 Loss: 0.113462\n", "[12.08|12:24:47] training_set Optimizer: 001 Epoch: 20 Loss: 0.133077\n", "[12.08|12:24:47] validation_set Optimizer: 001 Epoch: 20 Loss: 0.071584\n", "[12.08|12:24:48] training_set Optimizer: 001 Epoch: 30 Loss: 0.088592\n", "[12.08|12:24:48] validation_set Optimizer: 001 Epoch: 30 Loss: 0.059502\n", "[12.08|12:24:50] training_set Optimizer: 001 Epoch: 40 Loss: 0.062461\n", "[12.08|12:24:50] validation_set Optimizer: 001 Epoch: 40 Loss: 0.064538\n", "[12.08|12:24:51] training_set Optimizer: 001 Epoch: 50 Loss: 0.043029\n", "[12.08|12:24:51] validation_set Optimizer: 001 Epoch: 50 Loss: 0.076495\n", "[12.08|12:24:52] training_set Optimizer: 001 Epoch: 60 Loss: 0.031601\n", "[12.08|12:24:52] validation_set Optimizer: 001 Epoch: 60 Loss: 0.096712\n", "[12.08|12:24:52] ParAMS validation-loss early stopping triggered after epoch 62: val_Total_Loss=0.100955151, patience=40, min_delta=1e-05.\n", "[12.08|12:24:54] Execution of matgl.run finished with returncode 0\n", "[12.08|12:24:54] JOB matgl FINISHED\n", "[12.08|12:24:54] Starting matgl.postrun()\n", "[12.08|12:24:54] matgl.postrun() finished\n", "[12.08|12:24:54] JOB matgl SUCCESSFUL\n", "[12.08|12:25:03] Running all jobs through AMS....\n", "[12.08|12:25:04] Storing results/optimization/training_set_results/best\n", "[12.08|12:25:04] Storing results/optimization/validation_set_results/best\n", "[12.08|12:25:04] Initial model has been trained!\n", "[12.08|12:25:04] ParAMSResults training_set validation_set\n", "[12.08|12:25:04] energy MAE 0.0120 0.0119 eV\n", "[12.08|12:25:04] forces MAE 0.2090 0.1617 eV/angstrom\n", "[12.08|12:25:04]\n", "[12.08|12:25:04] Starting active learning loop...\n", "[12.08|12:25:04] ##########################\n", "[12.08|12:25:04] ### Step 1 / Attempt 1 ###\n", "[12.08|12:25:04] ##########################\n", "[12.08|12:25:04] MD Steps: 10 (cumulative: 10)\n", "[12.08|12:25:04] Current engine settings:\n", "[12.08|12:25:04]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/initial_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:25:04] Running step1_attempt1_simulation...\n", "[12.08|12:25:13] Job step1_attempt1_simulation finished\n", "[12.08|12:25:13] Deleting files that are no longer needed...\n", "[12.08|12:25:13] Launching reference calculation\n", "[12.08|12:25:13] Reference calculation finished!\n", "[12.08|12:25:13] Checking success for step1_attempt1\n", "[12.08|12:25:13] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[12.08|12:25:13] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:25:13] CheckEnergy: Actual Threshold\n", "[12.08|12:25:13] CheckEnergy: dE/8 -0.0608 0.2000 OK!\n", "[12.08|12:25:13]\n", "[12.08|12:25:13] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:25:13] CheckForces: ------------\n", "[12.08|12:25:13] CheckForces: Reference job from step1_attempt1_reference_calc1\n", "[12.08|12:25:13] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt1_simulation\n", "[12.08|12:25:13] CheckForces: ------------\n", "[12.08|12:25:13] CheckForces: Histogram of forces\n", "[12.08|12:25:13] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:25:13] CheckForces: -5 1 0\n", "[12.08|12:25:13] CheckForces: -4 0 0\n", "[12.08|12:25:13] CheckForces: -3 5 0\n", "[12.08|12:25:13] CheckForces: -2 0 0\n", "[12.08|12:25:13] CheckForces: -1 4 11\n", "[12.08|12:25:13] CheckForces: 0 6 13\n", "[12.08|12:25:13] CheckForces: 1 4 0\n", "[12.08|12:25:13] CheckForces: 2 4 0\n", "[12.08|12:25:13] CheckForces: 3 0 0\n", "[12.08|12:25:13] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:25:13] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:25:13] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:25:13] CheckForces: 1.63 0.13 1.50 0.60\n", "[12.08|12:25:13] CheckForces: 2.69 0.36 2.33 0.72\n", "[12.08|12:25:13] CheckForces: -4.16 -0.11 4.05 1.00\n", "[12.08|12:25:13] CheckForces: -2.98 0.07 3.05 0.77\n", "[12.08|12:25:13] CheckForces: -2.06 -0.10 1.96 0.65\n", "[12.08|12:25:13] CheckForces: 2.50 -0.45 2.95 0.70\n", "[12.08|12:25:13] CheckForces: ... and 10 more.\n", "[12.08|12:25:13] CheckForces: Maximum deviation: 4.053 eV/angstrom\n", "[12.08|12:25:13] CheckForces: Actual Threshold\n", "[12.08|12:25:13] CheckForces: # > thr. 16 0 Not OK!\n", "[12.08|12:25:13] CheckForces: MAE 1.423 0.30 Not OK!\n", "[12.08|12:25:13] CheckForces: R^2 0.049 0.20 Not OK!\n", "[12.08|12:25:13] CheckForces: --------------------\n", "[12.08|12:25:13]\n", "[12.08|12:25:14] Adding results from step1_attempt1_reference_calc1 to training set\n", "[12.08|12:25:14] Current # training set entries: 4\n", "[12.08|12:25:14] Current # validation set entries: 1\n", "[12.08|12:25:14] Storing data in step1_attempt1_reference_data\n", "[12.08|12:25:14] Deleting initial_reference_data\n", "[12.08|12:25:14] Deleting step1_attempt1_reference_calc1\n", "[12.08|12:25:14]\n", "[12.08|12:25:14] Current (cumulative) timings:\n", "[12.08|12:25:14] Time (s) Fraction\n", "[12.08|12:25:14] Ref. calcs 1.58 0.037\n", "[12.08|12:25:14] ML training 31.63 0.748\n", "[12.08|12:25:14] Simulations 9.09 0.215\n", "[12.08|12:25:14]\n", "[12.08|12:25:14]\n", "[12.08|12:25:14]\n", "[12.08|12:25:14] --- Begin summary ---\n", "[12.08|12:25:14] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:25:14] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:25:14] --- End summary ---\n", "[12.08|12:25:14]\n", "[12.08|12:25:14] Running more reference calculations....\n", "[12.08|12:25:14] Running reference calculations on frames [6] from step1_attempt1_simulation/ams.rkf\n", "[12.08|12:25:14] Calculating 1 frames in total\n", "[12.08|12:25:14] Running step1_attempt1_reference_calc2\n", "[12.08|12:25:14] Reference calculations finished!\n", "[12.08|12:25:14] Adding results from step1_attempt1_reference_calc2 to validation set\n", "[12.08|12:25:14] Current # training set entries: 4\n", "[12.08|12:25:14] Current # validation set entries: 2\n", "[12.08|12:25:14] Storing data in step1_attempt1_reference_data\n", "[12.08|12:25:14] Deleting step1_attempt1_reference_calc2\n", "[12.08|12:25:14] Launching reparametrization job: step1_attempt1_training\n", "[12.08|12:25:19] JOB matgl STARTED\n", "[12.08|12:25:19] Starting matgl.prerun()\n", "[12.08|12:25:19] matgl.prerun() finished\n", "[12.08|12:25:19] JOB matgl RUNNING\n", "[12.08|12:25:19] Executing matgl.run\n", "[12.08|12:25:27] training_set Optimizer: 001 Epoch: 70 Loss: 0.648500\n", "[12.08|12:25:27] validation_set Optimizer: 001 Epoch: 70 Loss: 0.372196\n", "[12.08|12:25:29] training_set Optimizer: 001 Epoch: 80 Loss: 0.556426\n", "[12.08|12:25:29] validation_set Optimizer: 001 Epoch: 80 Loss: 0.256927\n", "[12.08|12:25:30] training_set Optimizer: 001 Epoch: 90 Loss: 0.459001\n", "[12.08|12:25:30] validation_set Optimizer: 001 Epoch: 90 Loss: 0.222128\n", "[12.08|12:25:31] training_set Optimizer: 001 Epoch: 100 Loss: 0.275188\n", "[12.08|12:25:31] validation_set Optimizer: 001 Epoch: 100 Loss: 0.172009\n", "[12.08|12:25:33] training_set Optimizer: 001 Epoch: 110 Loss: 0.118820\n", "[12.08|12:25:33] validation_set Optimizer: 001 Epoch: 110 Loss: 0.076530\n", "[12.08|12:25:34] training_set Optimizer: 001 Epoch: 120 Loss: 0.059466\n", "[12.08|12:25:34] validation_set Optimizer: 001 Epoch: 120 Loss: 0.043057\n", "[12.08|12:25:36] training_set Optimizer: 001 Epoch: 130 Loss: 0.031145\n", "[12.08|12:25:36] validation_set Optimizer: 001 Epoch: 130 Loss: 0.030402\n", "[12.08|12:25:37] training_set Optimizer: 001 Epoch: 140 Loss: 0.021502\n", "[12.08|12:25:37] validation_set Optimizer: 001 Epoch: 140 Loss: 0.025920\n", "[12.08|12:25:39] training_set Optimizer: 001 Epoch: 150 Loss: 0.018490\n", "[12.08|12:25:39] validation_set Optimizer: 001 Epoch: 150 Loss: 0.024045\n", "[12.08|12:25:40] training_set Optimizer: 001 Epoch: 160 Loss: 0.017694\n", "[12.08|12:25:40] validation_set Optimizer: 001 Epoch: 160 Loss: 0.023517\n", "[12.08|12:25:42] Execution of matgl.run finished with returncode 0\n", "[12.08|12:25:42] JOB matgl FINISHED\n", "[12.08|12:25:42] Starting matgl.postrun()\n", "[12.08|12:25:42] matgl.postrun() finished\n", "[12.08|12:25:42] JOB matgl SUCCESSFUL\n", "[12.08|12:25:52] Running all jobs through AMS....\n", "[12.08|12:25:52] Storing results/optimization/training_set_results/best\n", "[12.08|12:25:52] Storing results/optimization/validation_set_results/best\n", "[12.08|12:25:52] ParAMSResults training_set validation_set\n", "[12.08|12:25:52] energy MAE 0.0175 0.0040 eV\n", "[12.08|12:25:52] forces MAE 0.1031 0.1182 eV/angstrom\n", "[12.08|12:25:52] Newly created parameter file/dir: step1_attempt1_training/results/optimization/matgl/matgl\n", "[12.08|12:25:52] Done!\n", "[12.08|12:25:52] Deleting initial_training\n", "[12.08|12:25:52] ##########################\n", "[12.08|12:25:52] ### Step 1 / Attempt 2 ###\n", "[12.08|12:25:52] ##########################\n", "[12.08|12:25:52] MD Steps: 10 (cumulative: 10)\n", "[12.08|12:25:52] Current engine settings:\n", "[12.08|12:25:52]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step1_attempt1_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:25:52] Running step1_attempt2_simulation...\n", "[12.08|12:26:01] Job step1_attempt2_simulation finished\n", "[12.08|12:26:01] Deleting files that are no longer needed...\n", "[12.08|12:26:01] Launching reference calculation\n", "[12.08|12:26:01] Reference calculation finished!\n", "[12.08|12:26:01] Checking success for step1_attempt2\n", "[12.08|12:26:10] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[12.08|12:26:10] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:26:10] CheckEnergy: Actual Threshold\n", "[12.08|12:26:10] CheckEnergy: dE/8 -0.0256 0.2000 OK!\n", "[12.08|12:26:10] CheckEnergy: ddE/8 -0.0212 0.0050 Not OK! (relative to step1_attempt1_simulation:MDStep10)\n", "[12.08|12:26:10]\n", "[12.08|12:26:10] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:26:10] CheckForces: ------------\n", "[12.08|12:26:10] CheckForces: Reference job from step1_attempt2_reference_calc1\n", "[12.08|12:26:10] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt2_simulation\n", "[12.08|12:26:10] CheckForces: ------------\n", "[12.08|12:26:10] CheckForces: Histogram of forces\n", "[12.08|12:26:10] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:26:10] CheckForces: -3 2 1\n", "[12.08|12:26:10] CheckForces: -2 1 0\n", "[12.08|12:26:10] CheckForces: -1 8 6\n", "[12.08|12:26:10] CheckForces: 0 12 17\n", "[12.08|12:26:10] CheckForces: 1 0 0\n", "[12.08|12:26:10] CheckForces: 2 1 0\n", "[12.08|12:26:10] CheckForces: 3 0 0\n", "[12.08|12:26:10] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:26:10] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:26:10] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:26:10] CheckForces: -0.84 0.08 0.92 0.54\n", "[12.08|12:26:10] CheckForces: 0.94 0.11 0.83 0.55\n", "[12.08|12:26:10] CheckForces: 2.69 0.83 1.86 0.72\n", "[12.08|12:26:10] CheckForces: -2.00 -0.14 1.86 0.64\n", "[12.08|12:26:10] CheckForces: 0.83 0.23 0.60 0.54\n", "[12.08|12:26:10] CheckForces: -1.14 -0.34 0.80 0.56\n", "[12.08|12:26:10] CheckForces: ... and 3 more.\n", "[12.08|12:26:10] CheckForces: Maximum deviation: 1.862 eV/angstrom\n", "[12.08|12:26:10] CheckForces: Actual Threshold\n", "[12.08|12:26:10] CheckForces: # > thr. 9 0 Not OK!\n", "[12.08|12:26:10] CheckForces: MAE 0.482 0.30 Not OK!\n", "[12.08|12:26:10] CheckForces: R^2 0.526 0.20 OK!\n", "[12.08|12:26:10] CheckForces: --------------------\n", "[12.08|12:26:10]\n", "[12.08|12:26:10] Adding results from step1_attempt2_reference_calc1 to training set\n", "[12.08|12:26:10] Current # training set entries: 5\n", "[12.08|12:26:10] Current # validation set entries: 2\n", "[12.08|12:26:10] Storing data in step1_attempt2_reference_data\n", "[12.08|12:26:11] Deleting step1_attempt1_reference_data\n", "[12.08|12:26:11] Deleting step1_attempt2_reference_calc1\n", "[12.08|12:26:11]\n", "[12.08|12:26:11] Current (cumulative) timings:\n", "[12.08|12:26:11] Time (s) Fraction\n", "[12.08|12:26:11] Ref. calcs 3.02 0.034\n", "[12.08|12:26:11] ML training 69.07 0.766\n", "[12.08|12:26:11] Simulations 18.05 0.200\n", "[12.08|12:26:11]\n", "[12.08|12:26:11]\n", "[12.08|12:26:11]\n", "[12.08|12:26:11] --- Begin summary ---\n", "[12.08|12:26:11] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:26:11] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:26:11] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:26:11] --- End summary ---\n", "[12.08|12:26:11]\n", "[12.08|12:26:11] Running more reference calculations....\n", "[12.08|12:26:11] Running reference calculations on frames [6] from step1_attempt2_simulation/ams.rkf\n", "[12.08|12:26:11] Calculating 1 frames in total\n", "[12.08|12:26:11] Running step1_attempt2_reference_calc2\n", "[12.08|12:26:11] Reference calculations finished!\n", "[12.08|12:26:11] Adding results from step1_attempt2_reference_calc2 to validation set\n", "[12.08|12:26:11] Current # training set entries: 5\n", "[12.08|12:26:11] Current # validation set entries: 3\n", "[12.08|12:26:11] Storing data in step1_attempt2_reference_data\n", "[12.08|12:26:11] Deleting step1_attempt2_reference_calc2\n", "[12.08|12:26:11] Launching reparametrization job: step1_attempt2_training\n", "[12.08|12:26:16] JOB matgl STARTED\n", "[12.08|12:26:16] Starting matgl.prerun()\n", "[12.08|12:26:16] matgl.prerun() finished\n", "[12.08|12:26:16] JOB matgl RUNNING\n", "[12.08|12:26:16] Executing matgl.run\n", "[12.08|12:26:24] training_set Optimizer: 001 Epoch: 170 Loss: 0.165219\n", "[12.08|12:26:24] validation_set Optimizer: 001 Epoch: 170 Loss: 0.087272\n", "[12.08|12:26:25] training_set Optimizer: 001 Epoch: 180 Loss: 0.092222\n", "[12.08|12:26:25] validation_set Optimizer: 001 Epoch: 180 Loss: 0.049018\n", "[12.08|12:26:27] training_set Optimizer: 001 Epoch: 190 Loss: 0.053630\n", "[12.08|12:26:27] validation_set Optimizer: 001 Epoch: 190 Loss: 0.032777\n", "[12.08|12:26:28] training_set Optimizer: 001 Epoch: 200 Loss: 0.034724\n", "[12.08|12:26:28] validation_set Optimizer: 001 Epoch: 200 Loss: 0.024878\n", "[12.08|12:26:29] training_set Optimizer: 001 Epoch: 210 Loss: 0.026506\n", "[12.08|12:26:29] validation_set Optimizer: 001 Epoch: 210 Loss: 0.023052\n", "[12.08|12:26:31] training_set Optimizer: 001 Epoch: 220 Loss: 0.021895\n", "[12.08|12:26:31] validation_set Optimizer: 001 Epoch: 220 Loss: 0.021744\n", "[12.08|12:26:32] training_set Optimizer: 001 Epoch: 230 Loss: 0.019139\n", "[12.08|12:26:32] validation_set Optimizer: 001 Epoch: 230 Loss: 0.020201\n", "[12.08|12:26:33] training_set Optimizer: 001 Epoch: 240 Loss: 0.017678\n", "[12.08|12:26:33] validation_set Optimizer: 001 Epoch: 240 Loss: 0.019227\n", "[12.08|12:26:35] training_set Optimizer: 001 Epoch: 250 Loss: 0.017018\n", "[12.08|12:26:35] validation_set Optimizer: 001 Epoch: 250 Loss: 0.019251\n", "[12.08|12:26:37] training_set Optimizer: 001 Epoch: 260 Loss: 0.016810\n", "[12.08|12:26:37] validation_set Optimizer: 001 Epoch: 260 Loss: 0.019125\n", "[12.08|12:26:38] Execution of matgl.run finished with returncode 0\n", "[12.08|12:26:39] JOB matgl FINISHED\n", "[12.08|12:26:39] Starting matgl.postrun()\n", "[12.08|12:26:39] matgl.postrun() finished\n", "[12.08|12:26:39] JOB matgl SUCCESSFUL\n", "[12.08|12:26:48] Running all jobs through AMS....\n", "[12.08|12:26:48] Storing results/optimization/training_set_results/best\n", "[12.08|12:26:48] Storing results/optimization/validation_set_results/best\n", "[12.08|12:26:48] ParAMSResults training_set validation_set\n", "[12.08|12:26:48] energy MAE 0.0176 0.0082 eV\n", "[12.08|12:26:48] forces MAE 0.0927 0.1041 eV/angstrom\n", "[12.08|12:26:48] Newly created parameter file/dir: step1_attempt2_training/results/optimization/matgl/matgl\n", "[12.08|12:26:48] Done!\n", "[12.08|12:26:48] Deleting step1_attempt1_training\n", "[12.08|12:26:48] ##########################\n", "[12.08|12:26:48] ### Step 1 / Attempt 3 ###\n", "[12.08|12:26:48] ##########################\n", "[12.08|12:26:48] MD Steps: 10 (cumulative: 10)\n", "[12.08|12:26:48] Current engine settings:\n", "[12.08|12:26:48]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step1_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:26:48] Running step1_attempt3_simulation...\n", "[12.08|12:26:57] Job step1_attempt3_simulation finished\n", "[12.08|12:26:57] Deleting files that are no longer needed...\n", "[12.08|12:26:57] Launching reference calculation\n", "[12.08|12:26:58] Reference calculation finished!\n", "[12.08|12:26:58] Checking success for step1_attempt3\n", "[12.08|12:27:07] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[12.08|12:27:07] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:27:07] CheckEnergy: Actual Threshold\n", "[12.08|12:27:07] CheckEnergy: dE/8 -0.0247 0.2000 OK!\n", "[12.08|12:27:07] CheckEnergy: ddE/8 -0.0210 0.0050 Not OK! (relative to step1_attempt2_simulation:MDStep10)\n", "[12.08|12:27:07]\n", "[12.08|12:27:07] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:27:07] CheckForces: ------------\n", "[12.08|12:27:07] CheckForces: Reference job from step1_attempt3_reference_calc1\n", "[12.08|12:27:07] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt3_simulation\n", "[12.08|12:27:07] CheckForces: ------------\n", "[12.08|12:27:07] CheckForces: Histogram of forces\n", "[12.08|12:27:07] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:27:07] CheckForces: -4 1 0\n", "[12.08|12:27:07] CheckForces: -3 1 0\n", "[12.08|12:27:07] CheckForces: -2 3 1\n", "[12.08|12:27:07] CheckForces: -1 4 11\n", "[12.08|12:27:07] CheckForces: 0 12 11\n", "[12.08|12:27:07] CheckForces: 1 1 1\n", "[12.08|12:27:07] CheckForces: 2 0 0\n", "[12.08|12:27:07] CheckForces: 3 2 0\n", "[12.08|12:27:07] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:27:07] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:27:07] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:27:07] CheckForces: -0.63 -0.01 0.62 0.53\n", "[12.08|12:27:07] CheckForces: -0.69 -0.08 0.61 0.53\n", "[12.08|12:27:07] CheckForces: -1.86 -1.18 0.68 0.63\n", "[12.08|12:27:07] CheckForces: 3.02 1.71 1.31 0.77\n", "[12.08|12:27:07] CheckForces: 3.27 0.95 2.32 0.81\n", "[12.08|12:27:07] CheckForces: 0.52 -0.37 0.88 0.52\n", "[12.08|12:27:07] CheckForces: ... and 6 more.\n", "[12.08|12:27:07] CheckForces: Maximum deviation: 2.554 eV/angstrom\n", "[12.08|12:27:07] CheckForces: Actual Threshold\n", "[12.08|12:27:07] CheckForces: # > thr. 12 0 Not OK!\n", "[12.08|12:27:07] CheckForces: MAE 0.677 0.30 Not OK!\n", "[12.08|12:27:07] CheckForces: R^2 0.746 0.20 OK!\n", "[12.08|12:27:07] CheckForces: --------------------\n", "[12.08|12:27:07]\n", "[12.08|12:27:07] Adding results from step1_attempt3_reference_calc1 to training set\n", "[12.08|12:27:07] Current # training set entries: 6\n", "[12.08|12:27:07] Current # validation set entries: 3\n", "[12.08|12:27:07] Storing data in step1_attempt3_reference_data\n", "[12.08|12:27:07] Deleting step1_attempt2_reference_data\n", "[12.08|12:27:07] Deleting step1_attempt3_reference_calc1\n", "[12.08|12:27:07]\n", "[12.08|12:27:07] Current (cumulative) timings:\n", "[12.08|12:27:07] Time (s) Fraction\n", "[12.08|12:27:07] Ref. calcs 4.48 0.033\n", "[12.08|12:27:07] ML training 105.70 0.771\n", "[12.08|12:27:07] Simulations 26.96 0.197\n", "[12.08|12:27:07]\n", "[12.08|12:27:07]\n", "[12.08|12:27:07]\n", "[12.08|12:27:07] --- Begin summary ---\n", "[12.08|12:27:07] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:27:07] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:27:07] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:27:07] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:27:07] --- End summary ---\n", "[12.08|12:27:07]\n", "[12.08|12:27:07] Running more reference calculations....\n", "[12.08|12:27:07] Running reference calculations on frames [6] from step1_attempt3_simulation/ams.rkf\n", "[12.08|12:27:07] Calculating 1 frames in total\n", "[12.08|12:27:07] Running step1_attempt3_reference_calc2\n", "[12.08|12:27:08] Reference calculations finished!\n", "[12.08|12:27:08] Adding results from step1_attempt3_reference_calc2 to validation set\n", "[12.08|12:27:08] Current # training set entries: 6\n", "[12.08|12:27:08] Current # validation set entries: 4\n", "[12.08|12:27:08] Storing data in step1_attempt3_reference_data\n", "[12.08|12:27:08] Deleting step1_attempt3_reference_calc2\n", "[12.08|12:27:08] Launching reparametrization job: step1_attempt3_training\n", "[12.08|12:27:13] JOB matgl STARTED\n", "[12.08|12:27:13] Starting matgl.prerun()\n", "[12.08|12:27:13] matgl.prerun() finished\n", "[12.08|12:27:13] JOB matgl RUNNING\n", "[12.08|12:27:13] Executing matgl.run\n", "[12.08|12:27:21] training_set Optimizer: 001 Epoch: 270 Loss: 0.165094\n", "[12.08|12:27:21] validation_set Optimizer: 001 Epoch: 270 Loss: 0.063084\n", "[12.08|12:27:23] training_set Optimizer: 001 Epoch: 280 Loss: 0.123594\n", "[12.08|12:27:23] validation_set Optimizer: 001 Epoch: 280 Loss: 0.137646\n", "[12.08|12:27:25] training_set Optimizer: 001 Epoch: 290 Loss: 0.081800\n", "[12.08|12:27:25] validation_set Optimizer: 001 Epoch: 290 Loss: 0.082315\n", "[12.08|12:27:27] training_set Optimizer: 001 Epoch: 300 Loss: 0.070202\n", "[12.08|12:27:27] validation_set Optimizer: 001 Epoch: 300 Loss: 0.040152\n", "[12.08|12:27:29] training_set Optimizer: 001 Epoch: 310 Loss: 0.047792\n", "[12.08|12:27:29] validation_set Optimizer: 001 Epoch: 310 Loss: 0.112652\n", "[12.08|12:27:31] training_set Optimizer: 001 Epoch: 320 Loss: 0.021651\n", "[12.08|12:27:31] validation_set Optimizer: 001 Epoch: 320 Loss: 0.028043\n", "[12.08|12:27:33] training_set Optimizer: 001 Epoch: 330 Loss: 0.015040\n", "[12.08|12:27:33] validation_set Optimizer: 001 Epoch: 330 Loss: 0.007762\n", "[12.08|12:27:35] training_set Optimizer: 001 Epoch: 340 Loss: 0.011682\n", "[12.08|12:27:35] validation_set Optimizer: 001 Epoch: 340 Loss: 0.006398\n", "[12.08|12:27:36] training_set Optimizer: 001 Epoch: 350 Loss: 0.010428\n", "[12.08|12:27:36] validation_set Optimizer: 001 Epoch: 350 Loss: 0.006831\n", "[12.08|12:27:38] training_set Optimizer: 001 Epoch: 360 Loss: 0.010273\n", "[12.08|12:27:38] validation_set Optimizer: 001 Epoch: 360 Loss: 0.006184\n", "[12.08|12:27:40] Execution of matgl.run finished with returncode 0\n", "[12.08|12:27:41] JOB matgl FINISHED\n", "[12.08|12:27:41] Starting matgl.postrun()\n", "[12.08|12:27:41] matgl.postrun() finished\n", "[12.08|12:27:41] JOB matgl SUCCESSFUL\n", "[12.08|12:27:50] Running all jobs through AMS....\n", "[12.08|12:27:50] Storing results/optimization/training_set_results/best\n", "[12.08|12:27:50] Storing results/optimization/validation_set_results/best\n", "[12.08|12:27:50] ParAMSResults training_set validation_set\n", "[12.08|12:27:50] energy MAE 0.0059 0.0017 eV\n", "[12.08|12:27:50] forces MAE 0.0781 0.0575 eV/angstrom\n", "[12.08|12:27:50] Newly created parameter file/dir: step1_attempt3_training/results/optimization/matgl/matgl\n", "[12.08|12:27:50] Done!\n", "[12.08|12:27:50] Deleting step1_attempt2_training\n", "[12.08|12:27:50] ##########################\n", "[12.08|12:27:50] ### Step 1 / Attempt 4 ###\n", "[12.08|12:27:50] ##########################\n", "[12.08|12:27:50] MD Steps: 10 (cumulative: 10)\n", "[12.08|12:27:50] Current engine settings:\n", "[12.08|12:27:50]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step1_attempt3_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:27:50] Running step1_attempt4_simulation...\n", "[12.08|12:27:59] Job step1_attempt4_simulation finished\n", "[12.08|12:27:59] Deleting files that are no longer needed...\n", "[12.08|12:28:00] Launching reference calculation\n", "[12.08|12:28:00] Reference calculation finished!\n", "[12.08|12:28:00] Checking success for step1_attempt4\n", "[12.08|12:28:09] CheckEnergy: Checking energy for MDStep10, n_atoms = 8\n", "[12.08|12:28:09] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:28:09] CheckEnergy: Actual Threshold\n", "[12.08|12:28:09] CheckEnergy: dE/8 -0.0011 0.2000 OK!\n", "[12.08|12:28:09] CheckEnergy: ddE/8 -0.0003 0.0050 OK! (relative to step1_attempt3_simulation:MDStep10)\n", "[12.08|12:28:09]\n", "[12.08|12:28:09] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:28:09] CheckForces: ------------\n", "[12.08|12:28:09] CheckForces: Reference job from step1_attempt4_reference_calc1\n", "[12.08|12:28:09] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt4_simulation\n", "[12.08|12:28:09] CheckForces: ------------\n", "[12.08|12:28:09] CheckForces: Histogram of forces\n", "[12.08|12:28:09] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:28:09] CheckForces: -2 2 0\n", "[12.08|12:28:09] CheckForces: -1 10 13\n", "[12.08|12:28:09] CheckForces: 0 10 11\n", "[12.08|12:28:09] CheckForces: 1 2 0\n", "[12.08|12:28:09] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:28:09] CheckForces: All force components are within the acceptable error!\n", "[12.08|12:28:09] CheckForces: Maximum deviation: 0.431 eV/angstrom\n", "[12.08|12:28:09] CheckForces: Actual Threshold\n", "[12.08|12:28:09] CheckForces: # > thr. 0 0 OK!\n", "[12.08|12:28:09] CheckForces: MAE 0.170 0.30 OK!\n", "[12.08|12:28:09] CheckForces: R^2 0.892 0.20 OK!\n", "[12.08|12:28:09] CheckForces: --------------------\n", "[12.08|12:28:09]\n", "[12.08|12:28:09] Adding results from step1_attempt4_reference_calc1 to training set\n", "[12.08|12:28:09] Current # training set entries: 7\n", "[12.08|12:28:09] Current # validation set entries: 4\n", "[12.08|12:28:09] Storing data in step1_attempt4_reference_data\n", "[12.08|12:28:10] Deleting step1_attempt3_reference_data\n", "[12.08|12:28:10] Deleting step1_attempt4_reference_calc1\n", "[12.08|12:28:10]\n", "[12.08|12:28:10] Current (cumulative) timings:\n", "[12.08|12:28:10] Time (s) Fraction\n", "[12.08|12:28:10] Ref. calcs 6.13 0.032\n", "[12.08|12:28:10] ML training 148.48 0.779\n", "[12.08|12:28:10] Simulations 36.05 0.189\n", "[12.08|12:28:10]\n", "[12.08|12:28:10]\n", "[12.08|12:28:10] Step 1 finished successfully!\n", "[12.08|12:28:10]\n", "[12.08|12:28:10] --- Begin summary ---\n", "[12.08|12:28:10] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:28:10] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:28:10] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:28:10] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:28:10] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:28:10] --- End summary ---\n", "[12.08|12:28:10]\n", "[12.08|12:28:10] ##########################\n", "[12.08|12:28:10] ### Step 2 / Attempt 1 ###\n", "[12.08|12:28:10] ##########################\n", "[12.08|12:28:10] MD Steps: 46 (cumulative: 56)\n", "[12.08|12:28:10] Current engine settings:\n", "[12.08|12:28:10]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step1_attempt3_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:28:10] Running step2_attempt1_simulation...\n", "[12.08|12:28:19] Job step2_attempt1_simulation finished\n", "[12.08|12:28:19] Deleting files that are no longer needed...\n", "[12.08|12:28:19] Deleting step1_attempt1_simulation\n", "[12.08|12:28:19] Deleting step1_attempt2_simulation\n", "[12.08|12:28:19] Deleting step1_attempt3_simulation\n", "[12.08|12:28:19] Launching reference calculation\n", "[12.08|12:28:20] Reference calculation finished!\n", "[12.08|12:28:20] Checking success for step2_attempt1\n", "[12.08|12:28:29] CheckEnergy: Checking energy for MDStep56, n_atoms = 8\n", "[12.08|12:28:29] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:28:29] CheckEnergy: Actual Threshold\n", "[12.08|12:28:29] CheckEnergy: dE/8 -0.0245 0.2000 OK!\n", "[12.08|12:28:29] CheckEnergy: ddE/8 -0.0234 0.0050 Not OK! (relative to step1_attempt4_simulation:MDStep10)\n", "[12.08|12:28:29]\n", "[12.08|12:28:29] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:28:29] CheckForces: ------------\n", "[12.08|12:28:29] CheckForces: Reference job from step2_attempt1_reference_calc1\n", "[12.08|12:28:29] CheckForces: Prediction job from final frame (MDStep56) of step2_attempt1_simulation\n", "[12.08|12:28:29] CheckForces: ------------\n", "[12.08|12:28:29] CheckForces: Histogram of forces\n", "[12.08|12:28:29] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:28:29] CheckForces: -2 1 0\n", "[12.08|12:28:29] CheckForces: -1 13 17\n", "[12.08|12:28:29] CheckForces: 0 7 6\n", "[12.08|12:28:29] CheckForces: 1 2 1\n", "[12.08|12:28:29] CheckForces: 2 1 0\n", "[12.08|12:28:29] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:28:29] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:28:29] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:28:29] CheckForces: 0.65 -0.35 0.99 0.53\n", "[12.08|12:28:29] CheckForces: 2.14 1.35 0.79 0.65\n", "[12.08|12:28:29] CheckForces: 1.53 0.56 0.97 0.60\n", "[12.08|12:28:29] CheckForces: Maximum deviation: 0.992 eV/angstrom\n", "[12.08|12:28:29] CheckForces: Actual Threshold\n", "[12.08|12:28:29] CheckForces: # > thr. 3 0 Not OK!\n", "[12.08|12:28:29] CheckForces: MAE 0.368 0.30 Not OK!\n", "[12.08|12:28:29] CheckForces: R^2 0.748 0.20 OK!\n", "[12.08|12:28:29] CheckForces: --------------------\n", "[12.08|12:28:29]\n", "[12.08|12:28:29] Adding results from step2_attempt1_reference_calc1 to training set\n", "[12.08|12:28:29] Current # training set entries: 8\n", "[12.08|12:28:29] Current # validation set entries: 4\n", "[12.08|12:28:29] Storing data in step2_attempt1_reference_data\n", "[12.08|12:28:29] Deleting step1_attempt4_reference_data\n", "[12.08|12:28:29] Deleting step2_attempt1_reference_calc1\n", "[12.08|12:28:29]\n", "[12.08|12:28:29] Current (cumulative) timings:\n", "[12.08|12:28:29] Time (s) Fraction\n", "[12.08|12:28:29] Ref. calcs 6.82 0.034\n", "[12.08|12:28:29] ML training 148.48 0.739\n", "[12.08|12:28:29] Simulations 45.70 0.227\n", "[12.08|12:28:29]\n", "[12.08|12:28:29]\n", "[12.08|12:28:29]\n", "[12.08|12:28:29] --- Begin summary ---\n", "[12.08|12:28:29] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:28:29] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:28:29] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:28:29] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:28:29] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:28:29] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:28:29] --- End summary ---\n", "[12.08|12:28:29]\n", "[12.08|12:28:29] Running more reference calculations....\n", "[12.08|12:28:29] Running reference calculations on frames [34] from step2_attempt1_simulation/ams.rkf\n", "[12.08|12:28:29] Calculating 1 frames in total\n", "[12.08|12:28:29] Running step2_attempt1_reference_calc2\n", "[12.08|12:28:30] Reference calculations finished!\n", "[12.08|12:28:30] Adding results from step2_attempt1_reference_calc2 to validation set\n", "[12.08|12:28:30] Current # training set entries: 8\n", "[12.08|12:28:30] Current # validation set entries: 5\n", "[12.08|12:28:30] Storing data in step2_attempt1_reference_data\n", "[12.08|12:28:30] Deleting step2_attempt1_reference_calc2\n", "[12.08|12:28:30] Launching reparametrization job: step2_attempt1_training\n", "[12.08|12:28:35] JOB matgl STARTED\n", "[12.08|12:28:35] Starting matgl.prerun()\n", "[12.08|12:28:35] matgl.prerun() finished\n", "[12.08|12:28:35] JOB matgl RUNNING\n", "[12.08|12:28:35] Executing matgl.run\n", "[12.08|12:28:43] training_set Optimizer: 001 Epoch: 370 Loss: 0.029079\n", "[12.08|12:28:43] validation_set Optimizer: 001 Epoch: 370 Loss: 0.022830\n", "[12.08|12:28:45] training_set Optimizer: 001 Epoch: 380 Loss: 0.013474\n", "[12.08|12:28:45] validation_set Optimizer: 001 Epoch: 380 Loss: 0.022482\n", "[12.08|12:28:47] training_set Optimizer: 001 Epoch: 390 Loss: 0.007917\n", "[12.08|12:28:47] validation_set Optimizer: 001 Epoch: 390 Loss: 0.017117\n", "[12.08|12:28:49] training_set Optimizer: 001 Epoch: 400 Loss: 0.005008\n", "[12.08|12:28:49] validation_set Optimizer: 001 Epoch: 400 Loss: 0.016633\n", "[12.08|12:28:51] training_set Optimizer: 001 Epoch: 410 Loss: 0.003370\n", "[12.08|12:28:51] validation_set Optimizer: 001 Epoch: 410 Loss: 0.015579\n", "[12.08|12:28:53] training_set Optimizer: 001 Epoch: 420 Loss: 0.002697\n", "[12.08|12:28:53] validation_set Optimizer: 001 Epoch: 420 Loss: 0.015282\n", "[12.08|12:28:55] training_set Optimizer: 001 Epoch: 430 Loss: 0.002272\n", "[12.08|12:28:55] validation_set Optimizer: 001 Epoch: 430 Loss: 0.015380\n", "[12.08|12:28:57] training_set Optimizer: 001 Epoch: 440 Loss: 0.002120\n", "[12.08|12:28:57] validation_set Optimizer: 001 Epoch: 440 Loss: 0.015655\n", "[12.08|12:28:59] training_set Optimizer: 001 Epoch: 450 Loss: 0.002025\n", "[12.08|12:28:59] validation_set Optimizer: 001 Epoch: 450 Loss: 0.015471\n", "[12.08|12:29:01] training_set Optimizer: 001 Epoch: 460 Loss: 0.001996\n", "[12.08|12:29:01] validation_set Optimizer: 001 Epoch: 460 Loss: 0.015516\n", "[12.08|12:29:02] Execution of matgl.run finished with returncode 0\n", "[12.08|12:29:03] JOB matgl FINISHED\n", "[12.08|12:29:03] Starting matgl.postrun()\n", "[12.08|12:29:03] matgl.postrun() finished\n", "[12.08|12:29:03] JOB matgl SUCCESSFUL\n", "[12.08|12:29:12] Running all jobs through AMS....\n", "[12.08|12:29:12] Storing results/optimization/training_set_results/best\n", "[12.08|12:29:12] Storing results/optimization/validation_set_results/best\n", "[12.08|12:29:12] ParAMSResults training_set validation_set\n", "[12.08|12:29:12] energy MAE 0.0042 0.0042 eV\n", "[12.08|12:29:12] forces MAE 0.0354 0.0705 eV/angstrom\n", "[12.08|12:29:12] Newly created parameter file/dir: step2_attempt1_training/results/optimization/matgl/matgl\n", "[12.08|12:29:12] Done!\n", "[12.08|12:29:12] Deleting step1_attempt3_training\n", "[12.08|12:29:12] ##########################\n", "[12.08|12:29:12] ### Step 2 / Attempt 2 ###\n", "[12.08|12:29:12] ##########################\n", "[12.08|12:29:12] MD Steps: 46 (cumulative: 56)\n", "[12.08|12:29:12] Current engine settings:\n", "[12.08|12:29:12]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step2_attempt1_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:29:12] Running step2_attempt2_simulation...\n", "[12.08|12:29:21] Job step2_attempt2_simulation finished\n", "[12.08|12:29:21] Deleting files that are no longer needed...\n", "[12.08|12:29:21] Launching reference calculation\n", "[12.08|12:29:22] Reference calculation finished!\n", "[12.08|12:29:22] Checking success for step2_attempt2\n", "[12.08|12:29:31] CheckEnergy: Checking energy for MDStep56, n_atoms = 8\n", "[12.08|12:29:31] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:29:31] CheckEnergy: Actual Threshold\n", "[12.08|12:29:31] CheckEnergy: dE/8 -0.0033 0.2000 OK!\n", "[12.08|12:29:31] CheckEnergy: ddE/8 -0.0013 0.0050 OK! (relative to step2_attempt1_simulation:MDStep56)\n", "[12.08|12:29:31]\n", "[12.08|12:29:31] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:29:31] CheckForces: ------------\n", "[12.08|12:29:31] CheckForces: Reference job from step2_attempt2_reference_calc1\n", "[12.08|12:29:31] CheckForces: Prediction job from final frame (MDStep56) of step2_attempt2_simulation\n", "[12.08|12:29:31] CheckForces: ------------\n", "[12.08|12:29:31] CheckForces: Histogram of forces\n", "[12.08|12:29:31] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:29:31] CheckForces: -2 1 0\n", "[12.08|12:29:31] CheckForces: -1 13 13\n", "[12.08|12:29:31] CheckForces: 0 9 11\n", "[12.08|12:29:31] CheckForces: 1 1 0\n", "[12.08|12:29:31] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:29:31] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:29:31] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:29:31] CheckForces: -1.32 -0.24 1.08 0.58\n", "[12.08|12:29:31] CheckForces: Maximum deviation: 1.081 eV/angstrom\n", "[12.08|12:29:31] CheckForces: Actual Threshold\n", "[12.08|12:29:31] CheckForces: # > thr. 1 0 Not OK!\n", "[12.08|12:29:31] CheckForces: MAE 0.169 0.30 OK!\n", "[12.08|12:29:31] CheckForces: R^2 0.785 0.20 OK!\n", "[12.08|12:29:31] CheckForces: --------------------\n", "[12.08|12:29:31]\n", "[12.08|12:29:31] Adding results from step2_attempt2_reference_calc1 to training set\n", "[12.08|12:29:31] Current # training set entries: 9\n", "[12.08|12:29:31] Current # validation set entries: 5\n", "[12.08|12:29:31] Storing data in step2_attempt2_reference_data\n", "[12.08|12:29:31] Deleting step2_attempt1_reference_data\n", "[12.08|12:29:31] Deleting step2_attempt2_reference_calc1\n", "[12.08|12:29:31]\n", "[12.08|12:29:31] Current (cumulative) timings:\n", "[12.08|12:29:31] Time (s) Fraction\n", "[12.08|12:29:31] Ref. calcs 8.41 0.033\n", "[12.08|12:29:31] ML training 190.44 0.750\n", "[12.08|12:29:31] Simulations 55.21 0.217\n", "[12.08|12:29:31]\n", "[12.08|12:29:31]\n", "[12.08|12:29:31]\n", "[12.08|12:29:31] --- Begin summary ---\n", "[12.08|12:29:31] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:29:31] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:29:31] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:29:31] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:29:31] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:29:31] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:29:31] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:29:31] --- End summary ---\n", "[12.08|12:29:31]\n", "[12.08|12:29:31] Running more reference calculations....\n", "[12.08|12:29:32] Running reference calculations on frames [34] from step2_attempt2_simulation/ams.rkf\n", "[12.08|12:29:32] Calculating 1 frames in total\n", "[12.08|12:29:32] Running step2_attempt2_reference_calc2\n", "[12.08|12:29:32] Reference calculations finished!\n", "[12.08|12:29:32] Adding results from step2_attempt2_reference_calc2 to validation set\n", "[12.08|12:29:32] Current # training set entries: 9\n", "[12.08|12:29:32] Current # validation set entries: 6\n", "[12.08|12:29:32] Storing data in step2_attempt2_reference_data\n", "[12.08|12:29:32] Deleting step2_attempt2_reference_calc2\n", "[12.08|12:29:32] Launching reparametrization job: step2_attempt2_training\n", "[12.08|12:29:37] JOB matgl STARTED\n", "[12.08|12:29:37] Starting matgl.prerun()\n", "[12.08|12:29:37] matgl.prerun() finished\n", "[12.08|12:29:37] JOB matgl RUNNING\n", "[12.08|12:29:37] Executing matgl.run\n", "[12.08|12:29:46] training_set Optimizer: 001 Epoch: 470 Loss: 0.009520\n", "[12.08|12:29:46] validation_set Optimizer: 001 Epoch: 470 Loss: 0.030069\n", "[12.08|12:29:48] training_set Optimizer: 001 Epoch: 480 Loss: 0.007332\n", "[12.08|12:29:48] validation_set Optimizer: 001 Epoch: 480 Loss: 0.020696\n", "[12.08|12:29:50] training_set Optimizer: 001 Epoch: 490 Loss: 0.005906\n", "[12.08|12:29:50] validation_set Optimizer: 001 Epoch: 490 Loss: 0.028897\n", "[12.08|12:29:52] training_set Optimizer: 001 Epoch: 500 Loss: 0.006956\n", "[12.08|12:29:52] validation_set Optimizer: 001 Epoch: 500 Loss: 0.019162\n", "[12.08|12:29:55] training_set Optimizer: 001 Epoch: 510 Loss: 0.003233\n", "[12.08|12:29:55] validation_set Optimizer: 001 Epoch: 510 Loss: 0.027385\n", "[12.08|12:29:57] training_set Optimizer: 001 Epoch: 520 Loss: 0.002270\n", "[12.08|12:29:57] validation_set Optimizer: 001 Epoch: 520 Loss: 0.024546\n", "[12.08|12:29:59] training_set Optimizer: 001 Epoch: 530 Loss: 0.001989\n", "[12.08|12:29:59] validation_set Optimizer: 001 Epoch: 530 Loss: 0.025722\n", "[12.08|12:30:01] training_set Optimizer: 001 Epoch: 540 Loss: 0.001857\n", "[12.08|12:30:01] validation_set Optimizer: 001 Epoch: 540 Loss: 0.025016\n", "[12.08|12:30:01] ParAMS validation-loss early stopping triggered after epoch 540: val_Total_Loss=0.02501645684, patience=40, min_delta=1e-05.\n", "[12.08|12:30:03] Execution of matgl.run finished with returncode 0\n", "[12.08|12:30:03] JOB matgl FINISHED\n", "[12.08|12:30:03] Starting matgl.postrun()\n", "[12.08|12:30:03] matgl.postrun() finished\n", "[12.08|12:30:03] JOB matgl SUCCESSFUL\n", "[12.08|12:30:12] Running all jobs through AMS....\n", "[12.08|12:30:12] Storing results/optimization/training_set_results/best\n", "[12.08|12:30:12] Storing results/optimization/validation_set_results/best\n", "[12.08|12:30:12] ParAMSResults training_set validation_set\n", "[12.08|12:30:12] energy MAE 0.0083 0.0062 eV\n", "[12.08|12:30:12] forces MAE 0.0578 0.0868 eV/angstrom\n", "[12.08|12:30:12] Newly created parameter file/dir: step2_attempt2_training/results/optimization/matgl/matgl\n", "[12.08|12:30:12] Done!\n", "[12.08|12:30:12] Deleting step2_attempt1_training\n", "[12.08|12:30:12] ##########################\n", "[12.08|12:30:12] ### Step 2 / Attempt 3 ###\n", "[12.08|12:30:12] ##########################\n", "[12.08|12:30:12] MD Steps: 46 (cumulative: 56)\n", "[12.08|12:30:12] Current engine settings:\n", "[12.08|12:30:12]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step2_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:30:12] Running step2_attempt3_simulation...\n", "[12.08|12:30:22] Job step2_attempt3_simulation finished\n", "[12.08|12:30:22] Deleting files that are no longer needed...\n", "[12.08|12:30:22] Launching reference calculation\n", "[12.08|12:30:22] Reference calculation finished!\n", "[12.08|12:30:22] Checking success for step2_attempt3\n", "[12.08|12:30:31] CheckEnergy: Checking energy for MDStep56, n_atoms = 8\n", "[12.08|12:30:31] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:30:31] CheckEnergy: Actual Threshold\n", "[12.08|12:30:31] CheckEnergy: dE/8 -0.0011 0.2000 OK!\n", "[12.08|12:30:31] CheckEnergy: ddE/8 0.0004 0.0050 OK! (relative to step2_attempt2_simulation:MDStep56)\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:30:31] CheckForces: ------------\n", "[12.08|12:30:31] CheckForces: Reference job from step2_attempt3_reference_calc1\n", "[12.08|12:30:31] CheckForces: Prediction job from final frame (MDStep56) of step2_attempt3_simulation\n", "[12.08|12:30:31] CheckForces: ------------\n", "[12.08|12:30:31] CheckForces: Histogram of forces\n", "[12.08|12:30:31] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:30:31] CheckForces: -2 0 0\n", "[12.08|12:30:31] CheckForces: -1 14 14\n", "[12.08|12:30:31] CheckForces: 0 9 10\n", "[12.08|12:30:31] CheckForces: 1 1 0\n", "[12.08|12:30:31] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:30:31] CheckForces: All force components are within the acceptable error!\n", "[12.08|12:30:31] CheckForces: Maximum deviation: 0.373 eV/angstrom\n", "[12.08|12:30:31] CheckForces: Actual Threshold\n", "[12.08|12:30:31] CheckForces: # > thr. 0 0 OK!\n", "[12.08|12:30:31] CheckForces: MAE 0.087 0.30 OK!\n", "[12.08|12:30:31] CheckForces: R^2 0.929 0.20 OK!\n", "[12.08|12:30:31] CheckForces: --------------------\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] Adding results from step2_attempt3_reference_calc1 to validation set\n", "[12.08|12:30:31] Current # training set entries: 9\n", "[12.08|12:30:31] Current # validation set entries: 7\n", "[12.08|12:30:31] Storing data in step2_attempt3_reference_data\n", "[12.08|12:30:31] Deleting step2_attempt2_reference_data\n", "[12.08|12:30:31] Deleting step2_attempt3_reference_calc1\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] Current (cumulative) timings:\n", "[12.08|12:30:31] Time (s) Fraction\n", "[12.08|12:30:31] Ref. calcs 9.88 0.032\n", "[12.08|12:30:31] ML training 230.34 0.756\n", "[12.08|12:30:31] Simulations 64.64 0.212\n", "[12.08|12:30:31]\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] Step 2 finished successfully!\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] --- Begin summary ---\n", "[12.08|12:30:31] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:30:31] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:30:31] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:30:31] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:30:31] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:30:31] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:30:31] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:30:31] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:30:31] --- End summary ---\n", "[12.08|12:30:31]\n", "[12.08|12:30:31] ##########################\n", "[12.08|12:30:31] ### Step 3 / Attempt 1 ###\n", "[12.08|12:30:31] ##########################\n", "[12.08|12:30:31] MD Steps: 260 (cumulative: 316)\n", "[12.08|12:30:31] Current engine settings:\n", "[12.08|12:30:31]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step2_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:30:31] Running step3_attempt1_simulation...\n", "[12.08|12:30:45] Job step3_attempt1_simulation finished\n", "[12.08|12:30:45] Deleting files that are no longer needed...\n", "[12.08|12:30:45] Deleting step1_attempt4_simulation\n", "[12.08|12:30:45] Deleting step2_attempt1_simulation\n", "[12.08|12:30:45] Deleting step2_attempt2_simulation\n", "[12.08|12:30:45] Launching reference calculation\n", "[12.08|12:30:46] Reference calculation finished!\n", "[12.08|12:30:46] Checking success for step3_attempt1\n", "[12.08|12:30:55] CheckEnergy: Checking energy for MDStep316, n_atoms = 8\n", "[12.08|12:30:55] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:30:55] CheckEnergy: Actual Threshold\n", "[12.08|12:30:55] CheckEnergy: dE/8 -0.0019 0.2000 OK!\n", "[12.08|12:30:55] CheckEnergy: ddE/8 -0.0008 0.0050 OK! (relative to step2_attempt3_simulation:MDStep56)\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:30:55] CheckForces: ------------\n", "[12.08|12:30:55] CheckForces: Reference job from step3_attempt1_reference_calc1\n", "[12.08|12:30:55] CheckForces: Prediction job from final frame (MDStep316) of step3_attempt1_simulation\n", "[12.08|12:30:55] CheckForces: ------------\n", "[12.08|12:30:55] CheckForces: Histogram of forces\n", "[12.08|12:30:55] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:30:55] CheckForces: -2 2 2\n", "[12.08|12:30:55] CheckForces: -1 10 10\n", "[12.08|12:30:55] CheckForces: 0 10 10\n", "[12.08|12:30:55] CheckForces: 1 2 2\n", "[12.08|12:30:55] CheckForces: 2 0 0\n", "[12.08|12:30:55] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:30:55] CheckForces: All force components are within the acceptable error!\n", "[12.08|12:30:55] CheckForces: Maximum deviation: 0.462 eV/angstrom\n", "[12.08|12:30:55] CheckForces: Actual Threshold\n", "[12.08|12:30:55] CheckForces: # > thr. 0 0 OK!\n", "[12.08|12:30:55] CheckForces: MAE 0.167 0.30 OK!\n", "[12.08|12:30:55] CheckForces: R^2 0.919 0.20 OK!\n", "[12.08|12:30:55] CheckForces: --------------------\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] Adding results from step3_attempt1_reference_calc1 to validation set\n", "[12.08|12:30:55] Current # training set entries: 9\n", "[12.08|12:30:55] Current # validation set entries: 8\n", "[12.08|12:30:55] Storing data in step3_attempt1_reference_data\n", "[12.08|12:30:55] Deleting step2_attempt3_reference_data\n", "[12.08|12:30:55] Deleting step3_attempt1_reference_calc1\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] Current (cumulative) timings:\n", "[12.08|12:30:55] Time (s) Fraction\n", "[12.08|12:30:55] Ref. calcs 10.56 0.033\n", "[12.08|12:30:55] ML training 230.34 0.721\n", "[12.08|12:30:55] Simulations 78.66 0.246\n", "[12.08|12:30:55]\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] Step 3 finished successfully!\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] --- Begin summary ---\n", "[12.08|12:30:55] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:30:55] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:30:55] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:30:55] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:30:55] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:30:55] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:30:55] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:30:55] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:30:55] 3 1 SUCCESS Accurate 316 0.4624\n", "[12.08|12:30:55] --- End summary ---\n", "[12.08|12:30:55]\n", "[12.08|12:30:55] ##########################\n", "[12.08|12:30:55] ### Step 4 / Attempt 1 ###\n", "[12.08|12:30:55] ##########################\n", "[12.08|12:30:55] MD Steps: 1462 (cumulative: 1778)\n", "[12.08|12:30:55] Current engine settings:\n", "[12.08|12:30:55]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step2_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:30:55] Running step4_attempt1_simulation...\n", "[12.08|12:31:34] Job step4_attempt1_simulation finished\n", "[12.08|12:31:34] Deleting files that are no longer needed...\n", "[12.08|12:31:34] Deleting step2_attempt3_simulation\n", "[12.08|12:31:35] Launching reference calculation\n", "[12.08|12:31:35] Reference calculation finished!\n", "[12.08|12:31:35] Checking success for step4_attempt1\n", "[12.08|12:31:44] CheckEnergy: Checking energy for MDStep1778, n_atoms = 8\n", "[12.08|12:31:44] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:31:44] CheckEnergy: Actual Threshold\n", "[12.08|12:31:44] CheckEnergy: dE/8 -0.0036 0.2000 OK!\n", "[12.08|12:31:44] CheckEnergy: ddE/8 -0.0017 0.0050 OK! (relative to step3_attempt1_simulation:MDStep316)\n", "[12.08|12:31:44]\n", "[12.08|12:31:44] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:31:44] CheckForces: ------------\n", "[12.08|12:31:44] CheckForces: Reference job from step4_attempt1_reference_calc1\n", "[12.08|12:31:44] CheckForces: Prediction job from final frame (MDStep1778) of step4_attempt1_simulation\n", "[12.08|12:31:44] CheckForces: ------------\n", "[12.08|12:31:44] CheckForces: Histogram of forces\n", "[12.08|12:31:44] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:31:44] CheckForces: -3 0 0\n", "[12.08|12:31:44] CheckForces: -2 3 2\n", "[12.08|12:31:44] CheckForces: -1 10 11\n", "[12.08|12:31:44] CheckForces: 0 6 9\n", "[12.08|12:31:44] CheckForces: 1 5 2\n", "[12.08|12:31:44] CheckForces: 2 0 0\n", "[12.08|12:31:44] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:31:44] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:31:44] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:31:44] CheckForces: 1.70 0.88 0.82 0.61\n", "[12.08|12:31:44] CheckForces: -1.94 -1.17 0.77 0.63\n", "[12.08|12:31:44] CheckForces: Maximum deviation: 0.821 eV/angstrom\n", "[12.08|12:31:44] CheckForces: Actual Threshold\n", "[12.08|12:31:44] CheckForces: # > thr. 2 0 Not OK!\n", "[12.08|12:31:44] CheckForces: MAE 0.199 0.30 OK!\n", "[12.08|12:31:44] CheckForces: R^2 0.938 0.20 OK!\n", "[12.08|12:31:44] CheckForces: --------------------\n", "[12.08|12:31:44]\n", "[12.08|12:31:44] Adding results from step4_attempt1_reference_calc1 to training set\n", "[12.08|12:31:44] Current # training set entries: 10\n", "[12.08|12:31:44] Current # validation set entries: 8\n", "[12.08|12:31:44] Storing data in step4_attempt1_reference_data\n", "[12.08|12:31:44] Deleting step3_attempt1_reference_data\n", "[12.08|12:31:44] Deleting step4_attempt1_reference_calc1\n", "[12.08|12:31:44]\n", "[12.08|12:31:44] Current (cumulative) timings:\n", "[12.08|12:31:44] Time (s) Fraction\n", "[12.08|12:31:44] Ref. calcs 11.19 0.031\n", "[12.08|12:31:44] ML training 230.34 0.641\n", "[12.08|12:31:44] Simulations 117.95 0.328\n", "[12.08|12:31:44]\n", "[12.08|12:31:44]\n", "[12.08|12:31:44]\n", "[12.08|12:31:44] --- Begin summary ---\n", "[12.08|12:31:44] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:31:44] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:31:44] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:31:44] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:31:44] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:31:44] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:31:44] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:31:44] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:31:44] 3 1 SUCCESS Accurate 316 0.4624\n", "[12.08|12:31:44] 4 1 FAILED Inaccurate 1778 0.8213\n", "[12.08|12:31:44] --- End summary ---\n", "[12.08|12:31:44]\n", "[12.08|12:31:44] Running more reference calculations....\n", "[12.08|12:31:44] Running reference calculations on frames [97, 105, 112] from step4_attempt1_simulation/ams.rkf\n", "[12.08|12:31:44] Calculating 3 frames in total\n", "[12.08|12:31:44] Running step4_attempt1_reference_calc2\n", "[12.08|12:31:45] Running step4_attempt1_reference_calc3\n", "[12.08|12:31:46] Running step4_attempt1_reference_calc4\n", "[12.08|12:31:46] Reference calculations finished!\n", "[12.08|12:31:46] Adding results from step4_attempt1_reference_calc2 to validation set\n", "[12.08|12:31:46] Adding results from step4_attempt1_reference_calc3 to training set\n", "[12.08|12:31:46] Adding results from step4_attempt1_reference_calc4 to training set\n", "[12.08|12:31:46] Current # training set entries: 12\n", "[12.08|12:31:46] Current # validation set entries: 9\n", "[12.08|12:31:46] Storing data in step4_attempt1_reference_data\n", "[12.08|12:31:47] Deleting step4_attempt1_reference_calc2\n", "[12.08|12:31:47] Deleting step4_attempt1_reference_calc3\n", "[12.08|12:31:47] Deleting step4_attempt1_reference_calc4\n", "[12.08|12:31:47] Launching reparametrization job: step4_attempt1_training\n", "[12.08|12:31:52] JOB matgl STARTED\n", "[12.08|12:31:52] Starting matgl.prerun()\n", "[12.08|12:31:52] matgl.prerun() finished\n", "[12.08|12:31:52] JOB matgl RUNNING\n", "[12.08|12:31:52] Executing matgl.run\n", "[12.08|12:32:01] training_set Optimizer: 001 Epoch: 550 Loss: 0.181485\n", "[12.08|12:32:01] validation_set Optimizer: 001 Epoch: 550 Loss: 0.185262\n", "[12.08|12:32:04] training_set Optimizer: 001 Epoch: 560 Loss: 0.024718\n", "[12.08|12:32:04] validation_set Optimizer: 001 Epoch: 560 Loss: 0.060571\n", "[12.08|12:32:07] training_set Optimizer: 001 Epoch: 570 Loss: 0.011185\n", "[12.08|12:32:07] validation_set Optimizer: 001 Epoch: 570 Loss: 0.048129\n", "[12.08|12:32:10] training_set Optimizer: 001 Epoch: 580 Loss: 0.006826\n", "[12.08|12:32:10] validation_set Optimizer: 001 Epoch: 580 Loss: 0.031944\n", "[12.08|12:32:13] training_set Optimizer: 001 Epoch: 590 Loss: 0.004996\n", "[12.08|12:32:13] validation_set Optimizer: 001 Epoch: 590 Loss: 0.028267\n", "[12.08|12:32:16] training_set Optimizer: 001 Epoch: 600 Loss: 0.003950\n", "[12.08|12:32:16] validation_set Optimizer: 001 Epoch: 600 Loss: 0.025171\n", "[12.08|12:32:19] training_set Optimizer: 001 Epoch: 610 Loss: 0.003384\n", "[12.08|12:32:19] validation_set Optimizer: 001 Epoch: 610 Loss: 0.025091\n", "[12.08|12:32:21] training_set Optimizer: 001 Epoch: 620 Loss: 0.002947\n", "[12.08|12:32:21] validation_set Optimizer: 001 Epoch: 620 Loss: 0.023206\n", "[12.08|12:32:24] training_set Optimizer: 001 Epoch: 630 Loss: 0.002783\n", "[12.08|12:32:24] validation_set Optimizer: 001 Epoch: 630 Loss: 0.023501\n", "[12.08|12:32:27] training_set Optimizer: 001 Epoch: 640 Loss: 0.002743\n", "[12.08|12:32:27] validation_set Optimizer: 001 Epoch: 640 Loss: 0.023560\n", "[12.08|12:32:29] Execution of matgl.run finished with returncode 0\n", "[12.08|12:32:29] JOB matgl FINISHED\n", "[12.08|12:32:29] Starting matgl.postrun()\n", "[12.08|12:32:29] matgl.postrun() finished\n", "[12.08|12:32:29] JOB matgl SUCCESSFUL\n", "[12.08|12:32:38] Running all jobs through AMS....\n", "[12.08|12:32:38] Storing results/optimization/training_set_results/best\n", "[12.08|12:32:38] Storing results/optimization/validation_set_results/best\n", "[12.08|12:32:38] ParAMSResults training_set validation_set\n", "[12.08|12:32:38] energy MAE 0.0046 0.0131 eV\n", "[12.08|12:32:38] forces MAE 0.0396 0.0985 eV/angstrom\n", "[12.08|12:32:38] Newly created parameter file/dir: step4_attempt1_training/results/optimization/matgl/matgl\n", "[12.08|12:32:38] Done!\n", "[12.08|12:32:38] Deleting step2_attempt2_training\n", "[12.08|12:32:38] ##########################\n", "[12.08|12:32:38] ### Step 4 / Attempt 2 ###\n", "[12.08|12:32:38] ##########################\n", "[12.08|12:32:38] MD Steps: 1462 (cumulative: 1778)\n", "[12.08|12:32:38] Current engine settings:\n", "[12.08|12:32:38]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step4_attempt1_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:32:38] Running step4_attempt2_simulation...\n", "[12.08|12:33:18] Job step4_attempt2_simulation finished\n", "[12.08|12:33:18] Deleting files that are no longer needed...\n", "[12.08|12:33:18] Launching reference calculation\n", "[12.08|12:33:19] Reference calculation finished!\n", "[12.08|12:33:19] Checking success for step4_attempt2\n", "[12.08|12:33:28] CheckEnergy: Checking energy for MDStep1778, n_atoms = 8\n", "[12.08|12:33:28] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:33:28] CheckEnergy: Actual Threshold\n", "[12.08|12:33:28] CheckEnergy: dE/8 -0.0034 0.2000 OK!\n", "[12.08|12:33:28] CheckEnergy: ddE/8 -0.0029 0.0050 OK! (relative to step4_attempt1_simulation:MDStep1778)\n", "[12.08|12:33:28]\n", "[12.08|12:33:28] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:33:28] CheckForces: ------------\n", "[12.08|12:33:28] CheckForces: Reference job from step4_attempt2_reference_calc1\n", "[12.08|12:33:28] CheckForces: Prediction job from final frame (MDStep1778) of step4_attempt2_simulation\n", "[12.08|12:33:28] CheckForces: ------------\n", "[12.08|12:33:28] CheckForces: Histogram of forces\n", "[12.08|12:33:28] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:33:28] CheckForces: -3 0 0\n", "[12.08|12:33:28] CheckForces: -2 1 1\n", "[12.08|12:33:28] CheckForces: -1 9 9\n", "[12.08|12:33:28] CheckForces: 0 12 12\n", "[12.08|12:33:28] CheckForces: 1 2 2\n", "[12.08|12:33:28] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:33:28] CheckForces: Force components with an error exceeding the threshold:\n", "[12.08|12:33:28] CheckForces: Ref Pred Delta Threshold\n", "[12.08|12:33:28] CheckForces: 0.56 -0.14 0.70 0.53\n", "[12.08|12:33:28] CheckForces: Maximum deviation: 0.696 eV/angstrom\n", "[12.08|12:33:28] CheckForces: Actual Threshold\n", "[12.08|12:33:28] CheckForces: # > thr. 1 0 Not OK!\n", "[12.08|12:33:28] CheckForces: MAE 0.126 0.30 OK!\n", "[12.08|12:33:28] CheckForces: R^2 0.896 0.20 OK!\n", "[12.08|12:33:28] CheckForces: --------------------\n", "[12.08|12:33:28]\n", "[12.08|12:33:28] Adding results from step4_attempt2_reference_calc1 to training set\n", "[12.08|12:33:28] Current # training set entries: 13\n", "[12.08|12:33:28] Current # validation set entries: 9\n", "[12.08|12:33:28] Storing data in step4_attempt2_reference_data\n", "[12.08|12:33:28] Deleting step4_attempt1_reference_data\n", "[12.08|12:33:28] Deleting step4_attempt2_reference_calc1\n", "[12.08|12:33:28]\n", "[12.08|12:33:28] Current (cumulative) timings:\n", "[12.08|12:33:28] Time (s) Fraction\n", "[12.08|12:33:28] Ref. calcs 13.96 0.031\n", "[12.08|12:33:28] ML training 281.85 0.621\n", "[12.08|12:33:28] Simulations 157.78 0.348\n", "[12.08|12:33:28]\n", "[12.08|12:33:28]\n", "[12.08|12:33:28]\n", "[12.08|12:33:28] --- Begin summary ---\n", "[12.08|12:33:28] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:33:28] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:33:28] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:33:28] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:33:28] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:33:28] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:33:28] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:33:28] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:33:28] 3 1 SUCCESS Accurate 316 0.4624\n", "[12.08|12:33:28] 4 1 FAILED Inaccurate 1778 0.8213\n", "[12.08|12:33:28] 4 2 FAILED Inaccurate 1778 0.6959\n", "[12.08|12:33:28] --- End summary ---\n", "[12.08|12:33:28]\n", "[12.08|12:33:28] Running more reference calculations....\n", "[12.08|12:33:28] Running reference calculations on frames [97, 105, 112] from step4_attempt2_simulation/ams.rkf\n", "[12.08|12:33:28] Calculating 3 frames in total\n", "[12.08|12:33:28] Running step4_attempt2_reference_calc2\n", "[12.08|12:33:29] Running step4_attempt2_reference_calc3\n", "[12.08|12:33:29] Running step4_attempt2_reference_calc4\n", "[12.08|12:33:30] Reference calculations finished!\n", "[12.08|12:33:30] Adding results from step4_attempt2_reference_calc2 to validation set\n", "[12.08|12:33:30] Adding results from step4_attempt2_reference_calc3 to training set\n", "[12.08|12:33:30] Adding results from step4_attempt2_reference_calc4 to training set\n", "[12.08|12:33:30] Current # training set entries: 15\n", "[12.08|12:33:30] Current # validation set entries: 10\n", "[12.08|12:33:30] Storing data in step4_attempt2_reference_data\n", "[12.08|12:33:30] Deleting step4_attempt2_reference_calc2\n", "[12.08|12:33:30] Deleting step4_attempt2_reference_calc3\n", "[12.08|12:33:30] Deleting step4_attempt2_reference_calc4\n", "[12.08|12:33:30] Launching reparametrization job: step4_attempt2_training\n", "[12.08|12:33:35] JOB matgl STARTED\n", "[12.08|12:33:35] Starting matgl.prerun()\n", "[12.08|12:33:35] matgl.prerun() finished\n", "[12.08|12:33:35] JOB matgl RUNNING\n", "[12.08|12:33:35] Executing matgl.run\n", "[12.08|12:33:45] training_set Optimizer: 001 Epoch: 650 Loss: 0.006988\n", "[12.08|12:33:45] validation_set Optimizer: 001 Epoch: 650 Loss: 0.020304\n", "[12.08|12:33:48] training_set Optimizer: 001 Epoch: 660 Loss: 0.004788\n", "[12.08|12:33:48] validation_set Optimizer: 001 Epoch: 660 Loss: 0.015534\n", "[12.08|12:33:51] training_set Optimizer: 001 Epoch: 670 Loss: 0.003449\n", "[12.08|12:33:51] validation_set Optimizer: 001 Epoch: 670 Loss: 0.013198\n", "[12.08|12:33:53] training_set Optimizer: 001 Epoch: 680 Loss: 0.002209\n", "[12.08|12:33:53] validation_set Optimizer: 001 Epoch: 680 Loss: 0.012154\n", "[12.08|12:33:56] training_set Optimizer: 001 Epoch: 690 Loss: 0.001739\n", "[12.08|12:33:56] validation_set Optimizer: 001 Epoch: 690 Loss: 0.011894\n", "[12.08|12:33:59] training_set Optimizer: 001 Epoch: 700 Loss: 0.001637\n", "[12.08|12:33:59] validation_set Optimizer: 001 Epoch: 700 Loss: 0.010855\n", "[12.08|12:34:02] training_set Optimizer: 001 Epoch: 710 Loss: 0.001323\n", "[12.08|12:34:02] validation_set Optimizer: 001 Epoch: 710 Loss: 0.010669\n", "[12.08|12:34:05] training_set Optimizer: 001 Epoch: 720 Loss: 0.001242\n", "[12.08|12:34:05] validation_set Optimizer: 001 Epoch: 720 Loss: 0.010483\n", "[12.08|12:34:08] training_set Optimizer: 001 Epoch: 730 Loss: 0.001202\n", "[12.08|12:34:08] validation_set Optimizer: 001 Epoch: 730 Loss: 0.010345\n", "[12.08|12:34:10] training_set Optimizer: 001 Epoch: 740 Loss: 0.001194\n", "[12.08|12:34:10] validation_set Optimizer: 001 Epoch: 740 Loss: 0.010335\n", "[12.08|12:34:12] Execution of matgl.run finished with returncode 0\n", "[12.08|12:34:12] JOB matgl FINISHED\n", "[12.08|12:34:12] Starting matgl.postrun()\n", "[12.08|12:34:12] matgl.postrun() finished\n", "[12.08|12:34:13] JOB matgl SUCCESSFUL\n", "[12.08|12:34:21] Running all jobs through AMS....\n", "[12.08|12:34:21] Storing results/optimization/training_set_results/best\n", "[12.08|12:34:21] Storing results/optimization/validation_set_results/best\n", "[12.08|12:34:22] ParAMSResults training_set validation_set\n", "[12.08|12:34:22] energy MAE 0.0036 0.0084 eV\n", "[12.08|12:34:22] forces MAE 0.0260 0.0696 eV/angstrom\n", "[12.08|12:34:22] Newly created parameter file/dir: step4_attempt2_training/results/optimization/matgl/matgl\n", "[12.08|12:34:22] Done!\n", "[12.08|12:34:22] Deleting step4_attempt1_training\n", "[12.08|12:34:22] ##########################\n", "[12.08|12:34:22] ### Step 4 / Attempt 3 ###\n", "[12.08|12:34:22] ##########################\n", "[12.08|12:34:22] MD Steps: 1462 (cumulative: 1778)\n", "[12.08|12:34:22] Current engine settings:\n", "[12.08|12:34:22]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step4_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:34:22] Running step4_attempt3_simulation...\n", "[12.08|12:35:02] Job step4_attempt3_simulation finished\n", "[12.08|12:35:02] Deleting files that are no longer needed...\n", "[12.08|12:35:02] Launching reference calculation\n", "[12.08|12:35:02] Reference calculation finished!\n", "[12.08|12:35:02] Checking success for step4_attempt3\n", "[12.08|12:35:11] CheckEnergy: Checking energy for MDStep1778, n_atoms = 8\n", "[12.08|12:35:11] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:35:11] CheckEnergy: Actual Threshold\n", "[12.08|12:35:11] CheckEnergy: dE/8 -0.0007 0.2000 OK!\n", "[12.08|12:35:11] CheckEnergy: ddE/8 -0.0003 0.0050 OK! (relative to step4_attempt2_simulation:MDStep1778)\n", "[12.08|12:35:11]\n", "[12.08|12:35:11] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:35:11] CheckForces: ------------\n", "[12.08|12:35:11] CheckForces: Reference job from step4_attempt3_reference_calc1\n", "[12.08|12:35:11] CheckForces: Prediction job from final frame (MDStep1778) of step4_attempt3_simulation\n", "[12.08|12:35:11] CheckForces: ------------\n", "[12.08|12:35:11] CheckForces: Histogram of forces\n", "[12.08|12:35:11] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:35:11] CheckForces: -3 0 0\n", "[12.08|12:35:11] CheckForces: -2 3 3\n", "[12.08|12:35:11] CheckForces: -1 9 9\n", "[12.08|12:35:11] CheckForces: 0 8 9\n", "[12.08|12:35:11] CheckForces: 1 4 3\n", "[12.08|12:35:11] CheckForces: 2 0 0\n", "[12.08|12:35:11] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:35:11] CheckForces: All force components are within the acceptable error!\n", "[12.08|12:35:11] CheckForces: Maximum deviation: 0.289 eV/angstrom\n", "[12.08|12:35:11] CheckForces: Actual Threshold\n", "[12.08|12:35:11] CheckForces: # > thr. 0 0 OK!\n", "[12.08|12:35:11] CheckForces: MAE 0.126 0.30 OK!\n", "[12.08|12:35:11] CheckForces: R^2 0.981 0.20 OK!\n", "[12.08|12:35:11] CheckForces: --------------------\n", "[12.08|12:35:11]\n", "[12.08|12:35:11] Adding results from step4_attempt3_reference_calc1 to validation set\n", "[12.08|12:35:11] Current # training set entries: 15\n", "[12.08|12:35:11] Current # validation set entries: 11\n", "[12.08|12:35:11] Storing data in step4_attempt3_reference_data\n", "[12.08|12:35:11] Deleting step4_attempt2_reference_data\n", "[12.08|12:35:11] Deleting step4_attempt3_reference_calc1\n", "[12.08|12:35:11]\n", "[12.08|12:35:11] Current (cumulative) timings:\n", "[12.08|12:35:11] Time (s) Fraction\n", "[12.08|12:35:11] Ref. calcs 16.81 0.031\n", "[12.08|12:35:11] ML training 333.42 0.608\n", "[12.08|12:35:11] Simulations 197.77 0.361\n", "[12.08|12:35:11]\n", "[12.08|12:35:11]\n", "[12.08|12:35:12] Step 4 finished successfully!\n", "[12.08|12:35:12]\n", "[12.08|12:35:12] --- Begin summary ---\n", "[12.08|12:35:12] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:35:12] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:35:12] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:35:12] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:35:12] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:35:12] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:35:12] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:35:12] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:35:12] 3 1 SUCCESS Accurate 316 0.4624\n", "[12.08|12:35:12] 4 1 FAILED Inaccurate 1778 0.8213\n", "[12.08|12:35:12] 4 2 FAILED Inaccurate 1778 0.6959\n", "[12.08|12:35:12] 4 3 SUCCESS Accurate 1778 0.2892\n", "[12.08|12:35:12] --- End summary ---\n", "[12.08|12:35:12]\n", "[12.08|12:35:12] ##########################\n", "[12.08|12:35:12] ### Step 5 / Attempt 1 ###\n", "[12.08|12:35:12] ##########################\n", "[12.08|12:35:12] MD Steps: 8222 (cumulative: 10000)\n", "[12.08|12:35:12] Current engine settings:\n", "[12.08|12:35:12]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step4_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "[12.08|12:35:12] Running step5_attempt1_simulation...\n", "[12.08|12:38:19] Job step5_attempt1_simulation finished\n", "[12.08|12:38:19] Deleting files that are no longer needed...\n", "[12.08|12:38:19] Deleting step3_attempt1_simulation\n", "[12.08|12:38:19] Deleting step4_attempt1_simulation\n", "[12.08|12:38:19] Deleting step4_attempt2_simulation\n", "[12.08|12:38:19] Launching reference calculation\n", "[12.08|12:38:20] Reference calculation finished!\n", "[12.08|12:38:20] Checking success for step5_attempt1\n", "[12.08|12:38:29] CheckEnergy: Checking energy for MDStep10000, n_atoms = 8\n", "[12.08|12:38:29] CheckEnergy: normalization coefficient = 8\n", "[12.08|12:38:29] CheckEnergy: Actual Threshold\n", "[12.08|12:38:29] CheckEnergy: dE/8 -0.0031 0.2000 OK!\n", "[12.08|12:38:29] CheckEnergy: ddE/8 -0.0024 0.0050 OK! (relative to step4_attempt3_simulation:MDStep1778)\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot\n", "[12.08|12:38:29] CheckForces: ------------\n", "[12.08|12:38:29] CheckForces: Reference job from step5_attempt1_reference_calc1\n", "[12.08|12:38:29] CheckForces: Prediction job from final frame (MDStep10000) of step5_attempt1_simulation\n", "[12.08|12:38:29] CheckForces: ------------\n", "[12.08|12:38:29] CheckForces: Histogram of forces\n", "[12.08|12:38:29] CheckForces: eV/Ang Ref Pred\n", "[12.08|12:38:29] CheckForces: -3 1 0\n", "[12.08|12:38:29] CheckForces: -2 3 1\n", "[12.08|12:38:29] CheckForces: -1 10 13\n", "[12.08|12:38:29] CheckForces: 0 7 7\n", "[12.08|12:38:29] CheckForces: 1 2 2\n", "[12.08|12:38:29] CheckForces: 2 0 1\n", "[12.08|12:38:29] CheckForces: 3 1 0\n", "[12.08|12:38:29] CheckForces: Threshold for 0 force: 0.50 eV/angstrom\n", "[12.08|12:38:29] CheckForces: All force components are within the acceptable error!\n", "[12.08|12:38:29] CheckForces: Maximum deviation: 0.506 eV/angstrom\n", "[12.08|12:38:29] CheckForces: Actual Threshold\n", "[12.08|12:38:29] CheckForces: # > thr. 0 0 OK!\n", "[12.08|12:38:29] CheckForces: MAE 0.175 0.30 OK!\n", "[12.08|12:38:29] CheckForces: R^2 0.982 0.20 OK!\n", "[12.08|12:38:29] CheckForces: --------------------\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] Adding results from step5_attempt1_reference_calc1 to validation set\n", "[12.08|12:38:29] Current # training set entries: 15\n", "[12.08|12:38:29] Current # validation set entries: 12\n", "[12.08|12:38:29] Storing data in step5_attempt1_reference_data\n", "[12.08|12:38:29] Deleting step4_attempt3_reference_data\n", "[12.08|12:38:29] Deleting step5_attempt1_reference_calc1\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] Current (cumulative) timings:\n", "[12.08|12:38:29] Time (s) Fraction\n", "[12.08|12:38:29] Ref. calcs 17.45 0.024\n", "[12.08|12:38:29] ML training 333.42 0.453\n", "[12.08|12:38:29] Simulations 385.16 0.523\n", "[12.08|12:38:29]\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] Step 5 finished successfully!\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] --- Begin summary ---\n", "[12.08|12:38:29] Step Attempt Status Reason mdsteps finalframe_forces_max_delta\n", "[12.08|12:38:29] 1 1 FAILED Inaccurate 10 4.0531\n", "[12.08|12:38:29] 1 2 FAILED Inaccurate 10 1.8621\n", "[12.08|12:38:29] 1 3 FAILED Inaccurate 10 2.5543\n", "[12.08|12:38:29] 1 4 SUCCESS Accurate 10 0.4309\n", "[12.08|12:38:29] 2 1 FAILED Inaccurate 56 0.9920\n", "[12.08|12:38:29] 2 2 FAILED Inaccurate 56 1.0806\n", "[12.08|12:38:29] 2 3 SUCCESS Accurate 56 0.3735\n", "[12.08|12:38:29] 3 1 SUCCESS Accurate 316 0.4624\n", "[12.08|12:38:29] 4 1 FAILED Inaccurate 1778 0.8213\n", "[12.08|12:38:29] 4 2 FAILED Inaccurate 1778 0.6959\n", "[12.08|12:38:29] 4 3 SUCCESS Accurate 1778 0.2892\n", "[12.08|12:38:29] 5 1 SUCCESS Accurate 10000 0.5062\n", "[12.08|12:38:29] --- End summary ---\n", "[12.08|12:38:29]\n", "[12.08|12:38:29] The engine settings for the final trained ML engine are:\n", "[12.08|12:38:29]\n", "\n", "Engine MLPotential\n", " Backend MatGL\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/userdoc/PythonExamples/active-learning-single-molecule-setup-run/plams_workdir.006/sal/step4_attempt2_training/results/optimization/matgl/matgl\n", "EndEngine\n", "\n", "\n", "\n", "[12.08|12:38:29] Active learning finished!\n", "[12.08|12:38:29] Rerunning the simulation with the final parameters...\n", "[12.08|12:42:11] Copying final_production_simulation/ams.rkf to ams.rkf\n", "[12.08|12:42:11] Goodbye!\n", "[12.08|12:42:11] JOB sal FINISHED\n", "[12.08|12:42:11] JOB sal SUCCESSFUL\n" ] } ], "source": [ "job.run(watch=True);" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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 }