blob: d62a4b759d6e5c3890365c30850cd83dc6399ca2 (
plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
_target_: text_recognizer.networks.VqTransformer
input_dims: [1, 1, 576, 640]
hidden_dim: &hidden_dim 144
num_classes: 58
pad_index: 3
encoder:
_target_: text_recognizer.networks.EfficientNet
arch: b0
stochastic_dropout_rate: 0.2
bn_momentum: 0.99
bn_eps: 1.0e-3
depth: 5
out_channels: *hidden_dim
decoder:
_target_: text_recognizer.networks.transformer.Decoder
depth: 6
block:
_target_: text_recognizer.networks.transformer.DecoderBlock
self_attn:
_target_: text_recognizer.networks.transformer.Attention
dim: *hidden_dim
num_heads: 8
dim_head: 64
dropout_rate: &dropout_rate 0.4
causal: true
rotary_embedding:
_target_: text_recognizer.networks.transformer.RotaryEmbedding
dim: 64
cross_attn:
_target_: text_recognizer.networks.transformer.Attention
dim: *hidden_dim
num_heads: 8
dim_head: 64
dropout_rate: *dropout_rate
causal: false
norm:
_target_: text_recognizer.networks.transformer.RMSNorm
dim: *hidden_dim
ff:
_target_: text_recognizer.networks.transformer.FeedForward
dim: *hidden_dim
dim_out: null
expansion_factor: 2
glu: true
dropout_rate: *dropout_rate
pixel_embedding:
_target_: text_recognizer.networks.transformer.AxialPositionalEmbedding
dim: *hidden_dim
shape: [18, 79]
quantizer:
_target_: text_recognizer.networks.quantizer.VectorQuantizer
input_dim: *hidden_dim
codebook:
_target_: text_recognizer.networks.quantizer.CosineSimilarityCodebook
dim: 16
codebook_size: 64
kmeans_init: true
kmeans_iters: 10
decay: 0.8
eps: 1.0e-5
threshold_dead: 2
temperature: 0.0
commitment: 0.25
ort_reg_weight: 10
ort_reg_max_codes: 64
|