Skip to content

Mads-PeterVC/imlms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Machine Learning for Materials Science

Contact for feedback: machri@phys.au.dk

Lesson plan

  1. Python for computational science intro / recap | Link
  2. Pytorch / The Atomic Simulation Environment | Link
  3. Potential energy surfaces | Link
  4. Introduction to Machine Learning | Link
  5. Machine Learning for atomic systems 1 | Link
  6. Machine Learning for atomic systems 2 | Link

Installation

Colab installion

If you use Google colab, which is likely the easist way to get started, then installation is simple - at the top of the notebook just ensure that the line

!pip install git+https://github.com/Mads-PeterVC/imlms

Has been executed, then the required dependencies will have been installed in your session. If you using colab make sure to save a copy of each notebook to your Google drive or download it to your machine.

Local installation

If you want to your local machine, then I recommend creating a virtual environment and installing the dependencies in there.

Virtual environment

To create a virtual environment open a terminal - and then assuming you have Python installed (if not see here or here.) run the command

python3 -m venv <path/to/env>

Where you decide on <path/to/env>. Once the command is completed you can check that the environment has been created

ls <path/to/env/>

And then you can activate it

source <path/to/env>/bin/activate

Dependencies

We will be using a variety of packages so to make managing all of that easier I have made this repo a package too - installing it will install all of the required packages.

Installation can be done like so, in a terminal with an active virtual environment

pip install git+https://github.com/Mads-PeterVC/imlms

Goals

  • Atomistic description of materials

    • Governed by Quantum Mechanics
      • Most commonly approximate using density functional theory.
    • Develop an understanding of potential energy surfaces.
      • Structural stability
      • Dynamics / Vibrational properties
      • Chemical reactions
    • Be able to use ASE to setup structures and start calculations.
      • Make a cluster / nanoparticle
      • Make a surface w. adsorbate.
  • Implement a simple potential energy surface

    • Lennard Jones
    • Lennard Jones with forces from Pytorch
      • Requires some introduction to Pytorch
    • Local optimization
    • Global optimization
  • Introduction to Machine Learning

    • Motivation
      • Reducing the computational cost of simulations by replacing expensive calculations with cheap ones, extends system size and time scales.
    • What is machine learning?
      • Categories
        • Supervised
        • Unsupervised
        • (Reinforcement learning)
      • Learning from data
        • What is 'data'?
          • How is it represented to a computer?
      • Algorithms
        • Nearest neighour classification
        • Curve fitting
        • Neural Networks
    • Practical
      • Sklearn: Excellent for off-the-shelf algorithms of many types.
      • Pytorch: for NN / Gradient based things
  • Implement trainable machine learning potential

    • Understand descriptors / Invariance
      • Implement some Fingerprint or Behler-Parinello type descriptor.
    • Understand neural networks
      • Feed forward layers
      • Activation functions
      • Gradient Descent
      • Batching
    • Learning a potential
      • Global anzats
      • Local anzats

About

Introduction to Machine Learning for Materials Science / Unison 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors