INNER CODE UNIT · Python
CNN20d
RichardS0268/CNN-for-Trading · model.py:50
class CNN20d(nn.Module):
# Input: [N, (1), 64, 60]; Output: [N, 2]
# Three Convolution Blocks
def init_weights(self, m):
if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d):
torch.nn.init.xavier_uniform(m.weight)
m.bias.data.fill_(0.01)
def __init__(self):
super(CNN20d, self).__init__()
self.conv1 = nn.Sequential(OrderedDict([
('Conv', nn.Conv2d(1, 64, (5, 3), padding=(3, 1), stride=(3, 1), dilation=(2, 1))), # output size: [N, 64, 21, 60]
('BN', nn.BatchNorm2d(64, affine=True)),
('ReLU', nn.ReLU()),
('Max-Pool', nn.MaxPool2d((2,1))) # output size: [N, 64, 10, 60]
]))
self.conv1 = self.conv1.apply(self.init_weights)