/avogadro-2021

Code and demos - XVII Avogadro Meeting (2021)

Primary LanguageJupyter NotebookMIT LicenseMIT

Applying Machine Learning to String Theory

nbviewer Binder Open In Colab

Speakers: Riccardo Finotello, Veronica Guidetti

Code: Riccardo Finotello <riccardo.finotello@cea.fr>

Venue: XVII Avogadro Meeting, 20 - 22 December 2021, Galileo Galilei Institute for Theoretical Physics, Arcetri, Italy

Synopsis

This repository contains complementary material and code for the course "Applying Machine Learning to String Theory". In this small demo, we introduce some technical instruments to deploy a simple AI for the recognition of handwritten digits. The main idea is to showcase the use of convolutional neural networks and autoencoders in a simple realisation, and to show possible generalisations and applications. The notes used in the lecture are also available.

Installation using Conda

First, make sure to clone the repository:

git clone https://github.com/thesfinox/avogadro-2021.git avogadro2021
cd avogadro2021

The environment.yml should contain all the necessary information to install the Conda environment correctly. To create it, use

conda env create -f environment.yml

If you prefer to manually create the environment, use

conda create -n avogadro2021 tensorflow-gpu numpy seaborn notebook

from the command line.

Installation using Pip

If you prefer to use the native pip package manager, and notably if you use Google Colab, you may want to create a dedicated virtual environment:

python -m venv ./avogadro2021
source ./avogadro2021/bin/activate
pip install tensorflow numpy seaborn notebook

Visualisation in Google Colab

If you use Google Colab, make sure to add and run a cell containing

!pip install tensorflow numpy seaborn notebook

at the beginning of the notebook. Remember also to activate a GPU environment to speed up the training process: go to Edit > Notebook Settings, and select the GPU environment from the Hardware Accelerator dropdown.

Other Visualisation Tools and Shared Notebooks

You can also simply visualise the notebook using NBviewer by clicking on the badge at the beginning of this file. Otherwise, the notebook can also be run interactively using Binder through the corresponding badge. Notice that, in this case, quite some time may be dedicated to the automatic installation of the packages. The execution will be on CPU: the training of the algorithms may take longer than GPU. You can set the labels TRAIN_CNN and TRAIN_AE to False to automatically use the pretrained weights.