Skip to content

Commit

Permalink
Minor fixes (#1)
Browse files Browse the repository at this point in the history
* Minor fixes

* Reverted to BN -> Relu

* Changed when to use BN
  • Loading branch information
hbertrand authored and mgermain committed Mar 6, 2019
1 parent 44c7ae7 commit eedda0b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 6 additions & 6 deletions tutoriaux/CNN/CNN_a_completer.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@
"</ul>\n",
"\n",
"Dans `forward(input)` on applique aux données d'entrée les différentes couches définies dans `__init__` les unes après les autres.\n",
"Il est aussi nécessaire de changer la forme des données juste avant l'appel à la couche linéaire, celle-ci n'acceptant que des données uni-dimensionelles. Il est possible d'utiliser <a href=\"https://pytorch.org/docs/stable/tensors.html#torch.Tensor.view\">`torch.Tensor.view(new_shape)`</a> pour cela.\n",
"\n",
"Enfin, `model.to(\"cuda:0\")` permet de passer le modèle sur GPU.\n",
"\n",
Expand Down Expand Up @@ -1189,7 +1190,7 @@
"id": "OFj_W39u5voa"
},
"source": [
"## Méthodes pratique pour améliorer l'entraînement "
"## Méthodes pratiques pour améliorer l'entraînement"
]
},
{
Expand All @@ -1200,21 +1201,20 @@
},
"source": [
"### Batch normalization\n",
"Le *batch normalization* est une astuce qui permet, en pratique, au modèle d'apprendre plus vite. Elle agit comme régularisateur en normalisant les entrées par batch, de manière différentiable.\n",
"Le *batch normalization* est une astuce qui permet, en pratique, au modèle d'apprendre plus vite. Elle agit comme régularisateur en normalisant les entrées par batch, de manière différentiable. Les données en sorties de cette couche auront une moyenne proche de 0 et une variance proche de 1.\n",
"\n",
"![Alt Text](https://github.com/mila-iqia/ecole_dl_mila_ivado_2018_10/blob/master/tutoriaux/CNN/images/1_Hiq-rLFGDpESpr8QNsJ1jg.png?raw=true)\n",
"\n",
"\n",
"Pour plus d'informations sur le *Batch Normalization*, consultez cet [article](https://arxiv.org/pdf/1502.03167v3.pdf).\n",
"\n",
"### Boîte à outils\n",
"Pour ajouter la batch normalisation dans LeNet5, il suffit de l'ajouter parmis les couches de l'`__init__`. La classe suivante peut être utilisée:\n",
"Pour ajouter la batch normalisation dans LeNet5, il suffit de l'ajouter parmis les couches de l'`__init__` et de l'appeler après chaque couche de convolution. La classe suivante peut être utilisée:\n",
"<ul>\n",
"<li><a href=\"http://pytorch.org/docs/master/nn.html#torch.nn.BatchNorm2d\">`nn.BatchNorm2d(num_features)`</a> : permet d'ajouter de la batch normalisation à une entrée à 4 dimensions présentée sous la forme d'un tenseur à 3 dimensions.</li>\n",
"</ul>\n",
"\n",
"### Implémentation\n",
"Ci-dessous vous pouvez remarquer que la classe LeNet5 a été modifiée pour y ajouter la batch normalisation."
"### Implémentation\n"
]
},
{
Expand Down Expand Up @@ -1505,7 +1505,7 @@
" root = os.path.join(root, split_type)\n",
"\n",
" for classes in sorted(os.listdir(root)):\n",
" images[classes] = []\n",
" images[classes] = []\n",
" path_classes = os.path.join(root, classes)\n",
"\n",
" for root_, _, fnames in sorted(os.walk(path_classes)):\n",
Expand Down
12 changes: 6 additions & 6 deletions tutoriaux/CNN/CNN_solutions.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -835,6 +835,7 @@
"</ul>\n",
"\n",
"Dans `forward(input)` on applique aux données d'entrée les différentes couches définies dans `__init__` les unes après les autres.\n",
"Il est aussi nécessaire de changer la forme des données juste avant l'appel à la couche linéaire, celle-ci n'acceptant que des données uni-dimensionelles. Il est possible d'utiliser <a href=\"https://pytorch.org/docs/stable/tensors.html#torch.Tensor.view\">`torch.Tensor.view(new_shape)`</a> pour cela.\n",
"\n",
"Enfin, `model.to(\"cuda:0\")` permet de passer le modèle sur GPU.\n",
"\n",
Expand Down Expand Up @@ -1201,7 +1202,7 @@
"id": "OFj_W39u5voa"
},
"source": [
"## Méthodes pratique pour améliorer l'entraînement "
"## Méthodes pratiques pour améliorer l'entraînement"
]
},
{
Expand All @@ -1212,21 +1213,20 @@
},
"source": [
"### Batch normalization\n",
"Le *batch normalization* est une astuce qui permet, en pratique, au modèle d'apprendre plus vite. Elle agit comme régularisateur en normalisant les entrées par batch, de manière différentiable.\n",
"Le *batch normalization* est une astuce qui permet, en pratique, au modèle d'apprendre plus vite. Elle agit comme régularisateur en normalisant les entrées par batch, de manière différentiable. Les données en sorties de cette couche auront une moyenne proche de 0 et une variance proche de 1.\n",
"\n",
"![Alt Text](https://github.com/mila-iqia/ecole_dl_mila_ivado_2018_10/blob/master/tutoriaux/CNN/images/1_Hiq-rLFGDpESpr8QNsJ1jg.png?raw=true)\n",
"\n",
"\n",
"Pour plus d'informations sur le *Batch Normalization*, consultez cet [article](https://arxiv.org/pdf/1502.03167v3.pdf).\n",
"\n",
"### Boîte à outils\n",
"Pour ajouter la batch normalisation dans LeNet5, il suffit de l'ajouter parmis les couches de l'`__init__`. La classe suivante peut être utilisée:\n",
"Pour ajouter la batch normalisation dans LeNet5, il suffit de l'ajouter parmis les couches de l'`__init__` et de l'appeler après chaque couche de convolution. La classe suivante peut être utilisée:\n",
"<ul>\n",
"<li><a href=\"http://pytorch.org/docs/master/nn.html#torch.nn.BatchNorm2d\">`nn.BatchNorm2d(num_features)`</a> : permet d'ajouter de la batch normalisation à une entrée à 4 dimensions présentée sous la forme d'un tenseur à 3 dimensions.</li>\n",
"</ul>\n",
"\n",
"### Implémentation\n",
"Ci-dessous vous pouvez remarquer que la classe LeNet5 a été modifiée pour y ajouter la batch normalisation."
"### Implémentation\n"
]
},
{
Expand Down Expand Up @@ -1563,7 +1563,7 @@
" root = os.path.join(root, split_type)\n",
"\n",
" for classes in sorted(os.listdir(root)):\n",
" images[classes] = []\n",
" images[classes] = []\n",
" path_classes = os.path.join(root, classes)\n",
"\n",
" for root_, _, fnames in sorted(os.walk(path_classes)):\n",
Expand Down

0 comments on commit eedda0b

Please sign in to comment.