|
- import torch
- import torch.nn as nn
- from torch.utils.data import Dataset,ConcatDataset,DataLoader
- import numpy as np
- from data import *
- import os
- import pandas as pd
-
- class SHMnet(nn.Module):
- def __init__(self,num_classes=10):
- super(SHMnet,self).__init__()
- # self.features = nn.Sequential(
- # nn.Conv1d(1,16,kernel_size=7),
- # nn.ReLU(inplace=True),
- # nn.MaxPool1d(kernel_size=3, stride=2),
- # nn.Conv1d(16, 64, kernel_size=5),
- # nn.ReLU(inplace=True),
- # nn.MaxPool1d(kernel_size=3, stride=2),
- # nn.Conv1d(64, 256, kernel_size=3),
- # nn.ReLU(inplace=True),
- # nn.MaxPool1d(kernel_size=3, stride=2),
- # )
- self.features = nn.Sequential(
- nn.Conv1d(1,16,kernel_size=13),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(16,32,kernel_size=11),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(32,64,kernel_size=9),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(64,256,kernel_size=7),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(256, 512, kernel_size=5),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(512, 768, kernel_size=3),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- )
- self.classifier = nn.Sequential(
- nn.Dropout(),
- nn.Linear(768 * 73, 1024),
- nn.ReLU(inplace=True),
- nn.Dropout(),
- nn.Linear(1024, 1024),
- nn.ReLU(inplace=True),
- nn.Linear(1024, num_classes),
- )
- def forward(self, x):
- x = self.features(x)
- #print ( x.shape)
- x = x.view(x.size(0), -1)
- x = self.classifier(x)
- return x
- class AlexNet1D(nn.Module):
- def __init__(self, inputsize=5000, num_classes=10):
- super(AlexNet, self).__init__()
- self.inputsize = inputsize
- self.features = nn.Sequential(
- nn.Conv1d(1, 64, kernel_size=11, stride=4, padding=2),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(64, 192, kernel_size=5, padding=2),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- nn.Conv1d(192, 384, kernel_size=3, padding=1),
- nn.ReLU(inplace=True),
- nn.Conv1d(384, 256, kernel_size=3, padding=1),
- nn.ReLU(inplace=True),
- nn.Conv1d(256, 256, kernel_size=3, padding=1),
- nn.ReLU(inplace=True),
- nn.MaxPool1d(kernel_size=3, stride=2),
- )
- self.classifier = nn.Sequential(
- nn.Dropout(),
- nn.Linear(256*155, 4096),
- nn.ReLU(inplace=True),
- nn.Dropout(),
- nn.Linear(4096, 4096),
- nn.ReLU(inplace=True),
- nn.Linear(4096, num_classes),
- )
-
- def forward(self, x):
- x = self.features(x)
- x = x.view(x.size(0),256*155)
- x = self.classifier(x)
- return x
|