{ "cells": [ { "cell_type": "markdown", "id": "5c117f05-f316-4aac-8d53-30824e7487e0", "metadata": {}, "source": [ "## Load a SimpleActiveLearningJob from disk\n", "\n", "Use ``load_external`` to load the job from the previous Jupyter Notebook tutorial. Make sure to provide the correct path!" ] }, { "cell_type": "code", "execution_count": 2, "id": "6991e304-c3ed-49a6-bf81-d1123540958c", "metadata": {}, "outputs": [], "source": [ "from scm.simple_active_learning import SimpleActiveLearningJob\n", "import scm.plams as plams\n", "import matplotlib.pyplot as plt\n", "import os" ] }, { "cell_type": "code", "execution_count": 3, "id": "cd1c69be-d5fa-4f67-8213-9237b70b2943", "metadata": {}, "outputs": [], "source": [ "# replace the path with your own path !\n", "previous_sal_job_path = os.path.expandvars(\"$AMSHOME/examples/SAL/Output/SingleMolecule/plams_workdir/sal\")\n", "job = SimpleActiveLearningJob.load_external(previous_sal_job_path)" ] }, { "cell_type": "markdown", "id": "ec7211b3-c28f-4163-a56d-c376f0939925", "metadata": {}, "source": [ "## Access the log file\n", "\n", "The results of the active learning are printed in a human-friendly format in the log file. For example, let's print the last few lines:" ] }, { "cell_type": "code", "execution_count": 4, "id": "da07e278-6da4-4da2-bfcd-19274f6f8506", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[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", "\n" ] } ], "source": [ "n_lines = 40\n", "end_of_logfile = \"\\n\".join(job.results.read_file(\"simple_active_learning.log\").split(\"\\n\")[-n_lines:])\n", "print(end_of_logfile)" ] }, { "cell_type": "markdown", "id": "b935ea12-d613-425e-ba6f-5ca771480f84", "metadata": {}, "source": [ "Above we can easily see that there were 5 active learning steps, and the engine settings for the final trained ML potential.\n", "\n", "Tip: You can copy-paste the lines from ``Engine MLPotential`` to ``EndEngine`` into AMSinput to use those engine settings for other production simulations in the GUI." ] }, { "cell_type": "markdown", "id": "6bb116b9-e4e4-4cad-954a-5ba153dd5e3f", "metadata": {}, "source": [ "## Access the MD trajectories\n", "\n", "By default, the ``ActiveLearning%AtEnd%RerunSimulation`` option is enabled. This means that after the active learning loop has finished, the entire simulation is rerun from scratch with the final set of parameters.\n", "\n", "There are thus two trajectories:\n", "\n", "* A trajectory run only with the final parameters, and that is just a normal AMS job. This trajectory is located in the directory ``final_production_simulation`` if it exists.\n", "\n", "* A trajectory where the parameters have been updated on-the-fly, and which may also have an inconsistent MD sampling frequency. This trajectory is located in one of the ``stepX_attemptY_simulation`` directories.\n", "\n", "Use the ``get_simulation_directory`` method to get the corresponding directories.\n", "\n", "Let's start with the **final production simulation**:" ] }, { "cell_type": "code", "execution_count": 5, "id": "c8746749-2d8f-48cc-bc92-50c3ad8200ec", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/hellstrom/adfhome/scripting/scm/simple_active_learning/examples/Output/SingleMolecule/plams_workdir/sal/final_production_simulation\n" ] } ], "source": [ "final_production_simulation_dir = job.results.get_simulation_directory(allow_final=True)\n", "print(final_production_simulation_dir)" ] }, { "cell_type": "markdown", "id": "00fb1b05-6569-442b-b950-622f5c38d789", "metadata": {}, "source": [ "View the trajectory in AMSmovie:" ] }, { "cell_type": "code", "execution_count": 6, "id": "b16c1c88-dffb-4c34-a98d-8dc9fef20516", "metadata": {}, "outputs": [], "source": [ "final_job = plams.AMSJob.load_external(final_production_simulation_dir)\n", "final_rkf = final_job.results.rkfpath()" ] }, { "cell_type": "code", "execution_count": 7, "id": "b6a9b03f-bfe7-47f1-ba36-ec67bb1b8948", "metadata": {}, "outputs": [], "source": [ "!amsmovie {final_rkf}" ] }, { "cell_type": "markdown", "id": "fc7ebca5-ff48-43bf-9528-a6a7874f8e2f", "metadata": {}, "source": [ "Let's then get the **other (with on-the-fly-updated-engine) trajectory**: " ] }, { "cell_type": "code", "execution_count": 8, "id": "9fd27790-6216-43ac-94c0-1436edd59621", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/hellstrom/adfhome/scripting/scm/simple_active_learning/examples/Output/SingleMolecule/plams_workdir/sal/step5_attempt1_simulation\n" ] } ], "source": [ "onthefly_simulation_dir = job.results.get_simulation_directory(allow_final=False)\n", "print(onthefly_simulation_dir)" ] }, { "cell_type": "code", "execution_count": 9, "id": "27aec137-ad2c-4410-afdc-d55d2466b8dc", "metadata": {}, "outputs": [], "source": [ "onthefly_job = plams.AMSJob.load_external(onthefly_simulation_dir)\n", "onthefly_rkf = onthefly_job.results.rkfpath()" ] }, { "cell_type": "code", "execution_count": 10, "id": "50472af0-90b2-48ff-bec1-2f958d1331df", "metadata": {}, "outputs": [], "source": [ "!amsmovie {onthefly_rkf}" ] }, { "cell_type": "markdown", "id": "f16a7e03-9584-4d13-9b24-b106b146a3e6", "metadata": {}, "source": [ "Let's compare energy-vs-frame for the two trajectories:" ] }, { "cell_type": "code", "execution_count": 11, "id": "8edcccd8-5e11-4c4f-b230-bd81676249ba", "metadata": {}, "outputs": [ { "data": { "image/png": "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s1n+5m/+hu985zts3ryZ73znOwDs2rWL6667jnXr1vHZz37W2v+b3/wml112GZs3b+ad73wnhUKh6jVf/OIXMzg4yObNm/n1r39tbb/vvvt41ateZd2/9957efWrXz1j78XpJJV1lIqDw6nitGlpxI/fDyefmtnXXHIBvPQfG+6yc+dOtmzZUrattbWVVatWkc/n2b59O0888QR+v5+zzz6bP/qjP2LlylK+g8/n46Mf/Sjbtm3jc5/7HKDdX88++yz3338/sViMs88+m3e9613s27eP73znOzzwwAN4vV7e/e53861vfYs3velNZX//rrvu4uUvf7nVPfkrX/kKAM9//vO59dZbGRoaoqenh//8z/+0jOF8I1FmVByl4uAwHRyjMgdRSqFzFWpvf8ELXkBbWxsAmzZt4vDhw2VGpR4ve9nL8Pv9+P1+ent7GRgY4L777uOxxx6zeoWlUil6e3ubPlYR4Y1vfCPf/OY3eetb38pDDz3EN77xjaafP5dIZmzuL0epODhMC8eoNGISRTFbnHfeefzgB+XhoWg0ytGjR3G73TVb399xxx185CMfAeDLX/5yzdet9TylFG9+85v5h3/4h7J9K1+vu7u77vG+9a1v5RWveAWBQIDXvva1eDzz82NVplScmIqDw7RwYipzkBe84AUkk0lrxV8oFHjf+97HW97yFkKhUM3nvOpVr2L79u1s376drVu3EolEiMViTf2t73//+wwODgIwOjrK4cOHq16vEcuWLWPZsmV87GMfm9cB/FTWUSoODqeKY1TmICLCHXfcwfe+9z02btzIWWedRSAQ4O///u+bfo3nPe957Nq1qyxQX4tNmzbxsY99jBe/+MVceOGFvOhFL+LEiRNTPubXv/71rFy5kk2bKnuGzh8STqDeweGUmdXW93Mdp/X9zPGe97yHiy++mLe97W01H58P7+vf3vk039l2lHSuyJ+/5GxufV7N7HUHhymRzRd5/MgYV6zrOtOHMmOckdb3DouHLVu2sGPHDt7whjec6UM5JZLZAm1BL+C0aXGYOe5+6gQ3ffFhjo4mJ995ATA/I6oOc4rHHnvsTB/CjJDMFogEvAzGMk6XYocZYzieAWAwlmFlZ+2Y6ELCUSo1WMwuwdlgvryfiWyesM+N1+Ui68RUHGaIaCoHwESq+TZL8xnHqFQQCAQYGRmZNxfCuY5S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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(\n", " final_job.results.get_history_property(\"Time\", \"MDHistory\"),\n", " final_job.results.get_history_property(\"EngineEnergy\"),\n", ")\n", "plt.plot(\n", " onthefly_job.results.get_history_property(\"Time\", \"MDHistory\"),\n", " onthefly_job.results.get_history_property(\"EngineEnergy\"),\n", ")\n", "plt.legend([\"Final\", \"On-the-fly\"])\n", "plt.xlabel(\"Time (fs)\")\n", "plt.ylabel(\"Engine energy (hartree)\");" ] }, { "cell_type": "markdown", "id": "94e2bab0-0bc1-4d7b-bb6c-f7bfafc71b97", "metadata": {}, "source": [ "The energy profiles look quite similar. For the on-the-fly trajectory, there are more datapoints for short times since the Simple Active Learning tool samples more frequently in the beginning of the simulation when there are only a few MD steps per active learning step." ] }, { "cell_type": "markdown", "id": "d43181e1-f76c-4a32-9ddd-5996d981c4d4", "metadata": {}, "source": [ "## Access the ParAMS training results\n", "\n", "Similarly to the final production trajectory, there is an input option ``ActiveLearning%AtEnd%RetrainModel`` which will retrain the model at the end, guaranteeing that all the generated reference data is used during the training or validation. However, this option is off by default.\n", "\n", "The method ``get_params_results_directory()`` returns the ParAMS results directory, which can be\n", "* used as the value for ``MachineLearning%LoadModel`` to continue with another active learning run, or\n", "* opened in the ParAMS GUI to view all results, including loss function minimization and predicted-vs-reference scatter plots\n", "\n", "The method ``get_params_job()`` returns a ``ParAMSJob`` whose results can directly be accessed using the normal ``ParAMSJob`` and ``ParAMSResults`` python APIs." ] }, { "cell_type": "code", "execution_count": 12, "id": "c5e72c41-dc4d-46fa-855d-24256cf557d6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/hellstrom/adfhome/scripting/scm/simple_active_learning/examples/Output/SingleMolecule/plams_workdir/sal/step4_attempt1_training/results\n" ] } ], "source": [ "params_results_dir = job.results.get_params_results_directory(allow_final=True)\n", "print(params_results_dir)" ] }, { "cell_type": "markdown", "id": "30cb7d21-db9b-4613-a5c6-68b3f21addbc", "metadata": {}, "source": [ "**Open it in the ParAMS GUI**:" ] }, { "cell_type": "code", "execution_count": 13, "id": "070c3a5d-509b-43c6-ba37-4be432d487bb", "metadata": {}, "outputs": [], "source": [ "!params -gui \"{params_results_dir}\"" ] }, { "cell_type": "markdown", "id": "60348ad8-3615-4473-8f5d-f760d824a8d8", "metadata": {}, "source": [ "The ParAMS GUI is the best way to quickly get an overview of the data sets and results.\n", "\n", "However, it can also be useful to **access results from Python**. \n", "\n", "The details of the ParAMSJob and ParAMSResults classes are shown in the ParAMS Python examples, here we just provide a quick example:" ] }, { "cell_type": "code", "execution_count": 14, "id": "fa9cc66c-93e2-4ae7-9407-f3a92798511c", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "params_job = job.results.get_params_job()\n", "params_job.results.plot_simple_correlation(\"forces\", source=\"best\");" ] }, { "cell_type": "markdown", "id": "a42527f5-8498-4acd-bcf6-1ffa1fb589b5", "metadata": {}, "source": [ "If you want to access individual data entries or the MAE in Python, you can use the ``params_job.results.get_data_set_evaluator()`` method. See the ParAMS DataSetEvaluator documentation for details." ] }, { "cell_type": "markdown", "id": "95af11e4-8c9b-4922-a061-3efbc2c53456", "metadata": {}, "source": [ "## Access the production engine settings\n", "\n", "The engine settings used for production simulation can be accessed from the ParAMS job:" ] }, { "cell_type": "code", "execution_count": 15, "id": "8b435a36-a937-4199-b4fb-ada7bcc0fd18", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Engine MLPotential\n", " Backend M3GNet\n", " MLDistanceUnit angstrom\n", " MLEnergyUnit eV\n", " Model Custom\n", " ParameterDir /home/hellstrom/adfhome/scripting/scm/simple_active_learning/examples/Output/SingleMolecule/plams_workdir/sal/step4_attempt1_training/results/optimization/m3gnet/m3gnet\n", "EndEngine\n", "\n", "\n" ] } ], "source": [ "engine_settings = params_job.results.get_production_engine_settings()\n", "print(plams.AMSJob(settings=engine_settings).get_input())" ] }, { "cell_type": "markdown", "id": "26f36de7-0c44-4b49-8958-3dee5bb3e23e", "metadata": {}, "source": [ "## Access the reference data" ] }, { "cell_type": "markdown", "id": "f549be48-c774-4d40-9675-a8cdbd1a297e", "metadata": {}, "source": [ "The ``stepX_attemptY_reference_data`` directories can be accessed using ``get_reference_data_directory()``:" ] }, { "cell_type": "code", "execution_count": 16, "id": "50384340-2c0d-4133-8921-51b99e76ae1b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/hellstrom/adfhome/scripting/scm/simple_active_learning/examples/Output/SingleMolecule/plams_workdir/sal/step5_attempt1_reference_data\n" ] } ], "source": [ "ref_dir = job.results.get_reference_data_directory()\n", "print(ref_dir)" ] } ], "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 }