Skip to content
This repository was archived by the owner on Feb 22, 2020. It is now read-only.

Sessions 6@10

Axel Bravo edited this page May 3, 2019 · 6 revisions

Session 6

Course content

Review of the advancements in the project made by participants, due to the complications aroused, several recommendations focused on:

  • Data load
  • Data pipeline preparation
  • Neural Network keras Sequential() explanation

Homework

Sources for help if feeling lost:

Techniques recommended to implement, for next session:

  • Data augmentation

Session 7

Course content

As we have seen during this session, starting the data pipeline for DL, specifically CV problems is not as straight forward as for a tabular ML problem. So don't discourage yourself...

Any way I recommend to have for next session, at least:

  • A grasp of the dataset
  • A robust file loading pipeline, flow_from_directory
  • Also to start exploring the "Data augmentation" option, just by knowing what they are, look "ImageDataGenerator class", read the "Arguments", link here

Homework

Continue the plant seedings classification challenge, it will be extended for a couple of sessions.


Session 8

Course content

During this session, a practical approach has been taken, correcting the doubts that arose:

  • fit_generator: in documentation, it states that the parameter steps_per_epoch
    • Integer. Total number of steps (batches of samples) to yield from generator before declaring one epoch finished and starting the next epoch.

Though if we have used as image preprocessor the option of flow, we will generate as many steps as informed on the parameter steps_per_epoch. Being the resulting train dataset of batch_size * steps_per_epoch; see also image preprocessing

Homework

Delivery of the plant seedings classification challenge! Try to do you best and explore the possibilities that transfer learning opens. For guidance on how to start implementing it, please refer to this: tutorial 1 and tutorial 2


Session 9

Course content

During this lesson we have done the final review of the solutions presented by participants, during the correction it was detected the presence of overfitting. Techniques used to prevent overfitting:

  • Architectures techniques, i.e. techniques that depend on the selection of layers and their properties; are dropout and regularizations L1 sparse weigths and L2 weights value reduction (for a visual representation of L2 effect see here).
  • Model techniques, i.e. techniques that depend not on the architecture, rather on the training process performed to the network; for this case, recommended to use early stop and reduce learning rate as base techniques.

Homework

For next week, starting the exploratory data analysis of our next challenge the Histopathologic Cancer Detection, see here. 😈

Additionally, I recommend reading the following tutorial, to know how do convolutional layers learn.


Session 10

Course content

During this course the main goal has been achieved, the exploration, data pipeline creation and initial architecture creation of the challenge. Several doubts have been explained and to mention the different of _Keras flows:

  • flow_from_directory* : takes images from the directories, with a special structure.
    • category_1
    • category_2
    • category_x
  • flow_from_dataframe*: takes images from a directory, with no need of special structure, the category is informed in the dataframe.

Homework

For the next week week, the goal is to try different architectures trying to improve in the Kaggle leaderboard rank. It is recommended to start with an initial architecture, and try small modifications over it; the smaller the better to be able to understand the effect of the modification. For this is recommended to write the assumptions before constructing the architecture, and after the conclusions.

Clone this wiki locally