File size: 1,165 Bytes
1185e05
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# densenet169
Implementation of DenseNet proposed in [Densely Connected Convolutional
Networks](https://arxiv.org/abs/1608.06993)

 Create a default models

 ``` {.sourceCode .}
 DenseNet.densenet121()
 DenseNet.densenet161()
 DenseNet.densenet169()
 DenseNet.densenet201()
 ```

 Examples:

  ``` {.sourceCode .}
  # change activation
  DenseNet.densenet121(activation = nn.SELU)
  # change number of classes (default is 1000 )
  DenseNet.densenet121(n_classes=100)
  # pass a different block
  DenseNet.densenet121(block=...)
  # change the initial convolution
  model = DenseNet.densenet121()
  model.encoder.gate.conv1 = nn.Conv2d(3, 64, kernel_size=3)
  # store each feature
  x = torch.rand((1, 3, 224, 224))
  model = DenseNet.densenet121()
  # first call .features, this will activate the forward hooks and tells the model you'll like to get the features
  model.encoder.features
  model(torch.randn((1,3,224,224)))
  # get the features from the encoder
  features = model.encoder.features
  print([x.shape for x in features])
  # [torch.Size([1, 128, 28, 28]), torch.Size([1, 256, 14, 14]), torch.Size([1, 512, 7, 7]), torch.Size([1, 1024, 7, 7])]
  ```