"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"CV4GS - Jupyter Notebook tutorial"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"In this tutorial, we will cover:\n",
"\n",
"* Basic Jupyter notebook aspects: cell types, kernel, workflow, shortcuts\n",
"* Markdown syntax\n",
"* Magic commands to expand notebook functionalities\n",
"* Widgets\n",
"* Miscelaneous: converting notebooks, tunneling through SSH"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# What is a Jupyter Notebook?"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"- a notebook is made up of **cells**. There are 3 main types of cells: \n",
" - `Code cells` \n",
" ⇒ supports \"Julia\", \"Python\", or \"R\" languages (=**Ju**lia, **Pyt**hon, **R** ) \n",
" ⇒ press esc+`y` to turn cell into code cell\n",
" - `Markdown cells` \n",
" ⇒ uses the \"Markdown\" language to write text, add images, equations, etc. \n",
" ⇒ press esc+`m` to turn cell into markdown cell\n",
" - `Raw cells` (rarely used) \n",
" ⇒ plain text \n",
" ⇒ press esc+`r` to turn cell into raw cell\n",
"- the notebook **kernel** is a \"computational engine\" that executes the code contained in a Notebook. Here we set a \"Python 3\" to excecute python code. (Kernels for many other languages exist)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Code cell"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"The cell below is a `Code cell` (default type) with Python code. \n",
"\n",
"Press `shift + return` to execute it. The result will get rendered beneath the cell. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
}
],
"source": [
"x = 1\n",
"y = 2\n",
"print(x+y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Variables are shared between cells. Try executing the cell below:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4\n"
]
}
],
"source": [
"print(y + 2)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"
Note: Jupyter notebooks are expected to be run from top to bottom, so executing cells out of order can result in errors as variables may need undefined.
"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Figures will be plotted in the cell:"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from matplotlib import pyplot as plt\n",
"x = [1,2,3,4,5]\n",
"y = [6,7,8,9,10]\n",
"plt.plot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Markdown cell"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[`Markdown`](https://en.wikipedia.org/wiki/Markdown) is a lightweight markup language* for creating formatted text. "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"> \"A markup language is a system for annotating a document in a way that is syntactically distinguishable from the text, meaning when the document is processed for display, the markup language is not shown, and is only used to format the text.\" ([wikipedia](https://en.wikipedia.org/wiki/Markup_language)) \n",
"Examples: HTML, LaTeX, RTF, etc.\n",
"\n",
"Key design goal of `Markdown` language is readability, ommiting obvious tags and formatting instructions like those used by HTML, RTF, etc. "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"
Important: Press \"M\" key to convert cell into \"Markdown cell\"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Jupyter keyboard shortcuts"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* `Esc` & `Enter`: switch to command or edit mode\n",
"* `m` => switch cell to markdown type\n",
"* `y` => switch cell to code type\n",
" \n",
"\n",
"* `Shift-Enter`: execute cell, jump to cell below (or create a new one if last cell is selected)\n",
"* `Ctrl-Enter`: execute cell, insert new cell below\n",
" \n",
"\n",
"* `b` => add below the current one (Note you have to be in `esc` mode.)\n",
"* `a` => add above the current one (Note you have to be in `esc` mode.)\n",
"* `d+d` => delete cell (Note you have to be in `esc` mode.)\n",
"* `o` => hide/show cell output\n",
"* `ctrl+shift+minus`: split cell\n",
"\n",
"* `shift+tab`: open documentation of a function\n",
"* `f`: find text in cell/notebook (Note you have to be in `esc` mode.)\n",
"* `alt+c`: comment code (if 'comment-uncomment' jupyter extension is enabled)\n",
"* `ctrl+\\`: comment code (american keyboard layout)\n",
"* `ctrl+}`: comment code (latin american keyboard layout)\n",
"\n",
" \n",
"\n",
"* `0+0` => restart notebook kernel the current one (Note you have to be in `esc` mode.)\n",
"* `ctrl+s` => save notebook"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Markdown syntax\n",
"The human-readable syntax allows to format text in many ways: make headings, emphasize text (bolding, italicizing, ...), creating numered/bulleted lists, add links, format mathematical symbols, make tables, etc.\n",
"\n",
"Syntax reference: [link](https://www.markdownguide.org/basic-syntax/)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## line break"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
" First line with two spaces after (or character). \n",
" And the second line"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Rendered output:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First line with two spaces after. \n",
"And the second line"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## headers"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"# Header 1\n",
"## Header 2\n",
"### Header 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"HTML syntax to simulate title (no numbering):"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"This is a title"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Rendered output:\n",
" \n",
"This is a title"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## lists"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### ordered lists"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"1. First item\n",
"2. Second item\n",
"3. Third item"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Rendered output:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. First item\n",
"2. Second item\n",
"3. Third item"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### unordered lists"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"- first bullet point\n",
"- second bullet point\n",
"- third bullet point\n",
" - sub point\n",
" - sub point"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Rendered output:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- first bullet point\n",
"- second bullet point\n",
"- third bullet point\n",
" - sub point\n",
" - sub point"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### task list"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"- [x] first task\n",
"- [ ] second task"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Rendered output:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- [x] first task\n",
"- [ ] second task"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### definition list"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Markdown syntax:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"