broccoli-ml 0.39.0__py3-none-any.whl → 1.0.0__py3-none-any.whl
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.
- broccoli/vit.py +18 -6
- {broccoli_ml-0.39.0.dist-info → broccoli_ml-1.0.0.dist-info}/METADATA +1 -1
- {broccoli_ml-0.39.0.dist-info → broccoli_ml-1.0.0.dist-info}/RECORD +5 -5
- {broccoli_ml-0.39.0.dist-info → broccoli_ml-1.0.0.dist-info}/LICENSE +0 -0
- {broccoli_ml-0.39.0.dist-info → broccoli_ml-1.0.0.dist-info}/WHEEL +0 -0
broccoli/vit.py
CHANGED
@@ -85,6 +85,14 @@ class SequencePoolClassificationHead(ClassificationHead):
|
|
85
85
|
def __init__(self, d_model, linear_module, out_dim, batch_norm=True):
|
86
86
|
super().__init__(d_model, linear_module, out_dim, batch_norm=batch_norm)
|
87
87
|
self.summarize = SequencePool(d_model, linear_module)
|
88
|
+
# Rebuild the classification process with the correct summary module:
|
89
|
+
self.classification_process = nn.Sequential(
|
90
|
+
*[
|
91
|
+
self.summarize,
|
92
|
+
self.projection,
|
93
|
+
self.batch_norm,
|
94
|
+
]
|
95
|
+
)
|
88
96
|
|
89
97
|
|
90
98
|
class ViTEncoder(nn.Module):
|
@@ -120,6 +128,7 @@ class ViTEncoder(nn.Module):
|
|
120
128
|
transformer_initial_ff_residual_path=True,
|
121
129
|
transformer_initial_ff_linear_module_up=None,
|
122
130
|
transformer_initial_ff_linear_module_down=None,
|
131
|
+
transformer_initial_ff_mlp_dropout=None,
|
123
132
|
transformer_pre_norm=True,
|
124
133
|
transformer_normformer=False,
|
125
134
|
transformer_post_norm=False,
|
@@ -307,7 +316,12 @@ class ViTEncoder(nn.Module):
|
|
307
316
|
transformer_embedding_size,
|
308
317
|
activation=transformer_activation,
|
309
318
|
activation_kwargs=transformer_activation_kwargs,
|
310
|
-
dropout=
|
319
|
+
dropout=(
|
320
|
+
# First truthy assigned value
|
321
|
+
transformer_initial_ff_mlp_dropout
|
322
|
+
if transformer_initial_ff_mlp_dropout is not None
|
323
|
+
else transformer_mlp_dropout
|
324
|
+
),
|
311
325
|
linear_module_up=(
|
312
326
|
# First truthy assigned value
|
313
327
|
transformer_initial_ff_linear_module_up
|
@@ -349,11 +363,7 @@ class ViTEncoder(nn.Module):
|
|
349
363
|
|
350
364
|
class ViT(nn.Module):
|
351
365
|
"""
|
352
|
-
|
353
|
-
Based on the Compact Convolutional Transformer (CCT) of [Hasani et al. (2021)
|
354
|
-
*''Escaping the Big Data Paradigm with Compact Transformers''*](
|
355
|
-
https://arxiv.org/abs/2104.05704). It's a convolutional neural network
|
356
|
-
leading into a transformer encoder, followed by a sequence pooling layer.
|
366
|
+
...
|
357
367
|
"""
|
358
368
|
|
359
369
|
def __init__(
|
@@ -380,6 +390,7 @@ class ViT(nn.Module):
|
|
380
390
|
transformer_initial_ff_residual_path=True,
|
381
391
|
transformer_initial_ff_linear_module_up=None,
|
382
392
|
transformer_initial_ff_linear_module_down=None,
|
393
|
+
transformer_initial_ff_mlp_dropout=None,
|
383
394
|
transformer_pre_norm=True,
|
384
395
|
transformer_normformer=False,
|
385
396
|
transformer_post_norm=False,
|
@@ -442,6 +453,7 @@ class ViT(nn.Module):
|
|
442
453
|
transformer_initial_ff_residual_path=transformer_initial_ff_residual_path,
|
443
454
|
transformer_initial_ff_linear_module_up=transformer_initial_ff_linear_module_up,
|
444
455
|
transformer_initial_ff_linear_module_down=transformer_initial_ff_linear_module_down,
|
456
|
+
transformer_initial_ff_mlp_dropout=transformer_initial_ff_mlp_dropout,
|
445
457
|
transformer_pre_norm=transformer_pre_norm,
|
446
458
|
transformer_normformer=transformer_normformer,
|
447
459
|
transformer_post_norm=transformer_post_norm,
|
@@ -10,8 +10,8 @@ broccoli/rope.py,sha256=hw7kBPNR9GQXj4GxyIAffsGKPfcTPOFh8Bc7oEHtaZY,12108
|
|
10
10
|
broccoli/tensor.py,sha256=um8mrxkYbvNDo-QvHlmJm8Aw6qcngOlUZPoAk_PMReA,4480
|
11
11
|
broccoli/transformer.py,sha256=Xw1oBLsvVeHmMqgurhorRa49nrjfooLev5uBPFeK9og,17004
|
12
12
|
broccoli/utils.py,sha256=htq_hOsdhUhL0nJi9WkKiEYOjEoWqFpK5X49PtgTf-0,299
|
13
|
-
broccoli/vit.py,sha256=
|
14
|
-
broccoli_ml-0.
|
15
|
-
broccoli_ml-0.
|
16
|
-
broccoli_ml-0.
|
17
|
-
broccoli_ml-0.
|
13
|
+
broccoli/vit.py,sha256=AKU8fLyzvMaLYw1V70meyb_t3HLxZOfQ6DKwNOPWd_s,18049
|
14
|
+
broccoli_ml-1.0.0.dist-info/LICENSE,sha256=0BAzJE5BqQ7Iixp_AFdB2W1uO-HCRX-Qfun8PHt6yVM,1073
|
15
|
+
broccoli_ml-1.0.0.dist-info/METADATA,sha256=7Jg7wN6IPLbzr_RpjpR7IOQxmFq7NliBR52J5YhJZD8,1256
|
16
|
+
broccoli_ml-1.0.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
17
|
+
broccoli_ml-1.0.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|