Applying Machine Learning to String Theory
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.