我有 2 个时间序列的数据,每个序列 18 点。所以我组织了一个 18 行 2 列的矩阵(180 个样本分为 2 个类别 - 激活和非激活)。
所以,我想用这些数据做一个 CNN,我的内核沿着线(时间)朝一个方向走。附图示例。
在我的代码中,与具有 3 个通道的 RGB 相比,我不知道我的通道如何。并且不知道层的输入大小,以及如何计算才能知道全连接层。
我需要使用 conv1d 吗?conv2d?conv3d ? 基于理解 conv 1D 2D 3D,我有 2D 输入,我想做 1D 卷积(因为我在一个方向上移动我的内核),这是正确的吗?
例如,我如何传递内核大小(3,2)?
我的数据是这种形式,使用 DataLoader 和 batch_size= 4 后:
print(data.shape, label.shape)
Run Code Online (Sandbox Code Playgroud)
火炬大小([4, 2, 18]) 火炬大小([4, 1])
我的卷积模型是:
OBS:我只是放了任意数量的输入/输出大小。
# Creating our CNN Model -> 1D convolutional with 2D input (HbO, HbR)
class ConvModel(nn.Module):
def __init__(self):
super(ConvModel, self).__init__()
self.conv1 = nn.Conv1d(in_channels=1, out_channels= 18, kernel_size=3, stride …Run Code Online (Sandbox Code Playgroud)