In [1]:
from __future__ import print_function
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvision import datasets, transforms
from torch.autograd import Variable

import math
import numpy as np
import matplotlib.pyplot as plt
from torchvision.utils import make_grid
from collections import OrderedDict

# Training settings
# for terminal use. In notebook, you can't parse arguments
class args:
    cuda = False
    batch_size = 64
    test_batch_size = 1000
    epochs = 10
    lr = 0.01
    momentum = 0.5
    no_cuda = False
    seed = 1
    log_interval = 10
    # if add Dropout
    with_dropout = True
    # if initialize weights
    with_init_weights = False
    # if add BatchNorm
    with_batchnorm = False

args.cuda = not args.no_cuda and torch.cuda.is_available()

torch.manual_seed(args.seed)
if args.cuda:
    torch.cuda.manual_seed(args.seed)

kwargs = {'num_workers': 1, 'pin_memory': True} if args.cuda else {}
# The output of torchvision datasets are PILImage images of range [0, 1].
# We transform them to Tensors of normalized range [-1, 1]
transform = transforms.Compose([transforms.ToTensor(),
                              transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
                             ])
trainset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(trainset, batch_size=args.batch_size,
                                          shuffle=True, num_workers=2)

testset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
test_loader = torch.utils.data.DataLoader(testset, batch_size=args.test_batch_size,
                                          shuffle=False, num_workers=2)
classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')


class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        # TODO: define your network here
        self.conv_1 = nn.Conv2d(3, 6, kernel_size=5, stride=1)
        self.conv_2 = nn.Conv2d(6, 16, kernel_size=5, stride=1)
        # TODO: replace fc with conv
        self.fc_1 = nn.Linear(16 * 25, 120)
        self.fc_2 = nn.Linear(120, 84)
        self.fc_3 = nn.Linear(84, 10)
        if args.with_batchnorm:
            self.block_conv_1 = nn.Sequential(
                self.conv_1,
                nn.BatchNorm2d(6),
                nn.ReLU(),
                nn.MaxPool2d(kernel_size=2, stride=2)
            )
            self.block_conv_2 = nn.Sequential(
                self.conv_2,
                nn.BatchNorm2d(16),
                nn.ReLU(),
                nn.MaxPool2d(kernel_size=2, stride=2)
            )
        else:
            self.block_conv_1 = nn.Sequential(
                self.conv_1,
                nn.ReLU(),
                nn.MaxPool2d(kernel_size=2, stride=2)
            )
            self.block_conv_2 = nn.Sequential(
                self.conv_2,
                nn.ReLU(),
                nn.MaxPool2d(kernel_size=2, stride=2)
            )
        if args.with_dropout:
            if args.with_batchnorm:
                self.block_fc_1 = nn.Sequential(
                    self.fc_1,
                    nn.BatchNorm1d(120),
                    nn.Dropout()
                )
                self.block_fc_2 = nn.Sequential(
                    self.fc_2,
                    nn.BatchNorm1d(84),
                    nn.Dropout()
                )
            else:
                self.block_fc_1 = nn.Sequential(
                    self.fc_1,
                    nn.Dropout()
                )
                self.block_fc_2 = nn.Sequential(
                    self.fc_2,
                    nn.Dropout()
                )
        else:
            self.block_fc_1 = self.fc_1
            self.block_fc_2 = self.fc_2
        self.softmax = nn.LogSoftmax()
        # Initialize parameters
        if args.with_init_weights:
            for m in self.modules():
                if isinstance(m, nn.Conv2d):
                    n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
                    m.weight.data.normal_(0, math.sqrt(2. /n))
                    if m.bias is not None:
                        m.bias.data.zero_()
                elif isinstance(m, nn.Linear):
                    n = m.out_features
                    m.weight.data.normal_(0, math.sqrt(2. /n))
                    if m.bias is not None:
                        m.bias.data.zero_()
                elif isinstance(m, nn.BatchNorm1d) or isinstance(m, nn.BatchNorm2d):
                    m.weight.data.fill_(1)
                    m.bias.data.zero_()

    def forward(self, x):
        # TODO
        x = self.block_conv_1(x)
        x = self.block_conv_2(x)
        x = x.view(x.size(0), -1)
        x = self.block_fc_1(x)
        x = self.block_fc_2(x)
        x = self.fc_3(x)
        x = self.softmax(x)
        return x

# Filter extractor for filter visualization
class FeatureExtractor(nn.Module):
    def __init__(self, model, layer_names):
        super(FeatureExtractor, self).__init__()
        self._model = model
        self._layer_names = set(layer_names)
    def forward(self):
        filters = dict()
        # _modules is an OrderedDict, which replace iteritems() with items() in python3.* 
        for name, module in self._model._modules.items():
            if name in self._layer_names:
                filters[name] = module.weight.data.cpu()
        return filters

# Vesualize training results and trained filters
class VisualizedResult():
    def __init__(self, model):
        self._model = model
    def training_curve(self, epoches, train_loss_records, test_loss_records):
        fig = plt.figure()
        ax_train = fig.add_subplot(111)
        ax_test = fig.add_subplot(111)
        plt.axis([1, epoches, 0, math.ceil(max(train_loss_records + test_loss_records) * 1.2)])
        plt.xlabel('Epoches')
        plt.ylabel('Loss')
        plt.title('Training Curve')
        plt.plot(range(1, epoches + 1), train_loss_records, 'b-', label="train loss")
        plt.plot(range(1, epoches + 1), test_loss_records, 'r-', label="test loss")
        for xy in zip(range(1, epoches + 1), train_loss_records):
            ax_train.annotate('%.2f' % xy[1], xy=xy, textcoords='data')
        for xy in zip(range(1, epoches + 1), test_loss_records):
            ax_test.annotate('%.2f' % xy[1], xy=xy, textcoords='data')
        plt.legend(loc='upper right', borderaxespad=0.)
        plt.show()
    def accuracy_curve(self, epoches, accuracy_records):
        fig = plt.figure()
        ax = fig.add_subplot(111)
        plt.axis([1, epoches, 0, 100])
        plt.xlabel('Epoches')
        plt.ylabel('Accuracy')
        plt.title('Accuracy Curve')
        plt.plot(range(1, epoches + 1), accuracy_records, '-')
        for xy in zip(range(1, epoches + 1), accuracy_records):
            ax.annotate('%s%%' % xy[1], xy=xy, textcoords='data')
        plt.show()
    def conv_filter(self, layer_names):
        feature_extractor = FeatureExtractor(self._model, layer_names)
        filter_list = feature_extractor.forward()
        for name, filters in filter_list.items():
            print(type(filters), filters.size())
            # Normalize filters
            mean = torch.mean(filters)
            std = torch.std(filters)
            filters = (filters - mean) / std
            img = make_grid(filters, nrow=3)
            print(type(img), img.size())
            npimg = img.numpy()
            plt.imshow(np.transpose(npimg, (1,2,0)), interpolation='nearest')


model = Net()
if args.cuda:
    model.cuda()
    
# TODO: other optimizers
optimizer = optim.SGD(model.parameters(), lr=args.lr, momentum=args.momentum)

train_loss_records = list()
test_loss_records = list()
accuracy_records = list()

def train(epoch):
    model.train()
    train_loss = 0
    for batch_idx, (data, target) in enumerate(train_loader):
        if args.cuda:
            data, target = data.cuda(), target.cuda()
        data, target = Variable(data), Variable(target)
        optimizer.zero_grad()
        output = model(data)
        loss = F.nll_loss(output, target)   # is it true to use such a loss over cross-entropy loss? 
        loss.backward()
        optimizer.step()
        train_loss += loss.data[0]
        if batch_idx % args.log_interval == 0:
            print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
                epoch, batch_idx * len(data), len(train_loader.dataset),
                100. * batch_idx / len(train_loader), loss.data[0]))
    # Average training loss for this epoch
    train_loss_records.append(train_loss / len(train_loader))

def test(epoch):
    model.eval()
    test_loss = 0
    correct = 0
    for data, target in test_loader:
        if args.cuda:
            data, target = data.cuda(), target.cuda()
        data, target = Variable(data, volatile=True), Variable(target)
        output = model(data)
        test_loss += F.nll_loss(output, target).data[0]
        pred = output.data.max(1)[1] # get the index of the max log-probability
        correct += pred.eq(target.data).cpu().sum()

    test_loss = test_loss
    test_loss /= len(test_loader) # loss function already averages over batch size
    accuracy = 100. * correct / len(test_loader.dataset)
    print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(
        test_loss, correct, len(test_loader.dataset),
        accuracy))
    test_loss_records.append(test_loss)
    accuracy_records.append(accuracy)


for epoch in range(1, args.epochs + 1):
    train(epoch)
    test(epoch)

visual_result = VisualizedResult(model)
# Visualize training curve
visual_result.training_curve(args.epochs, train_loss_records, test_loss_records)
# Visualize test accuracy
visual_result.accuracy_curve(args.epochs, accuracy_records)
# Visualize trained filter on the 1st Conv layer
visual_result.conv_filter(['conv_1'])


Files already downloaded and verified
Files already downloaded and verified
Train Epoch: 1 [0/50000 (0%)]	Loss: 2.314914
Train Epoch: 1 [640/50000 (1%)]	Loss: 2.312093
Train Epoch: 1 [1280/50000 (3%)]	Loss: 2.327953
Train Epoch: 1 [1920/50000 (4%)]	Loss: 2.315229
Train Epoch: 1 [2560/50000 (5%)]	Loss: 2.316190
Train Epoch: 1 [3200/50000 (6%)]	Loss: 2.278881
Train Epoch: 1 [3840/50000 (8%)]	Loss: 2.323237
Train Epoch: 1 [4480/50000 (9%)]	Loss: 2.318270
Train Epoch: 1 [5120/50000 (10%)]	Loss: 2.296824
Train Epoch: 1 [5760/50000 (12%)]	Loss: 2.308896
Train Epoch: 1 [6400/50000 (13%)]	Loss: 2.298671
Train Epoch: 1 [7040/50000 (14%)]	Loss: 2.289702
Train Epoch: 1 [7680/50000 (15%)]	Loss: 2.290823
Train Epoch: 1 [8320/50000 (17%)]	Loss: 2.306070
Train Epoch: 1 [8960/50000 (18%)]	Loss: 2.292789
Train Epoch: 1 [9600/50000 (19%)]	Loss: 2.311813
Train Epoch: 1 [10240/50000 (20%)]	Loss: 2.295905
Train Epoch: 1 [10880/50000 (22%)]	Loss: 2.291469
Train Epoch: 1 [11520/50000 (23%)]	Loss: 2.270731
Train Epoch: 1 [12160/50000 (24%)]	Loss: 2.258503
Train Epoch: 1 [12800/50000 (26%)]	Loss: 2.296112
Train Epoch: 1 [13440/50000 (27%)]	Loss: 2.241913
Train Epoch: 1 [14080/50000 (28%)]	Loss: 2.238875
Train Epoch: 1 [14720/50000 (29%)]	Loss: 2.264433
Train Epoch: 1 [15360/50000 (31%)]	Loss: 2.170002
Train Epoch: 1 [16000/50000 (32%)]	Loss: 2.252743
Train Epoch: 1 [16640/50000 (33%)]	Loss: 2.201583
Train Epoch: 1 [17280/50000 (35%)]	Loss: 2.246280
Train Epoch: 1 [17920/50000 (36%)]	Loss: 2.172819
Train Epoch: 1 [18560/50000 (37%)]	Loss: 2.175252
Train Epoch: 1 [19200/50000 (38%)]	Loss: 2.116828
Train Epoch: 1 [19840/50000 (40%)]	Loss: 2.183853
Train Epoch: 1 [20480/50000 (41%)]	Loss: 2.122507
Train Epoch: 1 [21120/50000 (42%)]	Loss: 2.165449
Train Epoch: 1 [21760/50000 (43%)]	Loss: 2.059188
Train Epoch: 1 [22400/50000 (45%)]	Loss: 2.117833
Train Epoch: 1 [23040/50000 (46%)]	Loss: 2.124321
Train Epoch: 1 [23680/50000 (47%)]	Loss: 2.111977
Train Epoch: 1 [24320/50000 (49%)]	Loss: 2.024052
Train Epoch: 1 [24960/50000 (50%)]	Loss: 2.206959
Train Epoch: 1 [25600/50000 (51%)]	Loss: 2.048606
Train Epoch: 1 [26240/50000 (52%)]	Loss: 2.119338
Train Epoch: 1 [26880/50000 (54%)]	Loss: 2.037555
Train Epoch: 1 [27520/50000 (55%)]	Loss: 1.915469
Train Epoch: 1 [28160/50000 (56%)]	Loss: 1.890376
Train Epoch: 1 [28800/50000 (58%)]	Loss: 1.994179
Train Epoch: 1 [29440/50000 (59%)]	Loss: 2.004755
Train Epoch: 1 [30080/50000 (60%)]	Loss: 2.106652
Train Epoch: 1 [30720/50000 (61%)]	Loss: 2.023010
Train Epoch: 1 [31360/50000 (63%)]	Loss: 2.052109
Train Epoch: 1 [32000/50000 (64%)]	Loss: 2.079491
Train Epoch: 1 [32640/50000 (65%)]	Loss: 2.041241
Train Epoch: 1 [33280/50000 (66%)]	Loss: 2.148874
Train Epoch: 1 [33920/50000 (68%)]	Loss: 1.988232
Train Epoch: 1 [34560/50000 (69%)]	Loss: 1.877922
Train Epoch: 1 [35200/50000 (70%)]	Loss: 2.003384
Train Epoch: 1 [35840/50000 (72%)]	Loss: 1.947018
Train Epoch: 1 [36480/50000 (73%)]	Loss: 1.960069
Train Epoch: 1 [37120/50000 (74%)]	Loss: 1.967020
Train Epoch: 1 [37760/50000 (75%)]	Loss: 2.053412
Train Epoch: 1 [38400/50000 (77%)]	Loss: 1.846165
Train Epoch: 1 [39040/50000 (78%)]	Loss: 2.099726
Train Epoch: 1 [39680/50000 (79%)]	Loss: 2.056531
Train Epoch: 1 [40320/50000 (81%)]	Loss: 1.897355
Train Epoch: 1 [40960/50000 (82%)]	Loss: 2.086757
Train Epoch: 1 [41600/50000 (83%)]	Loss: 1.993983
Train Epoch: 1 [42240/50000 (84%)]	Loss: 1.953853
Train Epoch: 1 [42880/50000 (86%)]	Loss: 2.052511
Train Epoch: 1 [43520/50000 (87%)]	Loss: 1.963741
Train Epoch: 1 [44160/50000 (88%)]	Loss: 2.074040
Train Epoch: 1 [44800/50000 (90%)]	Loss: 2.052299
Train Epoch: 1 [45440/50000 (91%)]	Loss: 1.893580
Train Epoch: 1 [46080/50000 (92%)]	Loss: 2.049060
Train Epoch: 1 [46720/50000 (93%)]	Loss: 2.169256
Train Epoch: 1 [47360/50000 (95%)]	Loss: 2.021341
Train Epoch: 1 [48000/50000 (96%)]	Loss: 1.885993
Train Epoch: 1 [48640/50000 (97%)]	Loss: 1.832605
Train Epoch: 1 [49280/50000 (98%)]	Loss: 1.809638
Train Epoch: 1 [49920/50000 (100%)]	Loss: 1.970776

Test set: Average loss: 1.9091, Accuracy: 3148/10000 (31%)

Train Epoch: 2 [0/50000 (0%)]	Loss: 1.924734
Train Epoch: 2 [640/50000 (1%)]	Loss: 1.754862
Train Epoch: 2 [1280/50000 (3%)]	Loss: 1.999773
Train Epoch: 2 [1920/50000 (4%)]	Loss: 1.829964
Train Epoch: 2 [2560/50000 (5%)]	Loss: 1.903050
Train Epoch: 2 [3200/50000 (6%)]	Loss: 2.065386
Train Epoch: 2 [3840/50000 (8%)]	Loss: 1.878376
Train Epoch: 2 [4480/50000 (9%)]	Loss: 1.830305
Train Epoch: 2 [5120/50000 (10%)]	Loss: 1.939661
Train Epoch: 2 [5760/50000 (12%)]	Loss: 1.955889
Train Epoch: 2 [6400/50000 (13%)]	Loss: 1.821055
Train Epoch: 2 [7040/50000 (14%)]	Loss: 1.812566
Train Epoch: 2 [7680/50000 (15%)]	Loss: 1.879018
Train Epoch: 2 [8320/50000 (17%)]	Loss: 1.814370
Train Epoch: 2 [8960/50000 (18%)]	Loss: 2.017717
Train Epoch: 2 [9600/50000 (19%)]	Loss: 1.884538
Train Epoch: 2 [10240/50000 (20%)]	Loss: 1.933627
Train Epoch: 2 [10880/50000 (22%)]	Loss: 1.812216
Train Epoch: 2 [11520/50000 (23%)]	Loss: 1.818111
Train Epoch: 2 [12160/50000 (24%)]	Loss: 1.771812
Train Epoch: 2 [12800/50000 (26%)]	Loss: 2.050953
Train Epoch: 2 [13440/50000 (27%)]	Loss: 1.847439
Train Epoch: 2 [14080/50000 (28%)]	Loss: 1.858730
Train Epoch: 2 [14720/50000 (29%)]	Loss: 1.778804
Train Epoch: 2 [15360/50000 (31%)]	Loss: 1.684554
Train Epoch: 2 [16000/50000 (32%)]	Loss: 1.941291
Train Epoch: 2 [16640/50000 (33%)]	Loss: 1.763735
Train Epoch: 2 [17280/50000 (35%)]	Loss: 1.813776
Train Epoch: 2 [17920/50000 (36%)]	Loss: 1.816053
Train Epoch: 2 [18560/50000 (37%)]	Loss: 1.847079
Train Epoch: 2 [19200/50000 (38%)]	Loss: 1.765127
Train Epoch: 2 [19840/50000 (40%)]	Loss: 1.843020
Train Epoch: 2 [20480/50000 (41%)]	Loss: 1.899969
Train Epoch: 2 [21120/50000 (42%)]	Loss: 1.982021
Train Epoch: 2 [21760/50000 (43%)]	Loss: 1.890180
Train Epoch: 2 [22400/50000 (45%)]	Loss: 1.913405
Train Epoch: 2 [23040/50000 (46%)]	Loss: 1.712728
Train Epoch: 2 [23680/50000 (47%)]	Loss: 1.761859
Train Epoch: 2 [24320/50000 (49%)]	Loss: 1.825700
Train Epoch: 2 [24960/50000 (50%)]	Loss: 1.601719
Train Epoch: 2 [25600/50000 (51%)]	Loss: 1.711043
Train Epoch: 2 [26240/50000 (52%)]	Loss: 1.837768
Train Epoch: 2 [26880/50000 (54%)]	Loss: 1.774860
Train Epoch: 2 [27520/50000 (55%)]	Loss: 1.699211
Train Epoch: 2 [28160/50000 (56%)]	Loss: 1.805530
Train Epoch: 2 [28800/50000 (58%)]	Loss: 1.577253
Train Epoch: 2 [29440/50000 (59%)]	Loss: 1.713952
Train Epoch: 2 [30080/50000 (60%)]	Loss: 1.963798
Train Epoch: 2 [30720/50000 (61%)]	Loss: 1.619026
Train Epoch: 2 [31360/50000 (63%)]	Loss: 1.811400
Train Epoch: 2 [32000/50000 (64%)]	Loss: 1.728521
Train Epoch: 2 [32640/50000 (65%)]	Loss: 1.862082
Train Epoch: 2 [33280/50000 (66%)]	Loss: 1.865930
Train Epoch: 2 [33920/50000 (68%)]	Loss: 1.749582
Train Epoch: 2 [34560/50000 (69%)]	Loss: 1.735632
Train Epoch: 2 [35200/50000 (70%)]	Loss: 1.668252
Train Epoch: 2 [35840/50000 (72%)]	Loss: 1.578585
Train Epoch: 2 [36480/50000 (73%)]	Loss: 1.775748
Train Epoch: 2 [37120/50000 (74%)]	Loss: 1.887669
Train Epoch: 2 [37760/50000 (75%)]	Loss: 1.781590
Train Epoch: 2 [38400/50000 (77%)]	Loss: 1.831208
Train Epoch: 2 [39040/50000 (78%)]	Loss: 1.807210
Train Epoch: 2 [39680/50000 (79%)]	Loss: 1.768244
Train Epoch: 2 [40320/50000 (81%)]	Loss: 1.811529
Train Epoch: 2 [40960/50000 (82%)]	Loss: 1.717067
Train Epoch: 2 [41600/50000 (83%)]	Loss: 1.492202
Train Epoch: 2 [42240/50000 (84%)]	Loss: 1.674660
Train Epoch: 2 [42880/50000 (86%)]	Loss: 1.579682
Train Epoch: 2 [43520/50000 (87%)]	Loss: 1.803256
Train Epoch: 2 [44160/50000 (88%)]	Loss: 1.554397
Train Epoch: 2 [44800/50000 (90%)]	Loss: 1.748938
Train Epoch: 2 [45440/50000 (91%)]	Loss: 1.661310
Train Epoch: 2 [46080/50000 (92%)]	Loss: 1.691853
Train Epoch: 2 [46720/50000 (93%)]	Loss: 1.636182
Train Epoch: 2 [47360/50000 (95%)]	Loss: 1.645201
Train Epoch: 2 [48000/50000 (96%)]	Loss: 1.597435
Train Epoch: 2 [48640/50000 (97%)]	Loss: 1.781677
Train Epoch: 2 [49280/50000 (98%)]	Loss: 1.971149
Train Epoch: 2 [49920/50000 (100%)]	Loss: 1.740627

Test set: Average loss: 1.6649, Accuracy: 3965/10000 (40%)

Train Epoch: 3 [0/50000 (0%)]	Loss: 1.810259
Train Epoch: 3 [640/50000 (1%)]	Loss: 1.738012
Train Epoch: 3 [1280/50000 (3%)]	Loss: 1.484423
Train Epoch: 3 [1920/50000 (4%)]	Loss: 1.723884
Train Epoch: 3 [2560/50000 (5%)]	Loss: 1.495660
Train Epoch: 3 [3200/50000 (6%)]	Loss: 1.510804
Train Epoch: 3 [3840/50000 (8%)]	Loss: 1.631585
Train Epoch: 3 [4480/50000 (9%)]	Loss: 1.621392
Train Epoch: 3 [5120/50000 (10%)]	Loss: 1.711734
Train Epoch: 3 [5760/50000 (12%)]	Loss: 1.707042
Train Epoch: 3 [6400/50000 (13%)]	Loss: 1.679337
Train Epoch: 3 [7040/50000 (14%)]	Loss: 1.814268
Train Epoch: 3 [7680/50000 (15%)]	Loss: 1.587187
Train Epoch: 3 [8320/50000 (17%)]	Loss: 1.591974
Train Epoch: 3 [8960/50000 (18%)]	Loss: 1.533758
Train Epoch: 3 [9600/50000 (19%)]	Loss: 1.781838
Train Epoch: 3 [10240/50000 (20%)]	Loss: 1.796551
Train Epoch: 3 [10880/50000 (22%)]	Loss: 1.769633
Train Epoch: 3 [11520/50000 (23%)]	Loss: 1.664646
Train Epoch: 3 [12160/50000 (24%)]	Loss: 1.848388
Train Epoch: 3 [12800/50000 (26%)]	Loss: 1.706696
Train Epoch: 3 [13440/50000 (27%)]	Loss: 1.771890
Train Epoch: 3 [14080/50000 (28%)]	Loss: 1.605590
Train Epoch: 3 [14720/50000 (29%)]	Loss: 1.457174
Train Epoch: 3 [15360/50000 (31%)]	Loss: 1.605289
Train Epoch: 3 [16000/50000 (32%)]	Loss: 1.719416
Train Epoch: 3 [16640/50000 (33%)]	Loss: 1.501319
Train Epoch: 3 [17280/50000 (35%)]	Loss: 1.588638
Train Epoch: 3 [17920/50000 (36%)]	Loss: 1.626916
Train Epoch: 3 [18560/50000 (37%)]	Loss: 1.632758
Train Epoch: 3 [19200/50000 (38%)]	Loss: 1.646617
Train Epoch: 3 [19840/50000 (40%)]	Loss: 1.526056
Train Epoch: 3 [20480/50000 (41%)]	Loss: 1.570891
Train Epoch: 3 [21120/50000 (42%)]	Loss: 1.449577
Train Epoch: 3 [21760/50000 (43%)]	Loss: 1.438131
Train Epoch: 3 [22400/50000 (45%)]	Loss: 1.476567
Train Epoch: 3 [23040/50000 (46%)]	Loss: 1.676186
Train Epoch: 3 [23680/50000 (47%)]	Loss: 1.671370
Train Epoch: 3 [24320/50000 (49%)]	Loss: 1.505173
Train Epoch: 3 [24960/50000 (50%)]	Loss: 1.614480
Train Epoch: 3 [25600/50000 (51%)]	Loss: 1.622179
Train Epoch: 3 [26240/50000 (52%)]	Loss: 1.732499
Train Epoch: 3 [26880/50000 (54%)]	Loss: 1.841317
Train Epoch: 3 [27520/50000 (55%)]	Loss: 1.704939
Train Epoch: 3 [28160/50000 (56%)]	Loss: 1.523935
Train Epoch: 3 [28800/50000 (58%)]	Loss: 1.694221
Train Epoch: 3 [29440/50000 (59%)]	Loss: 1.719626
Train Epoch: 3 [30080/50000 (60%)]	Loss: 1.598815
Train Epoch: 3 [30720/50000 (61%)]	Loss: 1.894476
Train Epoch: 3 [31360/50000 (63%)]	Loss: 1.557712
Train Epoch: 3 [32000/50000 (64%)]	Loss: 1.477096
Train Epoch: 3 [32640/50000 (65%)]	Loss: 1.519656
Train Epoch: 3 [33280/50000 (66%)]	Loss: 1.503504
Train Epoch: 3 [33920/50000 (68%)]	Loss: 1.718313
Train Epoch: 3 [34560/50000 (69%)]	Loss: 1.449990
Train Epoch: 3 [35200/50000 (70%)]	Loss: 1.544765
Train Epoch: 3 [35840/50000 (72%)]	Loss: 1.524794
Train Epoch: 3 [36480/50000 (73%)]	Loss: 1.594551
Train Epoch: 3 [37120/50000 (74%)]	Loss: 1.462470
Train Epoch: 3 [37760/50000 (75%)]	Loss: 1.527140
Train Epoch: 3 [38400/50000 (77%)]	Loss: 1.522166
Train Epoch: 3 [39040/50000 (78%)]	Loss: 1.480597
Train Epoch: 3 [39680/50000 (79%)]	Loss: 1.644576
Train Epoch: 3 [40320/50000 (81%)]	Loss: 1.532119
Train Epoch: 3 [40960/50000 (82%)]	Loss: 1.660930
Train Epoch: 3 [41600/50000 (83%)]	Loss: 1.657969
Train Epoch: 3 [42240/50000 (84%)]	Loss: 1.602526
Train Epoch: 3 [42880/50000 (86%)]	Loss: 1.617962
Train Epoch: 3 [43520/50000 (87%)]	Loss: 1.788599
Train Epoch: 3 [44160/50000 (88%)]	Loss: 1.596871
Train Epoch: 3 [44800/50000 (90%)]	Loss: 1.470333
Train Epoch: 3 [45440/50000 (91%)]	Loss: 1.414726
Train Epoch: 3 [46080/50000 (92%)]	Loss: 1.466020
Train Epoch: 3 [46720/50000 (93%)]	Loss: 1.700611
Train Epoch: 3 [47360/50000 (95%)]	Loss: 1.657070
Train Epoch: 3 [48000/50000 (96%)]	Loss: 1.679303
Train Epoch: 3 [48640/50000 (97%)]	Loss: 1.584363
Train Epoch: 3 [49280/50000 (98%)]	Loss: 1.409678
Train Epoch: 3 [49920/50000 (100%)]	Loss: 1.394329

Test set: Average loss: 1.4807, Accuracy: 4617/10000 (46%)

Train Epoch: 4 [0/50000 (0%)]	Loss: 1.570947
Train Epoch: 4 [640/50000 (1%)]	Loss: 1.618561
Train Epoch: 4 [1280/50000 (3%)]	Loss: 1.506731
Train Epoch: 4 [1920/50000 (4%)]	Loss: 1.583423
Train Epoch: 4 [2560/50000 (5%)]	Loss: 1.505770
Train Epoch: 4 [3200/50000 (6%)]	Loss: 1.575936
Train Epoch: 4 [3840/50000 (8%)]	Loss: 1.689658
Train Epoch: 4 [4480/50000 (9%)]	Loss: 1.378299
Train Epoch: 4 [5120/50000 (10%)]	Loss: 1.616946
Train Epoch: 4 [5760/50000 (12%)]	Loss: 1.440168
Train Epoch: 4 [6400/50000 (13%)]	Loss: 1.334534
Train Epoch: 4 [7040/50000 (14%)]	Loss: 1.712016
Train Epoch: 4 [7680/50000 (15%)]	Loss: 1.848910
Train Epoch: 4 [8320/50000 (17%)]	Loss: 1.645779
Train Epoch: 4 [8960/50000 (18%)]	Loss: 1.673068
Train Epoch: 4 [9600/50000 (19%)]	Loss: 1.719029
Train Epoch: 4 [10240/50000 (20%)]	Loss: 1.565467
Train Epoch: 4 [10880/50000 (22%)]	Loss: 1.430520
Train Epoch: 4 [11520/50000 (23%)]	Loss: 1.366385
Train Epoch: 4 [12160/50000 (24%)]	Loss: 1.590118
Train Epoch: 4 [12800/50000 (26%)]	Loss: 1.778726
Train Epoch: 4 [13440/50000 (27%)]	Loss: 1.801188
Train Epoch: 4 [14080/50000 (28%)]	Loss: 1.572735
Train Epoch: 4 [14720/50000 (29%)]	Loss: 1.542875
Train Epoch: 4 [15360/50000 (31%)]	Loss: 1.390377
Train Epoch: 4 [16000/50000 (32%)]	Loss: 1.610752
Train Epoch: 4 [16640/50000 (33%)]	Loss: 1.601636
Train Epoch: 4 [17280/50000 (35%)]	Loss: 1.291876
Train Epoch: 4 [17920/50000 (36%)]	Loss: 1.579380
Train Epoch: 4 [18560/50000 (37%)]	Loss: 1.468463
Train Epoch: 4 [19200/50000 (38%)]	Loss: 1.435820
Train Epoch: 4 [19840/50000 (40%)]	Loss: 1.329774
Train Epoch: 4 [20480/50000 (41%)]	Loss: 1.678858
Train Epoch: 4 [21120/50000 (42%)]	Loss: 1.539600
Train Epoch: 4 [21760/50000 (43%)]	Loss: 1.477616
Train Epoch: 4 [22400/50000 (45%)]	Loss: 1.453718
Train Epoch: 4 [23040/50000 (46%)]	Loss: 1.637646
Train Epoch: 4 [23680/50000 (47%)]	Loss: 1.471272
Train Epoch: 4 [24320/50000 (49%)]	Loss: 1.561860
Train Epoch: 4 [24960/50000 (50%)]	Loss: 1.662062
Train Epoch: 4 [25600/50000 (51%)]	Loss: 1.823766
Train Epoch: 4 [26240/50000 (52%)]	Loss: 1.353945
Train Epoch: 4 [26880/50000 (54%)]	Loss: 1.652436
Train Epoch: 4 [27520/50000 (55%)]	Loss: 1.355425
Train Epoch: 4 [28160/50000 (56%)]	Loss: 1.585472
Train Epoch: 4 [28800/50000 (58%)]	Loss: 1.478201
Train Epoch: 4 [29440/50000 (59%)]	Loss: 1.474158
Train Epoch: 4 [30080/50000 (60%)]	Loss: 1.782998
Train Epoch: 4 [30720/50000 (61%)]	Loss: 1.577160
Train Epoch: 4 [31360/50000 (63%)]	Loss: 1.445784
Train Epoch: 4 [32000/50000 (64%)]	Loss: 1.261369
Train Epoch: 4 [32640/50000 (65%)]	Loss: 1.355607
Train Epoch: 4 [33280/50000 (66%)]	Loss: 1.482178
Train Epoch: 4 [33920/50000 (68%)]	Loss: 2.046730
Train Epoch: 4 [34560/50000 (69%)]	Loss: 1.363702
Train Epoch: 4 [35200/50000 (70%)]	Loss: 1.676170
Train Epoch: 4 [35840/50000 (72%)]	Loss: 1.348554
Train Epoch: 4 [36480/50000 (73%)]	Loss: 1.553316
Train Epoch: 4 [37120/50000 (74%)]	Loss: 1.476770
Train Epoch: 4 [37760/50000 (75%)]	Loss: 1.640364
Train Epoch: 4 [38400/50000 (77%)]	Loss: 1.434365
Train Epoch: 4 [39040/50000 (78%)]	Loss: 1.626751
Train Epoch: 4 [39680/50000 (79%)]	Loss: 1.535715
Train Epoch: 4 [40320/50000 (81%)]	Loss: 1.591979
Train Epoch: 4 [40960/50000 (82%)]	Loss: 1.345061
Train Epoch: 4 [41600/50000 (83%)]	Loss: 1.466431
Train Epoch: 4 [42240/50000 (84%)]	Loss: 1.511735
Train Epoch: 4 [42880/50000 (86%)]	Loss: 1.509222
Train Epoch: 4 [43520/50000 (87%)]	Loss: 1.306858
Train Epoch: 4 [44160/50000 (88%)]	Loss: 1.456027
Train Epoch: 4 [44800/50000 (90%)]	Loss: 1.535989
Train Epoch: 4 [45440/50000 (91%)]	Loss: 1.399031
Train Epoch: 4 [46080/50000 (92%)]	Loss: 1.366898
Train Epoch: 4 [46720/50000 (93%)]	Loss: 1.482152
Train Epoch: 4 [47360/50000 (95%)]	Loss: 1.454851
Train Epoch: 4 [48000/50000 (96%)]	Loss: 1.687370
Train Epoch: 4 [48640/50000 (97%)]	Loss: 1.580051
Train Epoch: 4 [49280/50000 (98%)]	Loss: 1.462471
Train Epoch: 4 [49920/50000 (100%)]	Loss: 1.324635

Test set: Average loss: 1.4188, Accuracy: 4875/10000 (49%)

Train Epoch: 5 [0/50000 (0%)]	Loss: 1.613007
Train Epoch: 5 [640/50000 (1%)]	Loss: 1.513647
Train Epoch: 5 [1280/50000 (3%)]	Loss: 1.447579
Train Epoch: 5 [1920/50000 (4%)]	Loss: 1.443476
Train Epoch: 5 [2560/50000 (5%)]	Loss: 1.646668
Train Epoch: 5 [3200/50000 (6%)]	Loss: 1.381565
Train Epoch: 5 [3840/50000 (8%)]	Loss: 1.440523
Train Epoch: 5 [4480/50000 (9%)]	Loss: 1.424634
Train Epoch: 5 [5120/50000 (10%)]	Loss: 1.549442
Train Epoch: 5 [5760/50000 (12%)]	Loss: 1.592703
Train Epoch: 5 [6400/50000 (13%)]	Loss: 1.484546
Train Epoch: 5 [7040/50000 (14%)]	Loss: 1.578120
Train Epoch: 5 [7680/50000 (15%)]	Loss: 1.470731
Train Epoch: 5 [8320/50000 (17%)]	Loss: 1.330504
Train Epoch: 5 [8960/50000 (18%)]	Loss: 1.544651
Train Epoch: 5 [9600/50000 (19%)]	Loss: 1.551862
Train Epoch: 5 [10240/50000 (20%)]	Loss: 1.477193
Train Epoch: 5 [10880/50000 (22%)]	Loss: 1.297399
Train Epoch: 5 [11520/50000 (23%)]	Loss: 1.350818
Train Epoch: 5 [12160/50000 (24%)]	Loss: 1.395164
Train Epoch: 5 [12800/50000 (26%)]	Loss: 1.492931
Train Epoch: 5 [13440/50000 (27%)]	Loss: 1.393559
Train Epoch: 5 [14080/50000 (28%)]	Loss: 1.787127
Train Epoch: 5 [14720/50000 (29%)]	Loss: 1.520030
Train Epoch: 5 [15360/50000 (31%)]	Loss: 1.322347
Train Epoch: 5 [16000/50000 (32%)]	Loss: 1.494924
Train Epoch: 5 [16640/50000 (33%)]	Loss: 1.377863
Train Epoch: 5 [17280/50000 (35%)]	Loss: 1.459415
Train Epoch: 5 [17920/50000 (36%)]	Loss: 1.687305
Train Epoch: 5 [18560/50000 (37%)]	Loss: 1.348393
Train Epoch: 5 [19200/50000 (38%)]	Loss: 1.451964
Train Epoch: 5 [19840/50000 (40%)]	Loss: 1.547583
Train Epoch: 5 [20480/50000 (41%)]	Loss: 1.663331
Train Epoch: 5 [21120/50000 (42%)]	Loss: 1.559981
Train Epoch: 5 [21760/50000 (43%)]	Loss: 1.418573
Train Epoch: 5 [22400/50000 (45%)]	Loss: 1.556555
Train Epoch: 5 [23040/50000 (46%)]	Loss: 1.721186
Train Epoch: 5 [23680/50000 (47%)]	Loss: 1.735970
Train Epoch: 5 [24320/50000 (49%)]	Loss: 1.582048
Train Epoch: 5 [24960/50000 (50%)]	Loss: 1.792424
Train Epoch: 5 [25600/50000 (51%)]	Loss: 1.573860
Train Epoch: 5 [26240/50000 (52%)]	Loss: 1.384568
Train Epoch: 5 [26880/50000 (54%)]	Loss: 1.516596
Train Epoch: 5 [27520/50000 (55%)]	Loss: 1.404985
Train Epoch: 5 [28160/50000 (56%)]	Loss: 1.907362
Train Epoch: 5 [28800/50000 (58%)]	Loss: 1.497736
Train Epoch: 5 [29440/50000 (59%)]	Loss: 1.588384
Train Epoch: 5 [30080/50000 (60%)]	Loss: 1.472407
Train Epoch: 5 [30720/50000 (61%)]	Loss: 1.784477
Train Epoch: 5 [31360/50000 (63%)]	Loss: 1.528031
Train Epoch: 5 [32000/50000 (64%)]	Loss: 1.568705
Train Epoch: 5 [32640/50000 (65%)]	Loss: 1.630334
Train Epoch: 5 [33280/50000 (66%)]	Loss: 1.510682
Train Epoch: 5 [33920/50000 (68%)]	Loss: 1.453861
Train Epoch: 5 [34560/50000 (69%)]	Loss: 1.424872
Train Epoch: 5 [35200/50000 (70%)]	Loss: 1.533066
Train Epoch: 5 [35840/50000 (72%)]	Loss: 1.482684
Train Epoch: 5 [36480/50000 (73%)]	Loss: 1.517049
Train Epoch: 5 [37120/50000 (74%)]	Loss: 1.471738
Train Epoch: 5 [37760/50000 (75%)]	Loss: 1.434818
Train Epoch: 5 [38400/50000 (77%)]	Loss: 1.598915
Train Epoch: 5 [39040/50000 (78%)]	Loss: 1.438681
Train Epoch: 5 [39680/50000 (79%)]	Loss: 1.525365
Train Epoch: 5 [40320/50000 (81%)]	Loss: 1.457865
Train Epoch: 5 [40960/50000 (82%)]	Loss: 1.274262
Train Epoch: 5 [41600/50000 (83%)]	Loss: 1.344880
Train Epoch: 5 [42240/50000 (84%)]	Loss: 1.369007
Train Epoch: 5 [42880/50000 (86%)]	Loss: 1.412464
Train Epoch: 5 [43520/50000 (87%)]	Loss: 1.430811
Train Epoch: 5 [44160/50000 (88%)]	Loss: 1.365842
Train Epoch: 5 [44800/50000 (90%)]	Loss: 1.424390
Train Epoch: 5 [45440/50000 (91%)]	Loss: 1.478592
Train Epoch: 5 [46080/50000 (92%)]	Loss: 1.656680
Train Epoch: 5 [46720/50000 (93%)]	Loss: 1.365578
Train Epoch: 5 [47360/50000 (95%)]	Loss: 1.642195
Train Epoch: 5 [48000/50000 (96%)]	Loss: 1.412435
Train Epoch: 5 [48640/50000 (97%)]	Loss: 1.359110
Train Epoch: 5 [49280/50000 (98%)]	Loss: 1.491082
Train Epoch: 5 [49920/50000 (100%)]	Loss: 1.371857

Test set: Average loss: 1.3692, Accuracy: 5114/10000 (51%)

Train Epoch: 6 [0/50000 (0%)]	Loss: 1.463071
Train Epoch: 6 [640/50000 (1%)]	Loss: 1.478931
Train Epoch: 6 [1280/50000 (3%)]	Loss: 1.240620
Train Epoch: 6 [1920/50000 (4%)]	Loss: 1.195952
Train Epoch: 6 [2560/50000 (5%)]	Loss: 1.101696
Train Epoch: 6 [3200/50000 (6%)]	Loss: 1.235885
Train Epoch: 6 [3840/50000 (8%)]	Loss: 1.601570
Train Epoch: 6 [4480/50000 (9%)]	Loss: 1.522182
Train Epoch: 6 [5120/50000 (10%)]	Loss: 1.272301
Train Epoch: 6 [5760/50000 (12%)]	Loss: 1.304805
Train Epoch: 6 [6400/50000 (13%)]	Loss: 1.382186
Train Epoch: 6 [7040/50000 (14%)]	Loss: 1.597842
Train Epoch: 6 [7680/50000 (15%)]	Loss: 1.459259
Train Epoch: 6 [8320/50000 (17%)]	Loss: 1.194813
Train Epoch: 6 [8960/50000 (18%)]	Loss: 1.262470
Train Epoch: 6 [9600/50000 (19%)]	Loss: 1.696808
Train Epoch: 6 [10240/50000 (20%)]	Loss: 1.339477
Train Epoch: 6 [10880/50000 (22%)]	Loss: 1.529572
Train Epoch: 6 [11520/50000 (23%)]	Loss: 1.342652
Train Epoch: 6 [12160/50000 (24%)]	Loss: 1.464445
Train Epoch: 6 [12800/50000 (26%)]	Loss: 1.141319
Train Epoch: 6 [13440/50000 (27%)]	Loss: 1.285699
Train Epoch: 6 [14080/50000 (28%)]	Loss: 1.705095
Train Epoch: 6 [14720/50000 (29%)]	Loss: 1.516870
Train Epoch: 6 [15360/50000 (31%)]	Loss: 1.401549
Train Epoch: 6 [16000/50000 (32%)]	Loss: 1.765314
Train Epoch: 6 [16640/50000 (33%)]	Loss: 1.461968
Train Epoch: 6 [17280/50000 (35%)]	Loss: 1.249968
Train Epoch: 6 [17920/50000 (36%)]	Loss: 1.441521
Train Epoch: 6 [18560/50000 (37%)]	Loss: 1.706679
Train Epoch: 6 [19200/50000 (38%)]	Loss: 1.456275
Train Epoch: 6 [19840/50000 (40%)]	Loss: 1.464200
Train Epoch: 6 [20480/50000 (41%)]	Loss: 1.339009
Train Epoch: 6 [21120/50000 (42%)]	Loss: 1.331226
Train Epoch: 6 [21760/50000 (43%)]	Loss: 1.490344
Train Epoch: 6 [22400/50000 (45%)]	Loss: 1.442450
Train Epoch: 6 [23040/50000 (46%)]	Loss: 1.464723
Train Epoch: 6 [23680/50000 (47%)]	Loss: 1.530678
Train Epoch: 6 [24320/50000 (49%)]	Loss: 1.199013
Train Epoch: 6 [24960/50000 (50%)]	Loss: 1.416629
Train Epoch: 6 [25600/50000 (51%)]	Loss: 1.306714
Train Epoch: 6 [26240/50000 (52%)]	Loss: 1.243047
Train Epoch: 6 [26880/50000 (54%)]	Loss: 1.510160
Train Epoch: 6 [27520/50000 (55%)]	Loss: 1.243969
Train Epoch: 6 [28160/50000 (56%)]	Loss: 1.257271
Train Epoch: 6 [28800/50000 (58%)]	Loss: 1.385139
Train Epoch: 6 [29440/50000 (59%)]	Loss: 1.560904
Train Epoch: 6 [30080/50000 (60%)]	Loss: 1.265323
Train Epoch: 6 [30720/50000 (61%)]	Loss: 1.447005
Train Epoch: 6 [31360/50000 (63%)]	Loss: 1.503874
Train Epoch: 6 [32000/50000 (64%)]	Loss: 1.437766
Train Epoch: 6 [32640/50000 (65%)]	Loss: 1.446845
Train Epoch: 6 [33280/50000 (66%)]	Loss: 1.329185
Train Epoch: 6 [33920/50000 (68%)]	Loss: 1.390885
Train Epoch: 6 [34560/50000 (69%)]	Loss: 1.438322
Train Epoch: 6 [35200/50000 (70%)]	Loss: 1.460036
Train Epoch: 6 [35840/50000 (72%)]	Loss: 1.282510
Train Epoch: 6 [36480/50000 (73%)]	Loss: 1.422119
Train Epoch: 6 [37120/50000 (74%)]	Loss: 1.246051
Train Epoch: 6 [37760/50000 (75%)]	Loss: 1.566977
Train Epoch: 6 [38400/50000 (77%)]	Loss: 1.532411
Train Epoch: 6 [39040/50000 (78%)]	Loss: 1.446640
Train Epoch: 6 [39680/50000 (79%)]	Loss: 1.285358
Train Epoch: 6 [40320/50000 (81%)]	Loss: 1.481838
Train Epoch: 6 [40960/50000 (82%)]	Loss: 1.374484
Train Epoch: 6 [41600/50000 (83%)]	Loss: 1.546421
Train Epoch: 6 [42240/50000 (84%)]	Loss: 1.566056
Train Epoch: 6 [42880/50000 (86%)]	Loss: 1.031456
Train Epoch: 6 [43520/50000 (87%)]	Loss: 1.113732
Train Epoch: 6 [44160/50000 (88%)]	Loss: 1.567318
Train Epoch: 6 [44800/50000 (90%)]	Loss: 1.405145
Train Epoch: 6 [45440/50000 (91%)]	Loss: 1.418798
Train Epoch: 6 [46080/50000 (92%)]	Loss: 1.553488
Train Epoch: 6 [46720/50000 (93%)]	Loss: 1.207768
Train Epoch: 6 [47360/50000 (95%)]	Loss: 1.506138
Train Epoch: 6 [48000/50000 (96%)]	Loss: 1.377431
Train Epoch: 6 [48640/50000 (97%)]	Loss: 1.450295
Train Epoch: 6 [49280/50000 (98%)]	Loss: 1.426460
Train Epoch: 6 [49920/50000 (100%)]	Loss: 1.256083

Test set: Average loss: 1.3530, Accuracy: 5127/10000 (51%)

Train Epoch: 7 [0/50000 (0%)]	Loss: 1.331650
Train Epoch: 7 [640/50000 (1%)]	Loss: 1.470516
Train Epoch: 7 [1280/50000 (3%)]	Loss: 1.465688
Train Epoch: 7 [1920/50000 (4%)]	Loss: 1.443353
Train Epoch: 7 [2560/50000 (5%)]	Loss: 1.441129
Train Epoch: 7 [3200/50000 (6%)]	Loss: 1.412321
Train Epoch: 7 [3840/50000 (8%)]	Loss: 1.279340
Train Epoch: 7 [4480/50000 (9%)]	Loss: 1.226506
Train Epoch: 7 [5120/50000 (10%)]	Loss: 1.625192
Train Epoch: 7 [5760/50000 (12%)]	Loss: 1.383990
Train Epoch: 7 [6400/50000 (13%)]	Loss: 1.182480
Train Epoch: 7 [7040/50000 (14%)]	Loss: 1.402299
Train Epoch: 7 [7680/50000 (15%)]	Loss: 1.278798
Train Epoch: 7 [8320/50000 (17%)]	Loss: 1.204702
Train Epoch: 7 [8960/50000 (18%)]	Loss: 1.409546
Train Epoch: 7 [9600/50000 (19%)]	Loss: 1.482510
Train Epoch: 7 [10240/50000 (20%)]	Loss: 1.296407
Train Epoch: 7 [10880/50000 (22%)]	Loss: 1.516957
Train Epoch: 7 [11520/50000 (23%)]	Loss: 1.406274
Train Epoch: 7 [12160/50000 (24%)]	Loss: 1.482519
Train Epoch: 7 [12800/50000 (26%)]	Loss: 1.236568
Train Epoch: 7 [13440/50000 (27%)]	Loss: 1.448222
Train Epoch: 7 [14080/50000 (28%)]	Loss: 1.421385
Train Epoch: 7 [14720/50000 (29%)]	Loss: 1.263264
Train Epoch: 7 [15360/50000 (31%)]	Loss: 1.292552
Train Epoch: 7 [16000/50000 (32%)]	Loss: 1.160644
Train Epoch: 7 [16640/50000 (33%)]	Loss: 1.303148
Train Epoch: 7 [17280/50000 (35%)]	Loss: 1.602355
Train Epoch: 7 [17920/50000 (36%)]	Loss: 1.401109
Train Epoch: 7 [18560/50000 (37%)]	Loss: 1.413604
Train Epoch: 7 [19200/50000 (38%)]	Loss: 1.220223
Train Epoch: 7 [19840/50000 (40%)]	Loss: 1.319688
Train Epoch: 7 [20480/50000 (41%)]	Loss: 1.444131
Train Epoch: 7 [21120/50000 (42%)]	Loss: 1.510391
Train Epoch: 7 [21760/50000 (43%)]	Loss: 1.435376
Train Epoch: 7 [22400/50000 (45%)]	Loss: 1.249174
Train Epoch: 7 [23040/50000 (46%)]	Loss: 1.467227
Train Epoch: 7 [23680/50000 (47%)]	Loss: 1.294515
Train Epoch: 7 [24320/50000 (49%)]	Loss: 1.404321
Train Epoch: 7 [24960/50000 (50%)]	Loss: 1.343301
Train Epoch: 7 [25600/50000 (51%)]	Loss: 1.452805
Train Epoch: 7 [26240/50000 (52%)]	Loss: 1.396952
Train Epoch: 7 [26880/50000 (54%)]	Loss: 1.411266
Train Epoch: 7 [27520/50000 (55%)]	Loss: 1.481792
Train Epoch: 7 [28160/50000 (56%)]	Loss: 1.295482
Train Epoch: 7 [28800/50000 (58%)]	Loss: 1.420043
Train Epoch: 7 [29440/50000 (59%)]	Loss: 1.486021
Train Epoch: 7 [30080/50000 (60%)]	Loss: 1.103861
Train Epoch: 7 [30720/50000 (61%)]	Loss: 1.195881
Train Epoch: 7 [31360/50000 (63%)]	Loss: 1.333465
Train Epoch: 7 [32000/50000 (64%)]	Loss: 1.297991
Train Epoch: 7 [32640/50000 (65%)]	Loss: 1.381757
Train Epoch: 7 [33280/50000 (66%)]	Loss: 1.209866
Train Epoch: 7 [33920/50000 (68%)]	Loss: 1.783116
Train Epoch: 7 [34560/50000 (69%)]	Loss: 1.329899
Train Epoch: 7 [35200/50000 (70%)]	Loss: 1.382557
Train Epoch: 7 [35840/50000 (72%)]	Loss: 1.365822
Train Epoch: 7 [36480/50000 (73%)]	Loss: 1.473439
Train Epoch: 7 [37120/50000 (74%)]	Loss: 1.317970
Train Epoch: 7 [37760/50000 (75%)]	Loss: 1.294835
Train Epoch: 7 [38400/50000 (77%)]	Loss: 1.430959
Train Epoch: 7 [39040/50000 (78%)]	Loss: 1.544812
Train Epoch: 7 [39680/50000 (79%)]	Loss: 1.323435
Train Epoch: 7 [40320/50000 (81%)]	Loss: 1.414227
Train Epoch: 7 [40960/50000 (82%)]	Loss: 1.520899
Train Epoch: 7 [41600/50000 (83%)]	Loss: 1.563141
Train Epoch: 7 [42240/50000 (84%)]	Loss: 1.238347
Train Epoch: 7 [42880/50000 (86%)]	Loss: 1.408219
Train Epoch: 7 [43520/50000 (87%)]	Loss: 1.344490
Train Epoch: 7 [44160/50000 (88%)]	Loss: 0.966520
Train Epoch: 7 [44800/50000 (90%)]	Loss: 1.341764
Train Epoch: 7 [45440/50000 (91%)]	Loss: 1.332548
Train Epoch: 7 [46080/50000 (92%)]	Loss: 1.476600
Train Epoch: 7 [46720/50000 (93%)]	Loss: 1.207260
Train Epoch: 7 [47360/50000 (95%)]	Loss: 1.418785
Train Epoch: 7 [48000/50000 (96%)]	Loss: 1.667734
Train Epoch: 7 [48640/50000 (97%)]	Loss: 1.275434
Train Epoch: 7 [49280/50000 (98%)]	Loss: 1.385973
Train Epoch: 7 [49920/50000 (100%)]	Loss: 1.579149

Test set: Average loss: 1.2948, Accuracy: 5298/10000 (53%)

Train Epoch: 8 [0/50000 (0%)]	Loss: 1.254255
Train Epoch: 8 [640/50000 (1%)]	Loss: 1.700912
Train Epoch: 8 [1280/50000 (3%)]	Loss: 1.277327
Train Epoch: 8 [1920/50000 (4%)]	Loss: 1.516372
Train Epoch: 8 [2560/50000 (5%)]	Loss: 1.286682
Train Epoch: 8 [3200/50000 (6%)]	Loss: 1.328189
Train Epoch: 8 [3840/50000 (8%)]	Loss: 1.296699
Train Epoch: 8 [4480/50000 (9%)]	Loss: 1.528008
Train Epoch: 8 [5120/50000 (10%)]	Loss: 1.306486
Train Epoch: 8 [5760/50000 (12%)]	Loss: 1.558673
Train Epoch: 8 [6400/50000 (13%)]	Loss: 1.438441
Train Epoch: 8 [7040/50000 (14%)]	Loss: 1.424350
Train Epoch: 8 [7680/50000 (15%)]	Loss: 1.558579
Train Epoch: 8 [8320/50000 (17%)]	Loss: 1.390846
Train Epoch: 8 [8960/50000 (18%)]	Loss: 1.236586
Train Epoch: 8 [9600/50000 (19%)]	Loss: 1.307383
Train Epoch: 8 [10240/50000 (20%)]	Loss: 1.429966
Train Epoch: 8 [10880/50000 (22%)]	Loss: 1.089045
Train Epoch: 8 [11520/50000 (23%)]	Loss: 1.288016
Train Epoch: 8 [12160/50000 (24%)]	Loss: 1.448050
Train Epoch: 8 [12800/50000 (26%)]	Loss: 1.600505
Train Epoch: 8 [13440/50000 (27%)]	Loss: 1.382677
Train Epoch: 8 [14080/50000 (28%)]	Loss: 1.149905
Train Epoch: 8 [14720/50000 (29%)]	Loss: 1.303246
Train Epoch: 8 [15360/50000 (31%)]	Loss: 1.198789
Train Epoch: 8 [16000/50000 (32%)]	Loss: 1.313082
Train Epoch: 8 [16640/50000 (33%)]	Loss: 1.259756
Train Epoch: 8 [17280/50000 (35%)]	Loss: 1.219956
Train Epoch: 8 [17920/50000 (36%)]	Loss: 1.465578
Train Epoch: 8 [18560/50000 (37%)]	Loss: 1.354915
Train Epoch: 8 [19200/50000 (38%)]	Loss: 1.323560
Train Epoch: 8 [19840/50000 (40%)]	Loss: 1.419725
Train Epoch: 8 [20480/50000 (41%)]	Loss: 1.180292
Train Epoch: 8 [21120/50000 (42%)]	Loss: 1.344114
Train Epoch: 8 [21760/50000 (43%)]	Loss: 1.340324
Train Epoch: 8 [22400/50000 (45%)]	Loss: 1.377895
Train Epoch: 8 [23040/50000 (46%)]	Loss: 1.408056
Train Epoch: 8 [23680/50000 (47%)]	Loss: 1.549071
Train Epoch: 8 [24320/50000 (49%)]	Loss: 1.475961
Train Epoch: 8 [24960/50000 (50%)]	Loss: 1.200367
Train Epoch: 8 [25600/50000 (51%)]	Loss: 1.335209
Train Epoch: 8 [26240/50000 (52%)]	Loss: 1.512776
Train Epoch: 8 [26880/50000 (54%)]	Loss: 1.428770
Train Epoch: 8 [27520/50000 (55%)]	Loss: 1.326254
Train Epoch: 8 [28160/50000 (56%)]	Loss: 1.321121
Train Epoch: 8 [28800/50000 (58%)]	Loss: 1.385473
Train Epoch: 8 [29440/50000 (59%)]	Loss: 1.239524
Train Epoch: 8 [30080/50000 (60%)]	Loss: 1.342665
Train Epoch: 8 [30720/50000 (61%)]	Loss: 1.223503
Train Epoch: 8 [31360/50000 (63%)]	Loss: 1.321751
Train Epoch: 8 [32000/50000 (64%)]	Loss: 1.383690
Train Epoch: 8 [32640/50000 (65%)]	Loss: 1.349856
Train Epoch: 8 [33280/50000 (66%)]	Loss: 1.506050
Train Epoch: 8 [33920/50000 (68%)]	Loss: 1.264046
Train Epoch: 8 [34560/50000 (69%)]	Loss: 1.301048
Train Epoch: 8 [35200/50000 (70%)]	Loss: 1.353142
Train Epoch: 8 [35840/50000 (72%)]	Loss: 1.689473
Train Epoch: 8 [36480/50000 (73%)]	Loss: 1.059078
Train Epoch: 8 [37120/50000 (74%)]	Loss: 1.470436
Train Epoch: 8 [37760/50000 (75%)]	Loss: 1.444075
Train Epoch: 8 [38400/50000 (77%)]	Loss: 1.253368
Train Epoch: 8 [39040/50000 (78%)]	Loss: 1.424256
Train Epoch: 8 [39680/50000 (79%)]	Loss: 1.309582
Train Epoch: 8 [40320/50000 (81%)]	Loss: 1.247104
Train Epoch: 8 [40960/50000 (82%)]	Loss: 1.395060
Train Epoch: 8 [41600/50000 (83%)]	Loss: 1.423449
Train Epoch: 8 [42240/50000 (84%)]	Loss: 1.350087
Train Epoch: 8 [42880/50000 (86%)]	Loss: 1.406412
Train Epoch: 8 [43520/50000 (87%)]	Loss: 1.287269
Train Epoch: 8 [44160/50000 (88%)]	Loss: 1.169722
Train Epoch: 8 [44800/50000 (90%)]	Loss: 1.403592
Train Epoch: 8 [45440/50000 (91%)]	Loss: 1.300187
Train Epoch: 8 [46080/50000 (92%)]	Loss: 1.376482
Train Epoch: 8 [46720/50000 (93%)]	Loss: 1.342021
Train Epoch: 8 [47360/50000 (95%)]	Loss: 1.364180
Train Epoch: 8 [48000/50000 (96%)]	Loss: 1.511579
Train Epoch: 8 [48640/50000 (97%)]	Loss: 1.341042
Train Epoch: 8 [49280/50000 (98%)]	Loss: 1.316275
Train Epoch: 8 [49920/50000 (100%)]	Loss: 1.489759

Test set: Average loss: 1.3349, Accuracy: 5343/10000 (53%)

Train Epoch: 9 [0/50000 (0%)]	Loss: 1.203445
Train Epoch: 9 [640/50000 (1%)]	Loss: 1.180158
Train Epoch: 9 [1280/50000 (3%)]	Loss: 1.359057
Train Epoch: 9 [1920/50000 (4%)]	Loss: 1.287699
Train Epoch: 9 [2560/50000 (5%)]	Loss: 1.134578
Train Epoch: 9 [3200/50000 (6%)]	Loss: 1.287824
Train Epoch: 9 [3840/50000 (8%)]	Loss: 1.389266
Train Epoch: 9 [4480/50000 (9%)]	Loss: 1.386538
Train Epoch: 9 [5120/50000 (10%)]	Loss: 1.445020
Train Epoch: 9 [5760/50000 (12%)]	Loss: 1.066993
Train Epoch: 9 [6400/50000 (13%)]	Loss: 1.346193
Train Epoch: 9 [7040/50000 (14%)]	Loss: 1.158786
Train Epoch: 9 [7680/50000 (15%)]	Loss: 1.373955
Train Epoch: 9 [8320/50000 (17%)]	Loss: 1.262781
Train Epoch: 9 [8960/50000 (18%)]	Loss: 1.284237
Train Epoch: 9 [9600/50000 (19%)]	Loss: 1.246573
Train Epoch: 9 [10240/50000 (20%)]	Loss: 1.502696
Train Epoch: 9 [10880/50000 (22%)]	Loss: 1.267494
Train Epoch: 9 [11520/50000 (23%)]	Loss: 1.451113
Train Epoch: 9 [12160/50000 (24%)]	Loss: 1.384102
Train Epoch: 9 [12800/50000 (26%)]	Loss: 1.500284
Train Epoch: 9 [13440/50000 (27%)]	Loss: 0.974454
Train Epoch: 9 [14080/50000 (28%)]	Loss: 1.269077
Train Epoch: 9 [14720/50000 (29%)]	Loss: 1.407491
Train Epoch: 9 [15360/50000 (31%)]	Loss: 1.521546
Train Epoch: 9 [16000/50000 (32%)]	Loss: 1.245280
Train Epoch: 9 [16640/50000 (33%)]	Loss: 1.212340
Train Epoch: 9 [17280/50000 (35%)]	Loss: 1.485358
Train Epoch: 9 [17920/50000 (36%)]	Loss: 1.314285
Train Epoch: 9 [18560/50000 (37%)]	Loss: 1.192430
Train Epoch: 9 [19200/50000 (38%)]	Loss: 1.149121
Train Epoch: 9 [19840/50000 (40%)]	Loss: 1.089086
Train Epoch: 9 [20480/50000 (41%)]	Loss: 1.188347
Train Epoch: 9 [21120/50000 (42%)]	Loss: 1.283939
Train Epoch: 9 [21760/50000 (43%)]	Loss: 1.286173
Train Epoch: 9 [22400/50000 (45%)]	Loss: 1.142245
Train Epoch: 9 [23040/50000 (46%)]	Loss: 1.375614
Train Epoch: 9 [23680/50000 (47%)]	Loss: 1.448425
Train Epoch: 9 [24320/50000 (49%)]	Loss: 1.316471
Train Epoch: 9 [24960/50000 (50%)]	Loss: 1.327930
Train Epoch: 9 [25600/50000 (51%)]	Loss: 1.449296
Train Epoch: 9 [26240/50000 (52%)]	Loss: 1.538146
Train Epoch: 9 [26880/50000 (54%)]	Loss: 1.078679
Train Epoch: 9 [27520/50000 (55%)]	Loss: 1.525669
Train Epoch: 9 [28160/50000 (56%)]	Loss: 1.307033
Train Epoch: 9 [28800/50000 (58%)]	Loss: 1.453839
Train Epoch: 9 [29440/50000 (59%)]	Loss: 1.297625
Train Epoch: 9 [30080/50000 (60%)]	Loss: 1.413432
Train Epoch: 9 [30720/50000 (61%)]	Loss: 1.206072
Train Epoch: 9 [31360/50000 (63%)]	Loss: 1.313615
Train Epoch: 9 [32000/50000 (64%)]	Loss: 1.340036
Train Epoch: 9 [32640/50000 (65%)]	Loss: 1.539620
Train Epoch: 9 [33280/50000 (66%)]	Loss: 1.380348
Train Epoch: 9 [33920/50000 (68%)]	Loss: 1.161667
Train Epoch: 9 [34560/50000 (69%)]	Loss: 1.114407
Train Epoch: 9 [35200/50000 (70%)]	Loss: 1.491333
Train Epoch: 9 [35840/50000 (72%)]	Loss: 1.431695
Train Epoch: 9 [36480/50000 (73%)]	Loss: 1.537114
Train Epoch: 9 [37120/50000 (74%)]	Loss: 1.387694
Train Epoch: 9 [37760/50000 (75%)]	Loss: 1.328836
Train Epoch: 9 [38400/50000 (77%)]	Loss: 1.252605
Train Epoch: 9 [39040/50000 (78%)]	Loss: 1.145447
Train Epoch: 9 [39680/50000 (79%)]	Loss: 1.448217
Train Epoch: 9 [40320/50000 (81%)]	Loss: 1.439945
Train Epoch: 9 [40960/50000 (82%)]	Loss: 1.209396
Train Epoch: 9 [41600/50000 (83%)]	Loss: 1.513493
Train Epoch: 9 [42240/50000 (84%)]	Loss: 1.265288
Train Epoch: 9 [42880/50000 (86%)]	Loss: 1.279565
Train Epoch: 9 [43520/50000 (87%)]	Loss: 1.428525
Train Epoch: 9 [44160/50000 (88%)]	Loss: 1.494852
Train Epoch: 9 [44800/50000 (90%)]	Loss: 1.468312
Train Epoch: 9 [45440/50000 (91%)]	Loss: 1.298835
Train Epoch: 9 [46080/50000 (92%)]	Loss: 1.533731
Train Epoch: 9 [46720/50000 (93%)]	Loss: 1.237051
Train Epoch: 9 [47360/50000 (95%)]	Loss: 1.063672
Train Epoch: 9 [48000/50000 (96%)]	Loss: 1.400833
Train Epoch: 9 [48640/50000 (97%)]	Loss: 1.304590
Train Epoch: 9 [49280/50000 (98%)]	Loss: 1.314832
Train Epoch: 9 [49920/50000 (100%)]	Loss: 1.288500

Test set: Average loss: 1.3012, Accuracy: 5427/10000 (54%)

Train Epoch: 10 [0/50000 (0%)]	Loss: 1.234953
Train Epoch: 10 [640/50000 (1%)]	Loss: 1.256332
Train Epoch: 10 [1280/50000 (3%)]	Loss: 1.317837
Train Epoch: 10 [1920/50000 (4%)]	Loss: 1.197236
Train Epoch: 10 [2560/50000 (5%)]	Loss: 1.279427
Train Epoch: 10 [3200/50000 (6%)]	Loss: 1.431297
Train Epoch: 10 [3840/50000 (8%)]	Loss: 1.310894
Train Epoch: 10 [4480/50000 (9%)]	Loss: 1.174764
Train Epoch: 10 [5120/50000 (10%)]	Loss: 1.554718
Train Epoch: 10 [5760/50000 (12%)]	Loss: 1.371446
Train Epoch: 10 [6400/50000 (13%)]	Loss: 1.404567
Train Epoch: 10 [7040/50000 (14%)]	Loss: 1.283613
Train Epoch: 10 [7680/50000 (15%)]	Loss: 1.322090
Train Epoch: 10 [8320/50000 (17%)]	Loss: 1.376139
Train Epoch: 10 [8960/50000 (18%)]	Loss: 1.508653
Train Epoch: 10 [9600/50000 (19%)]	Loss: 1.127449
Train Epoch: 10 [10240/50000 (20%)]	Loss: 1.242228
Train Epoch: 10 [10880/50000 (22%)]	Loss: 1.285082
Train Epoch: 10 [11520/50000 (23%)]	Loss: 1.135130
Train Epoch: 10 [12160/50000 (24%)]	Loss: 1.340097
Train Epoch: 10 [12800/50000 (26%)]	Loss: 1.120968
Train Epoch: 10 [13440/50000 (27%)]	Loss: 1.287418
Train Epoch: 10 [14080/50000 (28%)]	Loss: 1.346666
Train Epoch: 10 [14720/50000 (29%)]	Loss: 1.174007
Train Epoch: 10 [15360/50000 (31%)]	Loss: 1.021929
Train Epoch: 10 [16000/50000 (32%)]	Loss: 1.184266
Train Epoch: 10 [16640/50000 (33%)]	Loss: 1.522060
Train Epoch: 10 [17280/50000 (35%)]	Loss: 1.319194
Train Epoch: 10 [17920/50000 (36%)]	Loss: 1.398565
Train Epoch: 10 [18560/50000 (37%)]	Loss: 1.326656
Train Epoch: 10 [19200/50000 (38%)]	Loss: 1.243699
Train Epoch: 10 [19840/50000 (40%)]	Loss: 1.224764
Train Epoch: 10 [20480/50000 (41%)]	Loss: 1.028434
Train Epoch: 10 [21120/50000 (42%)]	Loss: 1.236864
Train Epoch: 10 [21760/50000 (43%)]	Loss: 1.318537
Train Epoch: 10 [22400/50000 (45%)]	Loss: 1.275191
Train Epoch: 10 [23040/50000 (46%)]	Loss: 1.282121
Train Epoch: 10 [23680/50000 (47%)]	Loss: 1.176446
Train Epoch: 10 [24320/50000 (49%)]	Loss: 1.307149
Train Epoch: 10 [24960/50000 (50%)]	Loss: 1.278511
Train Epoch: 10 [25600/50000 (51%)]	Loss: 1.265458
Train Epoch: 10 [26240/50000 (52%)]	Loss: 1.271201
Train Epoch: 10 [26880/50000 (54%)]	Loss: 1.448305
Train Epoch: 10 [27520/50000 (55%)]	Loss: 1.442292
Train Epoch: 10 [28160/50000 (56%)]	Loss: 1.294510
Train Epoch: 10 [28800/50000 (58%)]	Loss: 1.332835
Train Epoch: 10 [29440/50000 (59%)]	Loss: 1.234814
Train Epoch: 10 [30080/50000 (60%)]	Loss: 1.197498
Train Epoch: 10 [30720/50000 (61%)]	Loss: 1.371976
Train Epoch: 10 [31360/50000 (63%)]	Loss: 1.109974
Train Epoch: 10 [32000/50000 (64%)]	Loss: 1.220004
Train Epoch: 10 [32640/50000 (65%)]	Loss: 1.455630
Train Epoch: 10 [33280/50000 (66%)]	Loss: 1.544839
Train Epoch: 10 [33920/50000 (68%)]	Loss: 1.324680
Train Epoch: 10 [34560/50000 (69%)]	Loss: 1.113851
Train Epoch: 10 [35200/50000 (70%)]	Loss: 1.665336
Train Epoch: 10 [35840/50000 (72%)]	Loss: 1.239390
Train Epoch: 10 [36480/50000 (73%)]	Loss: 1.080396
Train Epoch: 10 [37120/50000 (74%)]	Loss: 1.268997
Train Epoch: 10 [37760/50000 (75%)]	Loss: 1.298534
Train Epoch: 10 [38400/50000 (77%)]	Loss: 1.284220
Train Epoch: 10 [39040/50000 (78%)]	Loss: 1.449602
Train Epoch: 10 [39680/50000 (79%)]	Loss: 1.481173
Train Epoch: 10 [40320/50000 (81%)]	Loss: 1.412911
Train Epoch: 10 [40960/50000 (82%)]	Loss: 1.338792
Train Epoch: 10 [41600/50000 (83%)]	Loss: 1.071391
Train Epoch: 10 [42240/50000 (84%)]	Loss: 1.276061
Train Epoch: 10 [42880/50000 (86%)]	Loss: 1.093617
Train Epoch: 10 [43520/50000 (87%)]	Loss: 1.221279
Train Epoch: 10 [44160/50000 (88%)]	Loss: 1.485517
Train Epoch: 10 [44800/50000 (90%)]	Loss: 1.225195
Train Epoch: 10 [45440/50000 (91%)]	Loss: 1.606388
Train Epoch: 10 [46080/50000 (92%)]	Loss: 1.404834
Train Epoch: 10 [46720/50000 (93%)]	Loss: 1.349339
Train Epoch: 10 [47360/50000 (95%)]	Loss: 1.288890
Train Epoch: 10 [48000/50000 (96%)]	Loss: 1.356089
Train Epoch: 10 [48640/50000 (97%)]	Loss: 1.162995
Train Epoch: 10 [49280/50000 (98%)]	Loss: 1.223516
Train Epoch: 10 [49920/50000 (100%)]	Loss: 1.211499

Test set: Average loss: 1.2552, Accuracy: 5623/10000 (56%)

<class 'torch.FloatTensor'> torch.Size([6, 3, 5, 5])
<class 'torch.FloatTensor'> torch.Size([3, 14, 21])

In [ ]:


In [ ]:


In [ ]: