This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cs501r_f2018:lab3 [2018/09/13 23:02] carr |
cs501r_f2018:lab3 [2018/09/19 04:20] rpottorff |
||
---|---|---|---|
Line 13: | Line 13: | ||
====Deliverable:==== | ====Deliverable:==== | ||
- | For this lab, you will submit an ipython notebook via learningsuite. | + | For this lab, you will submit an ipython notebook via learningsuite. This is where you build your first deep neural network! |
+ | |||
+ | For this lab, we'll be combining several different concepts that we've covered during class, including new layer types, initialization strategies, and an understanding of convolutions. | ||
+ | |||
+ | ---- | ||
+ | ====Grading standards:==== | ||
* 30% Part 0: Successfully followed lab video and typed in code | * 30% Part 0: Successfully followed lab video and typed in code | ||
Line 23: | Line 29: | ||
---- | ---- | ||
- | //Part 0:// Watch and follow video tutorial | + | ====Detailed specs:==== |
+ | |||
+ | |||
+ | **Part 0:** Watch and follow video tutorial | ||
**Part 1:** Re-implement a Conv2D module with parameters and a CrossEntropy loss function. | **Part 1:** Re-implement a Conv2D module with parameters and a CrossEntropy loss function. | ||
+ | |||
You will need to use | You will need to use | ||
https://pytorch.org/docs/stable/nn.html#torch.nn.Parameter | https://pytorch.org/docs/stable/nn.html#torch.nn.Parameter | ||
Line 36: | Line 46: | ||
http://andyljones.tumblr.com/post/110998971763/an-explanation-of-xavier-initialization | http://andyljones.tumblr.com/post/110998971763/an-explanation-of-xavier-initialization | ||
- | **Part 3:** Print the number of parameters in your network and plot accuracy of your training and validation set over time. You should experiment with some deep networks and see if you can't get a network with close to 1,000,000 parameters. | + | **Part 3:** Print the number of parameters in your network and plot accuracy of your training and validation set over time. You should experiment with some deep networks and see if you can get a network with close to 1,000,000 parameters. |
**Part 4:** Learn about how convolution layers affect the shape of outputs, and answer the following quiz questions. Include these in a new markdown cell in your jupyter notebook. | **Part 4:** Learn about how convolution layers affect the shape of outputs, and answer the following quiz questions. Include these in a new markdown cell in your jupyter notebook. | ||
Line 46: | Line 56: | ||
(c=3, h=10, w=10) => (c=22, h=10, w=10) : | (c=3, h=10, w=10) => (c=22, h=10, w=10) : | ||
- | (c=3, h=10, w=10) => (c=65, h=11, w=11) : | + | (c=3, h=10, w=10) => (c=65, h=12, w=12) : |
(c=3, h=10, w=10) => (c=7, h=15, w=15) : | (c=3, h=10, w=10) => (c=7, h=15, w=15) : | ||
Line 62: | Line 72: | ||
Using Kernel size of 5x3: | Using Kernel size of 5x3: | ||
- | (c=3, h=10, w=10) => (c=10, h=8, w=8) : (out_channels=10, kernel_size=(5, 5), padding=(1, 0)) | + | (c=3, h=10, w=10) => (c=10, h=8, w=8) : |
(c=3, h=10, w=10) => (c=100, h=10, w=10) : | (c=3, h=10, w=10) => (c=100, h=10, w=10) : |