Table 1.
Layer | Function | Filter | Kernel | Output shape |
---|---|---|---|---|
LA 1 | Input | T, E, 1 | ||
Conv2d | F 1 | (K1, 1) | T, C, F 1 | |
BatchNorm | ||||
LA 2 | DepthwiseConv2d | F1*D | (1, E) | T, 1, F1*D |
BatchNorm | ||||
ELU Activation | ||||
Average pooling | (P1, 1) | T/P1, 1, F1*D | ||
LA 3 | SparableConv2d | F 2 | (K2, 1) | T/P1, 1, F2 |
BatchNorm | ||||
ELU Activation | ||||
Average pooling | (P2, 1) | T/(P1*P2), 1, F2 | ||
LA 4 | Flatten | (T*F2)/(P1*P2) | ||
LA 5 | Fully connected | number of classes | ||
LA 6 | Softmax (CEL) | |||
LA 7 | Lambda (CL) | 1 |
(1) T =number of the timestamps, E =number of electricodes, K1 = kernel size of the first CNN, D =number of depthwise convolution output channels, F1 = number of temporal filters, F2 = number of spatial filters, K2 = size of th kernel in the spatial filer, and P1 and P2 are sizes of average pooling kernels.
(2) CEL stands for cross-entropy computed by smoothed labels. CL stands for center loss. Lamda layer is a self-customize layer for the calculation of the center loss.