{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Enabling notebook extension splitcell/splitcell...\n",
" - Validating: \u001b[32mOK\u001b[0m\n",
"Enabling notebook extension rise/main...\n",
" - Validating: \u001b[32mOK\u001b[0m\n"
]
}
],
"source": [
"!jupyter nbextension enable splitcell/splitcell\n",
"!jupyter nbextension enable rise/main"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"hide_input": false,
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"eos access: ✗\n"
]
}
],
"source": [
"import tensorflow as tf\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use(\"ggplot\")\n",
"from matplotlib import colors, cm\n",
"\n",
"import os\n",
"import pandas as pd\n",
"from tensorflow import keras\n",
"\n",
"from tutorial import get_file"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"plt.rcParams[\"axes.grid\"] = False\n",
"plt.rcParams.update({'font.size': 20})\n",
"plt.rcParams.update({'figure.figsize': (12,9)})\n",
"plt.rcParams['lines.markersize'] = 8"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# IML Workshop Tutorial\n",
"\n",
"### Introduction to the Basics of Deep Learning"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
"
\n",
"\n",
"Martin Erdmann, **Yannik Rath**"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Introduction"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"This first session is an introduction to neural networks and deep learning\n",
" * Neural network basics\n",
" * Training and generalization\n",
" * Fully connected and convolutional architectures\n",
" * Physics!\n",
"\n",
"This is a tutorial, not a talk. Feel free to ask questions throughout!"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Plan of Today"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=timetable.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"Marked tutorials use same technical setup"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Setup for Tutorial"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"You can follow along locally or use Swan/Binder:\n",
"\n",
"* Go to https://github.com/3pia/iml2019\n",
"\n",
"* Suggested: Click `Open in SWAN`\n",
"\n",
" $\\qquad \\rightarrow$ Enter `/eos/user/m/mrieger/public/iml2019/intro/setup.sh` as environment script\n",
"\n",
" $\\qquad \\rightarrow$ Press `Start my session`\n",
" \n",
"* Alternatives: Binder, local execution with docker\n",
"\n",
" $\\qquad \\rightarrow$ Choose Tensorflow v1 image\n",
" \n",
"* Second tutorial will use v2 image"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=github_page.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Gitter Channel"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"Chat channel for the tutorials at https://gitter.im/IMLWorkshop19:\n",
"\n",
"* For any questions that may arise during the open part or afterwards (especially remote)\n",
"\n",
"* For us to share code snippets if needed"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=gitter.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Deep Learning Libraries"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"Many different frameworks for deep learning, steered mostly from Python\n",
"\n",
"Two most popular:\n",
"* Tensorflow ( + higher level abstractions with Keras)\n",
"* Pytorch"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"source": [
"![](https://cernbox.cern.ch/index.php/s/xDYiSmbleT3rip4/download?path=%2Fintro%2Fimages&files=dl_popularity.png)\n",
"https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
"In this tutorial, we will use **TensorFlow + Keras**\n",
"\n",
"Side note: Many changes coming with TensorFlow 2.0. Some glimpses into the future later today"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Training by Example"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"image/png": "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l2lrrGtuaa7qqtYdbd5EYXamMwNbJsYIwFlnnbU7VAPsu+++vOtd71p1/v77778qVEPyl+rUU0/lpz/9KXfeeWddY1gZqgH23ntvXvva17Jr1y42b95c1/UkSVJ75KamYXik/hcecnjl1w2PkJs6fdXTVctOlspHupilIE1K9RegwyUhP/zhDwGYmJhYdezZz342Q0NDq56/+eab+eQnP8l3v/td7r33Xnbu3LnH8V/96ld71FPXcuedd/Kxj32MzZs3c+edd/LQQw/tcfyuu+5KfS1JktQ++bFxCpPrV08k7r1v+RprSILzi18Ft9xY+f/ql8tHtcpOKmWuLmGwblYP/AV48MEHAXj84x+/6tiaNWtWzU5/+ctf5owzzmCfffbhuc99Lk9+8pNZu3Yt+XyeG264gRtuuGFV0K5m27ZtnHrqqdx///0cf/zxPO95z2O//fZjaGiIX/ziF1xxxRV1XU+SJLVXPmygsG4imTBcmH90xrlWcB4bL/u6iuUcwzVKPRuZOW8jg3WzeuAvwH777QfAPffcw5Of/OQ9ju3atYvf/va3e9Q3/83f/A177703X/7ylzn66KP3OP/tb387N9xwQ13vf9lll7F9+3YuueQSXv7yl+9x7Morr+SKK66o63qSJKn9loLyHlIE57KvqyA3NU1x65bKNdZlyke6icG6Sb3wF+DYY4/lhz/8ITfeeOOqYP3tb3+bxcXFPZ674447GBsbWxWqC4UCN998c9n3yOfzq66z/HoAp5566qpj9YZ0SZLUGZU6oNUTnGupWHZSrXyki7h4sUn5sfFk16GVM9Nd9BdgqQXeRz7yEbZv3777+Yceeoj3vve9q84//PDDuf322/eoey4Wi/zt3/4ts7OzZd/joIMOolKXlsMPPxyAb33rW3s8/+///u/84z/+Y31fjCRJartC3Jh067jlJtj6Q7jlJoqXXkQhbsz8vfJhA7kzz4d1E3DMsbBuIukG0gWd1mpxxjoDleqOuiFUA/zhH/4hr3/96/nUpz7FSSedxKmnnrq7j/UBBxzAIYccssf5b3jDG3jnO9/JC17wAl74whey1157cfPNNzM7O8vU1BTXXHPNqveYnJzkqquu4jWveQ3HHnssa9asYWJigomJCV7zmtcQY+RNb3oTp556Kocccghbt27luuuu40/+5E/413/913b9p5AkSXWq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\n",
"text/plain": [
"