broccoli-ml 0.1.38__tar.gz → 0.1.39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: broccoli-ml
3
- Version: 0.1.38
3
+ Version: 0.1.39
4
4
  Summary: Some useful Pytorch models, circa 2025
5
5
  License: MIT
6
6
  Author: Nicholas Bailey
@@ -67,6 +67,7 @@ class CCTEncoder(nn.Module):
67
67
  conv_pooling_kernel_size=3,
68
68
  conv_pooling_kernel_stride=2,
69
69
  conv_pooling_kernel_padding=1,
70
+ conv_dropout=0.0,
70
71
  transformer_position_embedding="absolute", # absolute or relative
71
72
  transformer_embedding_size=256,
72
73
  transformer_layers=7,
@@ -155,15 +156,16 @@ class CCTEncoder(nn.Module):
155
156
  )
156
157
 
157
158
  elif conv_pooling_type == "concat":
158
- concatpool_activation_output_channels = (
159
- conv_pooling_kernel_size**2 * conv_out_channels
159
+ self.concatpool_activation = transformer_activation(
160
+ **transformer_activation_kwargs
160
161
  )
161
- if cnn_activation.__name__.endswith("GLU"):
162
- concatpool_activation_output_channels /= 2
163
162
 
164
- concatpool_padding = (
165
- transformer_embedding_size - concatpool_activation_output_channels
166
- )
163
+ concatpool_out_channels = conv_pooling_kernel_size**2 * conv_out_channels
164
+
165
+ if cnn_activation.__name__.endswith("GLU"):
166
+ cnn_activation_output_channels = concatpool_out_channels / 2
167
+ else:
168
+ cnn_activation_output_channels = concatpool_out_channels
167
169
 
168
170
  self.pool = nn.Sequential(
169
171
  *[
@@ -176,8 +178,24 @@ class CCTEncoder(nn.Module):
176
178
  "N C H W -> N H W C"
177
179
  ),
178
180
  self.cnn_activation,
179
- Rearrange("N H W C -> N (H W) C"),
180
- PadTensor((0, concatpool_padding)),
181
+ nn.Dropout(conv_dropout),
182
+ Rearrange( # rearrange in case we're using XGLU activation
183
+ "N H W C -> N C H W"
184
+ ),
185
+ nn.BatchNorm2d(cnn_activation_output_channels),
186
+ Rearrange( # rearrange in case we're using XGLU activation
187
+ "N C H W -> N (H W) C"
188
+ ),
189
+ nn.Linear(
190
+ cnn_activation_output_channels,
191
+ (
192
+ 2 * transformer_embedding_size * transformer_mlp_ratio
193
+ if transformer_activation.__name__.endswith("GLU")
194
+ else transformer_embedding_size * transformer_mlp_ratio
195
+ ),
196
+ ),
197
+ self.concatpool_activation,
198
+ nn.Linear(transformer_embedding_size * transformer_mlp_ratio),
181
199
  ]
182
200
  )
183
201
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "broccoli-ml"
3
- version = "0.1.38"
3
+ version = "0.1.39"
4
4
  description = "Some useful Pytorch models, circa 2025"
5
5
  authors = [
6
6
  {name = "Nicholas Bailey"}
File without changes
File without changes