diff --git a/tutorials/instructor/intro.ipynb b/tutorials/instructor/intro.ipynb
index e5c5c1c50..2c6bde906 100644
--- a/tutorials/instructor/intro.ipynb
+++ b/tutorials/instructor/intro.ipynb
@@ -93,7 +93,7 @@
" return tab_contents\n",
"\n",
"\n",
- "video_ids = [('Youtube', 'cV2q-vpdKUA'), ('Bilibili', 'BV1Zg4y1A7tJ')]\n",
+ "video_ids = [('Youtube', 'FwjyhCLeqx0'), ('Bilibili', 'BV1QE421P7EJ')]\n",
"tab_contents = display_videos(video_ids, W=854, H=480)\n",
"tabs = widgets.Tab()\n",
"tabs.children = tab_contents\n",
@@ -110,7 +110,7 @@
"source": [
"## Concepts map\n",
"\n",
- "\n",
+ "\n",
"\n",
"*Image made by John Butler, with expert color advice from Isabelle Butler*"
]
diff --git a/tutorials/intro.ipynb b/tutorials/intro.ipynb
index 476864b9a..2c6bde906 100644
--- a/tutorials/intro.ipynb
+++ b/tutorials/intro.ipynb
@@ -1,438 +1,152 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "execution": {},
- "pycharm": {
- "name": "#%% md\n"
- },
- "id": "rV1aHp-Og4ZB"
- },
- "source": [
- "# Introduction\n",
- "\n",
- "Welcome to the Neuromatch deep learning course!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "execution": {},
- "id": "idpprpJEg4ZF"
- },
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "execution": {},
- "id": "HdBSWAkGg4ZF"
- },
- "source": [
- "## Orientation Video"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "cellView": "form",
- "execution": {},
- "pycharm": {
- "name": "#%%\n"
- },
- "id": "H-nu38BHg4ZF",
- "outputId": "51b4ef13-4236-429f-e2c9-6c6a4e1fd390",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 582,
- "referenced_widgets": [
- "906dab7b90ad4fb08b9bda77b33de2a9",
- "7984b265aa16422a94433654e35d57f4",
- "3cc6b2d011bd48ec8fc729c555d57a7b",
- "036d8a77155f4c44abfb0966253c8cfb",
- "e6bb5228e8d9497ebf1b10e9f4dbc480",
- "cf5b368ef6154e8f8a4c34bfee794684"
- ]
- }
- },
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "text/plain": [
- "Tab(children=(Output(), Output()), _titles={'0': 'Youtube', '1': 'Bilibili'})"
- ],
- "application/vnd.jupyter.widget-view+json": {
- "version_major": 2,
- "version_minor": 0,
- "model_id": "906dab7b90ad4fb08b9bda77b33de2a9"
- }
- },
- "metadata": {}
- }
- ],
- "source": [
- "# @markdown\n",
- "from ipywidgets import widgets\n",
- "from IPython.display import YouTubeVideo\n",
- "from IPython.display import IFrame\n",
- "from IPython.display import display\n",
- "\n",
- "\n",
- "class PlayVideo(IFrame):\n",
- " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n",
- " self.id = id\n",
- " if source == 'Bilibili':\n",
- " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n",
- " elif source == 'Osf':\n",
- " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n",
- " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n",
- "\n",
- "\n",
- "def display_videos(video_ids, W=400, H=300, fs=1):\n",
- " tab_contents = []\n",
- " for i, video_id in enumerate(video_ids):\n",
- " out = widgets.Output()\n",
- " with out:\n",
- " if video_ids[i][0] == 'Youtube':\n",
- " video = YouTubeVideo(id=video_ids[i][1], width=W,\n",
- " height=H, fs=fs, rel=0)\n",
- " print(f'Video available at https://youtube.com/watch?v={video.id}')\n",
- " else:\n",
- " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n",
- " height=H, fs=fs, autoplay=False)\n",
- " if video_ids[i][0] == 'Bilibili':\n",
- " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n",
- " elif video_ids[i][0] == 'Osf':\n",
- " print(f'Video available at https://osf.io/{video.id}')\n",
- " display(video)\n",
- " tab_contents.append(out)\n",
- " return tab_contents\n",
- "\n",
- "\n",
- "video_ids = [('Youtube', 'cV2q-vpdKUA'), ('Bilibili', 'BV1Zg4y1A7tJ')]\n",
- "tab_contents = display_videos(video_ids, W=854, H=480)\n",
- "tabs = widgets.Tab()\n",
- "tabs.children = tab_contents\n",
- "for i in range(len(tab_contents)):\n",
- " tabs.set_title(i, video_ids[i][0])\n",
- "display(tabs)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "execution": {},
- "id": "_eLZR6Mrg4ZH"
- },
- "source": [
- "## Concepts map\n",
- "\n",
- "\n",
- "\n",
- "*Image made by John Butler, with expert color advice from Isabelle Butler*"
- ]
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "colab_type": "text",
+ "execution": {},
+ "id": "view-in-github"
+ },
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "execution": {},
+ "pycharm": {
+ "name": "#%% md\n"
}
- ],
- "metadata": {
- "colab": {
- "name": "intro",
- "provenance": [],
- "toc_visible": true,
- "include_colab_link": true
- },
- "kernel": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.7.10"
- },
- "widgets": {
- "application/vnd.jupyter.widget-state+json": {
- "906dab7b90ad4fb08b9bda77b33de2a9": {
- "model_module": "@jupyter-widgets/controls",
- "model_name": "TabModel",
- "model_module_version": "1.5.0",
- "state": {
- "_dom_classes": [],
- "_model_module": "@jupyter-widgets/controls",
- "_model_module_version": "1.5.0",
- "_model_name": "TabModel",
- "_titles": {
- "0": "Youtube",
- "1": "Bilibili"
- },
- "_view_count": null,
- "_view_module": "@jupyter-widgets/controls",
- "_view_module_version": "1.5.0",
- "_view_name": "TabView",
- "box_style": "",
- "children": [
- "IPY_MODEL_7984b265aa16422a94433654e35d57f4",
- "IPY_MODEL_3cc6b2d011bd48ec8fc729c555d57a7b"
- ],
- "layout": "IPY_MODEL_036d8a77155f4c44abfb0966253c8cfb",
- "selected_index": 0
- }
- },
- "7984b265aa16422a94433654e35d57f4": {
- "model_module": "@jupyter-widgets/output",
- "model_name": "OutputModel",
- "model_module_version": "1.0.0",
- "state": {
- "_dom_classes": [],
- "_model_module": "@jupyter-widgets/output",
- "_model_module_version": "1.0.0",
- "_model_name": "OutputModel",
- "_view_count": null,
- "_view_module": "@jupyter-widgets/output",
- "_view_module_version": "1.0.0",
- "_view_name": "OutputView",
- "layout": "IPY_MODEL_e6bb5228e8d9497ebf1b10e9f4dbc480",
- "msg_id": "",
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Video available at https://youtube.com/watch?v=cV2q-vpdKUA\n"
- ]
- },
- {
- "output_type": "display_data",
- "data": {
- "text/plain": "",
- "text/html": "\n \n ",
- "image/jpeg": "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\n"
- },
- "metadata": {}
- }
- ]
- }
- },
- "3cc6b2d011bd48ec8fc729c555d57a7b": {
- "model_module": "@jupyter-widgets/output",
- "model_name": "OutputModel",
- "model_module_version": "1.0.0",
- "state": {
- "_dom_classes": [],
- "_model_module": "@jupyter-widgets/output",
- "_model_module_version": "1.0.0",
- "_model_name": "OutputModel",
- "_view_count": null,
- "_view_module": "@jupyter-widgets/output",
- "_view_module_version": "1.0.0",
- "_view_name": "OutputView",
- "layout": "IPY_MODEL_cf5b368ef6154e8f8a4c34bfee794684",
- "msg_id": "",
- "outputs": [
- {
- "output_type": "stream",
- "name": "stdout",
- "text": [
- "Video available at https://www.bilibili.com/video/BV1Zg4y1A7tJ\n"
- ]
- },
- {
- "output_type": "display_data",
- "data": {
- "text/plain": "<__main__.PlayVideo at 0x7f7800123220>",
- "text/html": "\n \n "
- },
- "metadata": {}
- }
- ]
- }
- },
- "036d8a77155f4c44abfb0966253c8cfb": {
- "model_module": "@jupyter-widgets/base",
- "model_name": "LayoutModel",
- "model_module_version": "1.2.0",
- "state": {
- "_model_module": "@jupyter-widgets/base",
- "_model_module_version": "1.2.0",
- "_model_name": "LayoutModel",
- "_view_count": null,
- "_view_module": "@jupyter-widgets/base",
- "_view_module_version": "1.2.0",
- "_view_name": "LayoutView",
- "align_content": null,
- "align_items": null,
- "align_self": null,
- "border": null,
- "bottom": null,
- "display": null,
- "flex": null,
- "flex_flow": null,
- "grid_area": null,
- "grid_auto_columns": null,
- "grid_auto_flow": null,
- "grid_auto_rows": null,
- "grid_column": null,
- "grid_gap": null,
- "grid_row": null,
- "grid_template_areas": null,
- "grid_template_columns": null,
- "grid_template_rows": null,
- "height": null,
- "justify_content": null,
- "justify_items": null,
- "left": null,
- "margin": null,
- "max_height": null,
- "max_width": null,
- "min_height": null,
- "min_width": null,
- "object_fit": null,
- "object_position": null,
- "order": null,
- "overflow": null,
- "overflow_x": null,
- "overflow_y": null,
- "padding": null,
- "right": null,
- "top": null,
- "visibility": null,
- "width": null
- }
- },
- "e6bb5228e8d9497ebf1b10e9f4dbc480": {
- "model_module": "@jupyter-widgets/base",
- "model_name": "LayoutModel",
- "model_module_version": "1.2.0",
- "state": {
- "_model_module": "@jupyter-widgets/base",
- "_model_module_version": "1.2.0",
- "_model_name": "LayoutModel",
- "_view_count": null,
- "_view_module": "@jupyter-widgets/base",
- "_view_module_version": "1.2.0",
- "_view_name": "LayoutView",
- "align_content": null,
- "align_items": null,
- "align_self": null,
- "border": null,
- "bottom": null,
- "display": null,
- "flex": null,
- "flex_flow": null,
- "grid_area": null,
- "grid_auto_columns": null,
- "grid_auto_flow": null,
- "grid_auto_rows": null,
- "grid_column": null,
- "grid_gap": null,
- "grid_row": null,
- "grid_template_areas": null,
- "grid_template_columns": null,
- "grid_template_rows": null,
- "height": null,
- "justify_content": null,
- "justify_items": null,
- "left": null,
- "margin": null,
- "max_height": null,
- "max_width": null,
- "min_height": null,
- "min_width": null,
- "object_fit": null,
- "object_position": null,
- "order": null,
- "overflow": null,
- "overflow_x": null,
- "overflow_y": null,
- "padding": null,
- "right": null,
- "top": null,
- "visibility": null,
- "width": null
- }
- },
- "cf5b368ef6154e8f8a4c34bfee794684": {
- "model_module": "@jupyter-widgets/base",
- "model_name": "LayoutModel",
- "model_module_version": "1.2.0",
- "state": {
- "_model_module": "@jupyter-widgets/base",
- "_model_module_version": "1.2.0",
- "_model_name": "LayoutModel",
- "_view_count": null,
- "_view_module": "@jupyter-widgets/base",
- "_view_module_version": "1.2.0",
- "_view_name": "LayoutView",
- "align_content": null,
- "align_items": null,
- "align_self": null,
- "border": null,
- "bottom": null,
- "display": null,
- "flex": null,
- "flex_flow": null,
- "grid_area": null,
- "grid_auto_columns": null,
- "grid_auto_flow": null,
- "grid_auto_rows": null,
- "grid_column": null,
- "grid_gap": null,
- "grid_row": null,
- "grid_template_areas": null,
- "grid_template_columns": null,
- "grid_template_rows": null,
- "height": null,
- "justify_content": null,
- "justify_items": null,
- "left": null,
- "margin": null,
- "max_height": null,
- "max_width": null,
- "min_height": null,
- "min_width": null,
- "object_fit": null,
- "object_position": null,
- "order": null,
- "overflow": null,
- "overflow_x": null,
- "overflow_y": null,
- "padding": null,
- "right": null,
- "top": null,
- "visibility": null,
- "width": null
- }
- }
- }
+ },
+ "source": [
+ "# Introduction\n",
+ "\n",
+ "Welcome to the Neuromatch deep learning course!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "execution": {}
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "execution": {}
+ },
+ "source": [
+ "## Orientation Video"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "cellView": "form",
+ "execution": {},
+ "pycharm": {
+ "name": "#%%\n"
}
+ },
+ "outputs": [],
+ "source": [
+ "# @markdown\n",
+ "from ipywidgets import widgets\n",
+ "from IPython.display import YouTubeVideo\n",
+ "from IPython.display import IFrame\n",
+ "from IPython.display import display\n",
+ "\n",
+ "\n",
+ "class PlayVideo(IFrame):\n",
+ " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n",
+ " self.id = id\n",
+ " if source == 'Bilibili':\n",
+ " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n",
+ " elif source == 'Osf':\n",
+ " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n",
+ " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n",
+ "\n",
+ "\n",
+ "def display_videos(video_ids, W=400, H=300, fs=1):\n",
+ " tab_contents = []\n",
+ " for i, video_id in enumerate(video_ids):\n",
+ " out = widgets.Output()\n",
+ " with out:\n",
+ " if video_ids[i][0] == 'Youtube':\n",
+ " video = YouTubeVideo(id=video_ids[i][1], width=W,\n",
+ " height=H, fs=fs, rel=0)\n",
+ " print(f'Video available at https://youtube.com/watch?v={video.id}')\n",
+ " else:\n",
+ " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n",
+ " height=H, fs=fs, autoplay=False)\n",
+ " if video_ids[i][0] == 'Bilibili':\n",
+ " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n",
+ " elif video_ids[i][0] == 'Osf':\n",
+ " print(f'Video available at https://osf.io/{video.id}')\n",
+ " display(video)\n",
+ " tab_contents.append(out)\n",
+ " return tab_contents\n",
+ "\n",
+ "\n",
+ "video_ids = [('Youtube', 'FwjyhCLeqx0'), ('Bilibili', 'BV1QE421P7EJ')]\n",
+ "tab_contents = display_videos(video_ids, W=854, H=480)\n",
+ "tabs = widgets.Tab()\n",
+ "tabs.children = tab_contents\n",
+ "for i in range(len(tab_contents)):\n",
+ " tabs.set_title(i, video_ids[i][0])\n",
+ "display(tabs)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "execution": {}
+ },
+ "source": [
+ "## Concepts map\n",
+ "\n",
+ "\n",
+ "\n",
+ "*Image made by John Butler, with expert color advice from Isabelle Butler*"
+ ]
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "collapsed_sections": [],
+ "include_colab_link": true,
+ "name": "intro",
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernel": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
},
- "nbformat": 4,
- "nbformat_minor": 0
-}
\ No newline at end of file
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/tutorials/student/intro.ipynb b/tutorials/student/intro.ipynb
index e5c5c1c50..2c6bde906 100644
--- a/tutorials/student/intro.ipynb
+++ b/tutorials/student/intro.ipynb
@@ -93,7 +93,7 @@
" return tab_contents\n",
"\n",
"\n",
- "video_ids = [('Youtube', 'cV2q-vpdKUA'), ('Bilibili', 'BV1Zg4y1A7tJ')]\n",
+ "video_ids = [('Youtube', 'FwjyhCLeqx0'), ('Bilibili', 'BV1QE421P7EJ')]\n",
"tab_contents = display_videos(video_ids, W=854, H=480)\n",
"tabs = widgets.Tab()\n",
"tabs.children = tab_contents\n",
@@ -110,7 +110,7 @@
"source": [
"## Concepts map\n",
"\n",
- "\n",
+ "\n",
"\n",
"*Image made by John Butler, with expert color advice from Isabelle Butler*"
]