This repository is a collection of notebooks and other materials used for the "Applied Artificial Intelligence for Materials Science and Engineering" course at The University of Chicago. It is very much a work in progress, so expect large changes in content and organization in the next few months.
Each subject area is organized into its own directory with notebooks, lecture notes and Python environment. They will generally be arranged as having multiple subfolders that focus on a specific subtopic.
You can run all of the notebooks using Binder. Simply click this link to launch a copy of the repository on cloud resources. It will not save your changes, but you can use it for exploring the notebooks and - if you download notebooks to your computer - completing the practical assignments.
Either download the repository as a ZIP file or clone it using git.
If you install using git, you can update the course materials through calling
git pull from within the directory.
Otherwise, you will need to re-download the repository to receive updates.
Installing the environment is easiest if you are running Ubuntu Linux. First install the build toolsneeded to compile Fortran and C++ packages used by some packages, which are listed listed in apt.txt.
Then, use mamba to build the Python environment:
conda install -c conda-forge mamba mamba env create --file environment.yml --force
See further instructions for a step-by-step for Ubuntu and other operating systems.
The course is broken out in to the following modules (some of which are TBD):
- Effectively using Python for data science: Working quickly and reproducibly with Anaconda and Jupyter
- Topics: Managing Python environments PyData Stack, Jupyter Notebooks
- The Materials Data Ecosystem: Infrastructure for finding, using and sharing data
- Topics: Databases, laboratory information systems, image publication
- Molecular property prediction: How physics, chemistry and machine learning fit together
- Topics: Kernel and graph methods, chemoinformatics
- Supervised learning for inorganics: The importance of microstructure, composition and processing
- Topics: Representations for inorganic materials, coping with processing variation
- Generative methods for materials: Augmenting human creativity with AI
- Topics: Generative Adversarial Networks, Reinforcement Learning, Autoencoders
- Bayesian parameter estimation: Achieving greater certainty in using physics-based models
- Topics: UQ for CALPHAD, model selection, learning from noisy data
- Computer vision and characterization: Better microscopy through intelligent software
- Topics: Image segmentation, classification and noise reduction
- Optimal experimental design: Accelerate design optimization with software-assisted planning
- Topics: Bayesian Optimization, active learning
Each course module contains its own instruction notebooks and assignments for evaluating comprehension.
The answer keys for the comprehension assignments are encrypted and can be decrypted with the provided script. Message me to get the passphrase or notebooks.
Some modules are broken into a few different subdirectories with their own notebooks and assignments.
Further resources available for this course are available elsewhere: