Skip to content

Instantly share code, notes, and snippets.

@ia35
Created April 26, 2019 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ia35/ed65b56b7301d743b19cf9061c6129b5 to your computer and use it in GitHub Desktop.
Save ia35/ed65b56b7301d743b19cf9061c6129b5 to your computer and use it in GitHub Desktop.
dl_tuto_1_pour_commencer.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "dl_tuto_1_pour_commencer.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/ia35/ed65b56b7301d743b19cf9061c6129b5/dl_tuto_1_pour_commencer.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"metadata": {
"id": "wka7htpfWrhG",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# Pour commencer\n",
"\n",
"---"
]
},
{
"metadata": {
"id": "XMLxYWXWW5zM",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## Destinataires de ce blog\n",
"Ce tutoriel est destiné aux informaticiens, aux statisticiens, aux ingénieurs et plus généralement à tous ceux qui veulent se former au Deep Learning (apprentissage profond) à l'aide d'exemples logiciels. Il n'y aura pas de discussion théorique sur les bénéfices de telle ou telle méthode. L'approche est \"apprendre en codant\"\n",
"\n",
"Ces cours sont fortement inspirés de ceux de [fastai](https://course.fast.ai/index.html), @jeremyphoward."
]
},
{
"metadata": {
"id": "-EpK9nwLho4e",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"##Conventions\n",
"Il est probable, que de temps en temps, notamment dans les premiers tutoriels, vous rencontriez des expressions, des termes, des noms d'outils que vous ne connaissez pas. \n",
"\n",
"Ceux-ci sont généralement expliqués et commentés, sur mon site http://intelligence-artificielle.agency/ \n",
"\n",
"Par exemple, je ne décris pas Anaconda dans mes tutoriels car c'est inutile avec Colaboratory mais je le présente sur mon [site](http://intelligence-artificielle.agency/lexique/). "
]
},
{
"metadata": {
"id": "ABmbkXDkYZLE",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## Prérequis\n",
"###Python 3\n",
"\n",
"Il faut savoir coder, de préférence en Python et encore mieux avec Python 3.\n",
"Si vous ne le savez pas, mais que vous connaissez un autre langage de programmation, alors vous pourrez (peut-être) suivre ces tutoriels, mais vous devrez probablement, de temps en temps, vous former à quelques aspects spécifiques du langage.\n",
"\n",
"Vous trouverez ici quelques [ressources](https://forums.fast.ai/t/recommended-python-learning-resources/26888). \n",
"\n",
"Pour ne pas être exclusif à Google et fastai, notez qu'il y a aussi de très bons tutoriels Python chez [Microsoft Azure](https://notebooks.azure.com/#).\n",
"\n",
"###Environnement\n",
"Soit vous utilisez [Google Colaboratory,](https://colab.research.google.com/notebooks/welcome.ipynb) ce que je recommande fortement puisqu'ill vous permet d'écrire et d'exécuter du code, de le sauvegarder et le partager gratuitement, depuis votre navigateur. \n",
"\n",
"Colab utilise [Jupyter](https://jupyter.org) (ce que je fais systématiquement) et vous permet, cerise sur le gâteau, de bénéficier gratuitement de GPU et même TPU.\n",
"\n",
"Mais si pour une raison que j'ignore, vous préférez travaillez en local ou avec d'autres [ressources](http://intelligence-artificielle.agency/le-cloud-pour-le-deep-learning/), alors installez [Anaconda](http://intelligence-artificielle.agency/anaconda/).\n",
"\n",
"###Packages\n",
"J'utilise de nombreux packages Python, ceux qui sont relatifs à la Data Science. Parmi ceux-là, [NumPy](https://www.numpy.org), [Pandas](https://pandas.pydata.org), [Matplotlib](https://matplotlib.org), [Scikit-Learn](https://scikit-learn.org/stable/).\n"
]
},
{
"metadata": {
"id": "Xg0fDGmLhnTn",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## CPU / GPU / TPU\n",
"Difficile de se former sérieusement au DL sans utiliser au minimum des GPU (graphical processing units) au lieu de CPU (computing processing units). Avec Colab, vous pouvez même disposer de TPU (Tensor Processing Unit)\n",
"\n",
"Les GPU sont, la plupart du temps, ceux de [NVIDIA](https://www.nvidia.com/fr-fr/about-nvidia/ai-computing/). Ils utilisent l’architecture de traitement parallèle [CUDA](https://www.nvidia.fr/object/cuda-parallel-computing-fr.html).\n",
"\n",
"Pour ceux qui veulent savoir pourquoi les GPU sont plus performants que les CPU, c'est [ici](https://www.quora.com/Why-are-GPUs-well-suited-to-deep-learning). Le résumé est que les GPU sont meilleurs que les CPU pour faire du calcul matriciel, or c'est l'essentiel des calculs en DL et pour ceux qui s'intéressent aux TPU, c'est [ici](https://cloud.google.com/blog/products/ai-machine-learning/what-makes-tpus-fine-tuned-for-deep-learning). \n",
"\n",
"Lorsque vous exécutez un notebook sous Colab, n'oubliez pas de modifier le type d'exécution en GPU (ou TPU) : *Exécution/Modifier le type d'exécution/GPU*"
]
},
{
"metadata": {
"id": "KBE_sPyhrHd_",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# Framework\n",
"\n",
"Le choix le plus difficile à faire est celui du framework, c'est à dire de l'outil d'apprentissage automatique. \n",
"\n",
"Faut-il choisir TensorFlow, PyTorch, CNTK, Mxnet, Caffe2, … Gluon, Keras, fastai, ... \n",
"\n",
"Mes critères de [choix](https://en.wikipedia.org/wiki/Comparison_of_deep-learning_software) sont les suivants : \n",
"\n",
"1. l'outil doit-être Open Source\n",
"2. il doit disposer d'une API Python\n",
"3. il doit avoir une forte communauté\n",
"4. il doit être bien documenté\n",
"5. il doit supporter CUDA\n",
"\n",
"A partir de ces critères, il reste deux choix importants : TensorFlow et PyTorch.\n",
"Les deux avantages principaux de TensorFlow sont :\n",
"\n",
"1. sa très forte communauté, bien supérieure à celle de Pytorch,\n",
"2. et le support de Keras\n",
"\n",
"La force de PyTorch est fastai car ce sont les meilleurs cours en ligne gratuits sur le DL.\n",
"\n",
"Devant l'impossibilité de faire un choix radical, j'utiliserai les deux : [TensorFlow](https://www.tensorflow.org) avec [Keras](https://keras.io) et [PyTorch](https://pytorch.org) avec [fastai](https://www.fast.ai).\n"
]
},
{
"metadata": {
"id": "sw5GfcekEPW2",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
@ia35
Copy link
Author

ia35 commented Apr 26, 2019

Pour commencer l'apprentissage du Deep Learning
Avant de commencer, les prérequis et les outils

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment