$24
Introduction
The objective of this session is to implement a convolutional network and test the in uence of the architecture on the performance.
You can get information about the practical sessions and the provided helper functions on the course’s website.
https://fleuret.org/dlc/
You can start this session with the example from the course:
https://fleuret.org/dlc/src/dlc_practical_4_embryo.py
• Training function
Re-organize the code to de ne and use a function
train_model(model, train_input, train_target, mini_batch_size)
Hint: My version is 605 characters long
• Test error
Write and test a function
compute_nb_errors(model, input, target, mini_batch_size)
To compute the number of prediction mistakes using a \winner-take-all" rule, that is the class with the largest output is the predicted one.
Run the training and test ten times, record the test error rates.
With 100 epochs for training, the test error should be around 8% with the small sets, and around 0:7% with the full ones.
Hint: My version is 424 characters long
1 of 2
• In uence of the number of hidden units
In the default network, the number of hidden units is 200.
Modify the class constructor to take a parameter for that value, and run the training and compute the test error for 10, 50, 200, 500, and 1; 000 hidden units.
• Three convolutional layers
Write a new class Net2 with three convolutional layers. Pick the structure you want.
2 of 2