SeizureDetectionCNN
Model Description
SeizureDetectionCNN is a convolutional neural network designed for binary classification of seizure events using EEG data converted to images. The model employs a simple yet effective architecture with two convolutional layers followed by batch normalization and three fully connected layers.
Model Architecture
SeizureDetectionCNN(
(conv1): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(pool): MaxPool2d(kernel_size=2, stride=2, padding=0)
(conv2): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(bn1): BatchNorm2d(32)
(bn2): BatchNorm2d(64)
(dropout): Dropout(p=0.5)
(fc1): Linear(in_features=4096, out_features=120)
(fc2): Linear(in_features=120, out_features=32)
(fc3): Linear(in_features=32, out_features=2)
)
Input Description
Input images are preprocessed to 32x32 grayscale Images are normalized with mean=[0.5] and std=[0.5] Input tensor shape: (batch_size, 1, 32, 32)
Preprocessing
from torchvision import transforms
transforms.Compose([
transforms.Grayscale(),
transforms.Resize((32, 32)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.5], std=[0.5])
])
Training Procedure
Architectural Features
2 Convolutional layers with ReLU activation Batch Normalization after each convolutional layer MaxPooling with kernel size 2 Dropout (p=0.5) for regularization 3 Fully connected layers
Parameters
Total Parameters: ~500K Input Channels: 1 (grayscale) Output Classes: 2 (binary classification)
Intended Uses & Limitations
Intended Uses
Research and development in seizure detection Processing of EEG data converted to image format Binary classification of seizure/non-seizure events