class Net1(Module):
Net, using not activations on purpose
def __init__(self):

    super(Net1, self).__init__()

    self.conv = Conv1d(1,16,3,padding =1)
    self.conv2 = Conv1d(16,32,3,padding =1)
    self.pool = MaxPool1d(2)
    self.conv3 = Conv1d(32,64,3,padding =1);
    self.conv4 = Conv1d(64,64,3, padding =1);

    #self.conv5 = Conv1d(64,128,3,padding =1);
    #self.conv6 = Conv1d(128,128,3, padding =1);

    self.linear = Linear(128, 52)
    self.linear2 = Linear(52,10)
  



def forward(self, x):
    x = self.conv(x)
    x = self.conv2(x)
    x = self.pool(x)
    x = self.conv3(x)
    x = self.conv4(x)
    x = self.pool(x)
    x = x.view(1,-1)
    x = self.linear(x)
    x = self.linear2(x)
   
   

    return x

Training loop
for epoch in range(epochs):  # loop over the dataset multiple times
net.train()
runningLoss = 0
for data in trainLoader:
	
	
	inputs, labels = data["begin"], data["end"]
	inputs.resize_(1,1,10)
	print(inputs)
	# zero the parameter gradients
	optimizer.zero_grad()
    	# forward + backward + optimize
	outputs = net(inputs.float().cuda())
	print(outputs)
	if epoch > 140:
		outputs = torch.round(outputs)

	loss = criterion(outputs.float() , labels.float().cuda())
	loss.backward()
	runningLoss += loss.item() 
	#print(runningLoss)
	optimizer.step()
	print("Train Loss", loss.item())
lossValues.append(runningLoss / len(trainLoader))

input is just a tensor of size [1,10]