User Tools

Site Tools


cs501r_f2018:lab3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs501r_f2018:lab3 [2018/09/13 23:02]
carr
cs501r_f2018:lab3 [2018/09/20 15:50]
sadler [Detailed specs:]
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 32: Line 42:
      ​https://​pytorch.org/​docs/​stable/​torch.html#​torch.log      ​https://​pytorch.org/​docs/​stable/​torch.html#​torch.log
            
-**Part 2:** Implement a few initialization strategies ​including ​Xe initialization (sometimes called Xavier), Orthogonal initailization,​ and uniform random. You can specify which strategy you want to use with a parameter. Helpful links include:+**Part 2:** Implement a few initialization strategies ​which can include ​Xe initialization (sometimes called Xavier), Orthogonal initailization,​ and uniform random. You can specify which strategy you want to use with a parameter. Helpful links include:
     https://​hjweide.github.io/​orthogonal-initialization-in-convolutional-layers (or the orignal paper: http://​arxiv.org/​abs/​1312.6120)     https://​hjweide.github.io/​orthogonal-initialization-in-convolutional-layers (or the orignal paper: http://​arxiv.org/​abs/​1312.6120)
     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=20, w=20) : 
   ​   ​
 Using a Kernel size of 5x5: Using a Kernel size of 5x5:
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) : 
cs501r_f2018/lab3.txt · Last modified: 2021/06/30 23:42 (external edit)