Timing:
- components 1+2 = 1.5h (1h work, 30min explanation)
- components 3+4+5 = 1h (45min work, 15min explanation)
- assembly task 6A+6B = 1.5h (1h work, 30min explanation)
- receptive field = 45min (30min work, 15min explanation)
- we didn't get to the equivariance questions and beyond, which is fine
Good things:
- Splitting Task 6 into 6A and 6B was a good decision. There is room for further improvement, see below
Improvement ideas for next year:
- introduce (PyTorch) classes better:
- add a simple extra exercise in the very beginning to show the concept of a Class (for example: UpSample)
- use a class for Upsample as well, it is confusing that everything is a class, except upsampling
- improve documentation of Task 6A:
- explain the 4 parameters better, potentially also change their name (
num_fmaps etc)
- specifically note that the first level is different, and that
in_channels only affects the first level
- maybe add a second numerical example when
in_channels is not 1
- bug: error in compute_receptive_field helper, fov *= downsample_factor is wrong (answer correct for k=2, not for k=3)
- bug: in compute_receptive_field helper (order of concatenation is not properly tested)
Timing:
Good things:
Improvement ideas for next year:
num_fmapsetc)in_channelsonly affects the first levelin_channelsis not 1