MCPcopy Create free account
hub / github.com/FinancialComputingUCL/LOBFrame / LobTransformer

Class LobTransformer

models/LobTransformer/lobtransformer.py:6–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4
5
6class LobTransformer(pl.LightningModule):
7 def __init__(self, lighten):
8 super().__init__()
9 self.name = "lobtransformer"
10 if lighten:
11 self.name += "-lighten"
12
13 hidden = 32 if not lighten else 16
14 d_model = hidden * 2 * 3
15 nhead = 8 if not lighten else 4
16 num_layers = 2 if not lighten else 1
17
18 # Convolution blocks.
19 self.conv1 = nn.Sequential(
20 nn.Conv2d(
21 in_channels=1, out_channels=hidden, kernel_size=(1, 2), stride=(1, 2)
22 ),
23 nn.LeakyReLU(negative_slope=0.01),
24 nn.BatchNorm2d(hidden),
25 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
26 nn.LeakyReLU(negative_slope=0.01),
27 nn.BatchNorm2d(hidden),
28 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
29 nn.LeakyReLU(negative_slope=0.01),
30 nn.BatchNorm2d(hidden),
31 )
32 self.conv2 = nn.Sequential(
33 nn.Conv2d(
34 in_channels=hidden, out_channels=hidden, kernel_size=(1, 2), stride=(1, 2)
35 ),
36 nn.LeakyReLU(negative_slope=0.01),
37 nn.BatchNorm2d(hidden),
38 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
39 nn.LeakyReLU(negative_slope=0.01),
40 nn.BatchNorm2d(hidden),
41 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
42 nn.LeakyReLU(negative_slope=0.01),
43 nn.BatchNorm2d(hidden),
44 )
45
46 if lighten:
47 conv3_kernel_size = 5
48 else:
49 conv3_kernel_size = 10
50
51 self.conv3 = nn.Sequential(
52 nn.Conv2d(
53 in_channels=hidden, out_channels=hidden, kernel_size=(1, conv3_kernel_size)
54 ),
55 nn.LeakyReLU(negative_slope=0.01),
56 nn.BatchNorm2d(hidden),
57 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
58 nn.LeakyReLU(negative_slope=0.01),
59 nn.BatchNorm2d(hidden),
60 nn.Conv2d(in_channels=hidden, out_channels=hidden, kernel_size=(4, 1)),
61 nn.LeakyReLU(negative_slope=0.01),
62 nn.BatchNorm2d(hidden),
63 )

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected