File size: 815 Bytes
6097489
 
 
 
 
566143e
6097489
2ca0e96
566143e
46a21bf
566143e
2ca0e96
566143e
2ca0e96
 
566143e
2ca0e96
6097489
 
2ca0e96
 
6097489
2ca0e96
 
6097489
3d2256a
46a21bf
3d83fd2
2ca0e96
566143e
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
import torch
import torch.nn as nn
import torch.nn.functional as F

class AudioCNN(nn.Module):
    def __init__(self, num_classes):
        super(AudioCNN, self).__init__()

        # 1D conv layers
        self.conv1 = nn.Conv1d(1, 16, kernel_size=3, stride=1, padding=1)
        self.pool1 = nn.MaxPool1d(2)
        self.conv2 = nn.Conv1d(16, 32, kernel_size=3, stride=1, padding=1)
        self.pool2 = nn.AdaptiveMaxPool1d(64)  # output length fixed at 64

        # Fully connected layers
        self.fc1 = nn.Linear(32 * 64, 128)
        self.fc2 = nn.Linear(128, num_classes)

    def forward(self, x):
        x = self.pool1(F.relu(self.conv1(x)))
        x = self.pool2(F.relu(self.conv2(x)))
        x = x.view(x.size(0), -1)
        x = F.relu(self.fc1(x))
        x = self.fc2(x)
        return x