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 = True
    # if add BatchNorm
    with_batchnorm = True

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.299020
Train Epoch: 1 [640/50000 (1%)]	Loss: 2.307377
Train Epoch: 1 [1280/50000 (3%)]	Loss: 2.284937
Train Epoch: 1 [1920/50000 (4%)]	Loss: 2.297480
Train Epoch: 1 [2560/50000 (5%)]	Loss: 2.257337
Train Epoch: 1 [3200/50000 (6%)]	Loss: 2.259031
Train Epoch: 1 [3840/50000 (8%)]	Loss: 2.203912
Train Epoch: 1 [4480/50000 (9%)]	Loss: 2.220935
Train Epoch: 1 [5120/50000 (10%)]	Loss: 2.187192
Train Epoch: 1 [5760/50000 (12%)]	Loss: 2.175350
Train Epoch: 1 [6400/50000 (13%)]	Loss: 2.056478
Train Epoch: 1 [7040/50000 (14%)]	Loss: 2.025997
Train Epoch: 1 [7680/50000 (15%)]	Loss: 2.048871
Train Epoch: 1 [8320/50000 (17%)]	Loss: 2.034098
Train Epoch: 1 [8960/50000 (18%)]	Loss: 2.007998
Train Epoch: 1 [9600/50000 (19%)]	Loss: 2.006748
Train Epoch: 1 [10240/50000 (20%)]	Loss: 1.994487
Train Epoch: 1 [10880/50000 (22%)]	Loss: 2.047203
Train Epoch: 1 [11520/50000 (23%)]	Loss: 1.988275
Train Epoch: 1 [12160/50000 (24%)]	Loss: 1.913017
Train Epoch: 1 [12800/50000 (26%)]	Loss: 1.908605
Train Epoch: 1 [13440/50000 (27%)]	Loss: 1.828714
Train Epoch: 1 [14080/50000 (28%)]	Loss: 1.843299
Train Epoch: 1 [14720/50000 (29%)]	Loss: 1.857104
Train Epoch: 1 [15360/50000 (31%)]	Loss: 1.980913
Train Epoch: 1 [16000/50000 (32%)]	Loss: 1.802269
Train Epoch: 1 [16640/50000 (33%)]	Loss: 1.887363
Train Epoch: 1 [17280/50000 (35%)]	Loss: 1.764901
Train Epoch: 1 [17920/50000 (36%)]	Loss: 1.655272
Train Epoch: 1 [18560/50000 (37%)]	Loss: 1.937239
Train Epoch: 1 [19200/50000 (38%)]	Loss: 1.820362
Train Epoch: 1 [19840/50000 (40%)]	Loss: 1.934112
Train Epoch: 1 [20480/50000 (41%)]	Loss: 1.724328
Train Epoch: 1 [21120/50000 (42%)]	Loss: 1.771461
Train Epoch: 1 [21760/50000 (43%)]	Loss: 1.591560
Train Epoch: 1 [22400/50000 (45%)]	Loss: 1.776689
Train Epoch: 1 [23040/50000 (46%)]	Loss: 1.695458
Train Epoch: 1 [23680/50000 (47%)]	Loss: 1.710674
Train Epoch: 1 [24320/50000 (49%)]	Loss: 1.792920
Train Epoch: 1 [24960/50000 (50%)]	Loss: 1.748075
Train Epoch: 1 [25600/50000 (51%)]	Loss: 1.866096
Train Epoch: 1 [26240/50000 (52%)]	Loss: 1.582828
Train Epoch: 1 [26880/50000 (54%)]	Loss: 1.663571
Train Epoch: 1 [27520/50000 (55%)]	Loss: 1.762722
Train Epoch: 1 [28160/50000 (56%)]	Loss: 1.548518
Train Epoch: 1 [28800/50000 (58%)]	Loss: 1.683579
Train Epoch: 1 [29440/50000 (59%)]	Loss: 1.809049
Train Epoch: 1 [30080/50000 (60%)]	Loss: 1.753223
Train Epoch: 1 [30720/50000 (61%)]	Loss: 1.753955
Train Epoch: 1 [31360/50000 (63%)]	Loss: 1.567939
Train Epoch: 1 [32000/50000 (64%)]	Loss: 1.740794
Train Epoch: 1 [32640/50000 (65%)]	Loss: 1.776384
Train Epoch: 1 [33280/50000 (66%)]	Loss: 1.691351
Train Epoch: 1 [33920/50000 (68%)]	Loss: 1.659429
Train Epoch: 1 [34560/50000 (69%)]	Loss: 1.872230
Train Epoch: 1 [35200/50000 (70%)]	Loss: 1.473516
Train Epoch: 1 [35840/50000 (72%)]	Loss: 1.646345
Train Epoch: 1 [36480/50000 (73%)]	Loss: 1.587294
Train Epoch: 1 [37120/50000 (74%)]	Loss: 1.796954
Train Epoch: 1 [37760/50000 (75%)]	Loss: 1.616259
Train Epoch: 1 [38400/50000 (77%)]	Loss: 1.562015
Train Epoch: 1 [39040/50000 (78%)]	Loss: 1.917260
Train Epoch: 1 [39680/50000 (79%)]	Loss: 1.711391
Train Epoch: 1 [40320/50000 (81%)]	Loss: 1.342165
Train Epoch: 1 [40960/50000 (82%)]	Loss: 1.659030
Train Epoch: 1 [41600/50000 (83%)]	Loss: 1.827634
Train Epoch: 1 [42240/50000 (84%)]	Loss: 1.428443
Train Epoch: 1 [42880/50000 (86%)]	Loss: 1.720075
Train Epoch: 1 [43520/50000 (87%)]	Loss: 1.650598
Train Epoch: 1 [44160/50000 (88%)]	Loss: 1.678587
Train Epoch: 1 [44800/50000 (90%)]	Loss: 1.586994
Train Epoch: 1 [45440/50000 (91%)]	Loss: 1.582282
Train Epoch: 1 [46080/50000 (92%)]	Loss: 1.601750
Train Epoch: 1 [46720/50000 (93%)]	Loss: 1.469069
Train Epoch: 1 [47360/50000 (95%)]	Loss: 1.651152
Train Epoch: 1 [48000/50000 (96%)]	Loss: 1.373283
Train Epoch: 1 [48640/50000 (97%)]	Loss: 1.588970
Train Epoch: 1 [49280/50000 (98%)]	Loss: 1.420816
Train Epoch: 1 [49920/50000 (100%)]	Loss: 1.600938

Test set: Average loss: 1.6910, Accuracy: 3964/10000 (40%)

Train Epoch: 2 [0/50000 (0%)]	Loss: 1.686366
Train Epoch: 2 [640/50000 (1%)]	Loss: 1.742439
Train Epoch: 2 [1280/50000 (3%)]	Loss: 1.533041
Train Epoch: 2 [1920/50000 (4%)]	Loss: 1.343838
Train Epoch: 2 [2560/50000 (5%)]	Loss: 1.590812
Train Epoch: 2 [3200/50000 (6%)]	Loss: 1.346281
Train Epoch: 2 [3840/50000 (8%)]	Loss: 1.675001
Train Epoch: 2 [4480/50000 (9%)]	Loss: 1.619944
Train Epoch: 2 [5120/50000 (10%)]	Loss: 1.645340
Train Epoch: 2 [5760/50000 (12%)]	Loss: 1.798539
Train Epoch: 2 [6400/50000 (13%)]	Loss: 1.388935
Train Epoch: 2 [7040/50000 (14%)]	Loss: 1.510223
Train Epoch: 2 [7680/50000 (15%)]	Loss: 1.690736
Train Epoch: 2 [8320/50000 (17%)]	Loss: 1.383224
Train Epoch: 2 [8960/50000 (18%)]	Loss: 1.752762
Train Epoch: 2 [9600/50000 (19%)]	Loss: 1.415459
Train Epoch: 2 [10240/50000 (20%)]	Loss: 1.516679
Train Epoch: 2 [10880/50000 (22%)]	Loss: 1.383305
Train Epoch: 2 [11520/50000 (23%)]	Loss: 1.456975
Train Epoch: 2 [12160/50000 (24%)]	Loss: 1.651542
Train Epoch: 2 [12800/50000 (26%)]	Loss: 1.763343
Train Epoch: 2 [13440/50000 (27%)]	Loss: 1.482915
Train Epoch: 2 [14080/50000 (28%)]	Loss: 1.391691
Train Epoch: 2 [14720/50000 (29%)]	Loss: 1.571877
Train Epoch: 2 [15360/50000 (31%)]	Loss: 1.443128
Train Epoch: 2 [16000/50000 (32%)]	Loss: 1.612290
Train Epoch: 2 [16640/50000 (33%)]	Loss: 1.829356
Train Epoch: 2 [17280/50000 (35%)]	Loss: 1.548726
Train Epoch: 2 [17920/50000 (36%)]	Loss: 1.633209
Train Epoch: 2 [18560/50000 (37%)]	Loss: 1.325465
Train Epoch: 2 [19200/50000 (38%)]	Loss: 1.521005
Train Epoch: 2 [19840/50000 (40%)]	Loss: 1.395088
Train Epoch: 2 [20480/50000 (41%)]	Loss: 1.372464
Train Epoch: 2 [21120/50000 (42%)]	Loss: 1.551600
Train Epoch: 2 [21760/50000 (43%)]	Loss: 1.463292
Train Epoch: 2 [22400/50000 (45%)]	Loss: 1.349806
Train Epoch: 2 [23040/50000 (46%)]	Loss: 1.572155
Train Epoch: 2 [23680/50000 (47%)]	Loss: 1.426726
Train Epoch: 2 [24320/50000 (49%)]	Loss: 1.307480
Train Epoch: 2 [24960/50000 (50%)]	Loss: 1.494090
Train Epoch: 2 [25600/50000 (51%)]	Loss: 1.439919
Train Epoch: 2 [26240/50000 (52%)]	Loss: 1.399018
Train Epoch: 2 [26880/50000 (54%)]	Loss: 1.382066
Train Epoch: 2 [27520/50000 (55%)]	Loss: 1.530370
Train Epoch: 2 [28160/50000 (56%)]	Loss: 1.629503
Train Epoch: 2 [28800/50000 (58%)]	Loss: 1.435772
Train Epoch: 2 [29440/50000 (59%)]	Loss: 1.210152
Train Epoch: 2 [30080/50000 (60%)]	Loss: 1.390056
Train Epoch: 2 [30720/50000 (61%)]	Loss: 1.466009
Train Epoch: 2 [31360/50000 (63%)]	Loss: 1.495813
Train Epoch: 2 [32000/50000 (64%)]	Loss: 1.418755
Train Epoch: 2 [32640/50000 (65%)]	Loss: 1.438477
Train Epoch: 2 [33280/50000 (66%)]	Loss: 1.159703
Train Epoch: 2 [33920/50000 (68%)]	Loss: 1.274275
Train Epoch: 2 [34560/50000 (69%)]	Loss: 1.334202
Train Epoch: 2 [35200/50000 (70%)]	Loss: 1.109251
Train Epoch: 2 [35840/50000 (72%)]	Loss: 1.350403
Train Epoch: 2 [36480/50000 (73%)]	Loss: 1.586082
Train Epoch: 2 [37120/50000 (74%)]	Loss: 1.629841
Train Epoch: 2 [37760/50000 (75%)]	Loss: 1.453040
Train Epoch: 2 [38400/50000 (77%)]	Loss: 1.367847
Train Epoch: 2 [39040/50000 (78%)]	Loss: 1.350670
Train Epoch: 2 [39680/50000 (79%)]	Loss: 1.385127
Train Epoch: 2 [40320/50000 (81%)]	Loss: 1.447974
Train Epoch: 2 [40960/50000 (82%)]	Loss: 1.460622
Train Epoch: 2 [41600/50000 (83%)]	Loss: 1.599348
Train Epoch: 2 [42240/50000 (84%)]	Loss: 1.407657
Train Epoch: 2 [42880/50000 (86%)]	Loss: 1.449585
Train Epoch: 2 [43520/50000 (87%)]	Loss: 1.363244
Train Epoch: 2 [44160/50000 (88%)]	Loss: 1.657426
Train Epoch: 2 [44800/50000 (90%)]	Loss: 1.350019
Train Epoch: 2 [45440/50000 (91%)]	Loss: 1.664741
Train Epoch: 2 [46080/50000 (92%)]	Loss: 1.378752
Train Epoch: 2 [46720/50000 (93%)]	Loss: 1.548921
Train Epoch: 2 [47360/50000 (95%)]	Loss: 1.165085
Train Epoch: 2 [48000/50000 (96%)]	Loss: 1.256360
Train Epoch: 2 [48640/50000 (97%)]	Loss: 1.416721
Train Epoch: 2 [49280/50000 (98%)]	Loss: 1.615492
Train Epoch: 2 [49920/50000 (100%)]	Loss: 1.552194

Test set: Average loss: 1.4814, Accuracy: 4647/10000 (46%)

Train Epoch: 3 [0/50000 (0%)]	Loss: 1.462380
Train Epoch: 3 [640/50000 (1%)]	Loss: 1.521565
Train Epoch: 3 [1280/50000 (3%)]	Loss: 1.470867
Train Epoch: 3 [1920/50000 (4%)]	Loss: 1.161983
Train Epoch: 3 [2560/50000 (5%)]	Loss: 1.256354
Train Epoch: 3 [3200/50000 (6%)]	Loss: 1.448766
Train Epoch: 3 [3840/50000 (8%)]	Loss: 1.250365
Train Epoch: 3 [4480/50000 (9%)]	Loss: 1.136074
Train Epoch: 3 [5120/50000 (10%)]	Loss: 1.334978
Train Epoch: 3 [5760/50000 (12%)]	Loss: 1.309822
Train Epoch: 3 [6400/50000 (13%)]	Loss: 1.366507
Train Epoch: 3 [7040/50000 (14%)]	Loss: 1.398479
Train Epoch: 3 [7680/50000 (15%)]	Loss: 1.504083
Train Epoch: 3 [8320/50000 (17%)]	Loss: 1.302365
Train Epoch: 3 [8960/50000 (18%)]	Loss: 1.315341
Train Epoch: 3 [9600/50000 (19%)]	Loss: 1.397591
Train Epoch: 3 [10240/50000 (20%)]	Loss: 1.421323
Train Epoch: 3 [10880/50000 (22%)]	Loss: 1.194203
Train Epoch: 3 [11520/50000 (23%)]	Loss: 1.364445
Train Epoch: 3 [12160/50000 (24%)]	Loss: 1.178000
Train Epoch: 3 [12800/50000 (26%)]	Loss: 1.782742
Train Epoch: 3 [13440/50000 (27%)]	Loss: 1.372313
Train Epoch: 3 [14080/50000 (28%)]	Loss: 1.418562
Train Epoch: 3 [14720/50000 (29%)]	Loss: 1.254097
Train Epoch: 3 [15360/50000 (31%)]	Loss: 1.559891
Train Epoch: 3 [16000/50000 (32%)]	Loss: 1.378943
Train Epoch: 3 [16640/50000 (33%)]	Loss: 1.267306
Train Epoch: 3 [17280/50000 (35%)]	Loss: 1.475668
Train Epoch: 3 [17920/50000 (36%)]	Loss: 1.416857
Train Epoch: 3 [18560/50000 (37%)]	Loss: 1.253951
Train Epoch: 3 [19200/50000 (38%)]	Loss: 1.468470
Train Epoch: 3 [19840/50000 (40%)]	Loss: 1.474974
Train Epoch: 3 [20480/50000 (41%)]	Loss: 1.355702
Train Epoch: 3 [21120/50000 (42%)]	Loss: 1.199162
Train Epoch: 3 [21760/50000 (43%)]	Loss: 1.356264
Train Epoch: 3 [22400/50000 (45%)]	Loss: 1.178294
Train Epoch: 3 [23040/50000 (46%)]	Loss: 1.297775
Train Epoch: 3 [23680/50000 (47%)]	Loss: 1.553317
Train Epoch: 3 [24320/50000 (49%)]	Loss: 1.520901
Train Epoch: 3 [24960/50000 (50%)]	Loss: 1.433595
Train Epoch: 3 [25600/50000 (51%)]	Loss: 1.233398
Train Epoch: 3 [26240/50000 (52%)]	Loss: 1.248112
Train Epoch: 3 [26880/50000 (54%)]	Loss: 1.194949
Train Epoch: 3 [27520/50000 (55%)]	Loss: 1.371845
Train Epoch: 3 [28160/50000 (56%)]	Loss: 1.219316
Train Epoch: 3 [28800/50000 (58%)]	Loss: 1.320917
Train Epoch: 3 [29440/50000 (59%)]	Loss: 1.363796
Train Epoch: 3 [30080/50000 (60%)]	Loss: 1.300950
Train Epoch: 3 [30720/50000 (61%)]	Loss: 1.531840
Train Epoch: 3 [31360/50000 (63%)]	Loss: 1.270422
Train Epoch: 3 [32000/50000 (64%)]	Loss: 1.358563
Train Epoch: 3 [32640/50000 (65%)]	Loss: 1.593020
Train Epoch: 3 [33280/50000 (66%)]	Loss: 1.484781
Train Epoch: 3 [33920/50000 (68%)]	Loss: 1.260227
Train Epoch: 3 [34560/50000 (69%)]	Loss: 1.091006
Train Epoch: 3 [35200/50000 (70%)]	Loss: 1.292088
Train Epoch: 3 [35840/50000 (72%)]	Loss: 1.407573
Train Epoch: 3 [36480/50000 (73%)]	Loss: 1.489740
Train Epoch: 3 [37120/50000 (74%)]	Loss: 1.213197
Train Epoch: 3 [37760/50000 (75%)]	Loss: 1.264640
Train Epoch: 3 [38400/50000 (77%)]	Loss: 1.315036
Train Epoch: 3 [39040/50000 (78%)]	Loss: 1.507449
Train Epoch: 3 [39680/50000 (79%)]	Loss: 1.209728
Train Epoch: 3 [40320/50000 (81%)]	Loss: 1.411259
Train Epoch: 3 [40960/50000 (82%)]	Loss: 1.306155
Train Epoch: 3 [41600/50000 (83%)]	Loss: 1.264174
Train Epoch: 3 [42240/50000 (84%)]	Loss: 1.614822
Train Epoch: 3 [42880/50000 (86%)]	Loss: 1.321394
Train Epoch: 3 [43520/50000 (87%)]	Loss: 1.450177
Train Epoch: 3 [44160/50000 (88%)]	Loss: 1.255578
Train Epoch: 3 [44800/50000 (90%)]	Loss: 1.335538
Train Epoch: 3 [45440/50000 (91%)]	Loss: 1.284884
Train Epoch: 3 [46080/50000 (92%)]	Loss: 1.349329
Train Epoch: 3 [46720/50000 (93%)]	Loss: 1.278087
Train Epoch: 3 [47360/50000 (95%)]	Loss: 1.317026
Train Epoch: 3 [48000/50000 (96%)]	Loss: 1.490094
Train Epoch: 3 [48640/50000 (97%)]	Loss: 1.226828
Train Epoch: 3 [49280/50000 (98%)]	Loss: 1.300151
Train Epoch: 3 [49920/50000 (100%)]	Loss: 1.285841

Test set: Average loss: 1.3988, Accuracy: 4946/10000 (49%)

Train Epoch: 4 [0/50000 (0%)]	Loss: 1.401342
Train Epoch: 4 [640/50000 (1%)]	Loss: 1.444912
Train Epoch: 4 [1280/50000 (3%)]	Loss: 1.268699
Train Epoch: 4 [1920/50000 (4%)]	Loss: 1.206610
Train Epoch: 4 [2560/50000 (5%)]	Loss: 1.192462
Train Epoch: 4 [3200/50000 (6%)]	Loss: 1.290605
Train Epoch: 4 [3840/50000 (8%)]	Loss: 1.164350
Train Epoch: 4 [4480/50000 (9%)]	Loss: 1.533032
Train Epoch: 4 [5120/50000 (10%)]	Loss: 1.263936
Train Epoch: 4 [5760/50000 (12%)]	Loss: 1.213431
Train Epoch: 4 [6400/50000 (13%)]	Loss: 1.430360
Train Epoch: 4 [7040/50000 (14%)]	Loss: 1.438678
Train Epoch: 4 [7680/50000 (15%)]	Loss: 1.146995
Train Epoch: 4 [8320/50000 (17%)]	Loss: 1.559777
Train Epoch: 4 [8960/50000 (18%)]	Loss: 1.216478
Train Epoch: 4 [9600/50000 (19%)]	Loss: 1.186919
Train Epoch: 4 [10240/50000 (20%)]	Loss: 1.245504
Train Epoch: 4 [10880/50000 (22%)]	Loss: 1.233945
Train Epoch: 4 [11520/50000 (23%)]	Loss: 1.341327
Train Epoch: 4 [12160/50000 (24%)]	Loss: 1.394073
Train Epoch: 4 [12800/50000 (26%)]	Loss: 1.397599
Train Epoch: 4 [13440/50000 (27%)]	Loss: 1.458665
Train Epoch: 4 [14080/50000 (28%)]	Loss: 1.076510
Train Epoch: 4 [14720/50000 (29%)]	Loss: 1.254928
Train Epoch: 4 [15360/50000 (31%)]	Loss: 1.354428
Train Epoch: 4 [16000/50000 (32%)]	Loss: 1.173346
Train Epoch: 4 [16640/50000 (33%)]	Loss: 1.521662
Train Epoch: 4 [17280/50000 (35%)]	Loss: 1.132823
Train Epoch: 4 [17920/50000 (36%)]	Loss: 1.132631
Train Epoch: 4 [18560/50000 (37%)]	Loss: 1.326295
Train Epoch: 4 [19200/50000 (38%)]	Loss: 1.333470
Train Epoch: 4 [19840/50000 (40%)]	Loss: 1.367266
Train Epoch: 4 [20480/50000 (41%)]	Loss: 1.284748
Train Epoch: 4 [21120/50000 (42%)]	Loss: 1.305990
Train Epoch: 4 [21760/50000 (43%)]	Loss: 1.357794
Train Epoch: 4 [22400/50000 (45%)]	Loss: 1.118931
Train Epoch: 4 [23040/50000 (46%)]	Loss: 1.343122
Train Epoch: 4 [23680/50000 (47%)]	Loss: 1.286815
Train Epoch: 4 [24320/50000 (49%)]	Loss: 1.244277
Train Epoch: 4 [24960/50000 (50%)]	Loss: 1.205187
Train Epoch: 4 [25600/50000 (51%)]	Loss: 1.254729
Train Epoch: 4 [26240/50000 (52%)]	Loss: 1.376625
Train Epoch: 4 [26880/50000 (54%)]	Loss: 1.334166
Train Epoch: 4 [27520/50000 (55%)]	Loss: 1.304501
Train Epoch: 4 [28160/50000 (56%)]	Loss: 1.458760
Train Epoch: 4 [28800/50000 (58%)]	Loss: 1.179734
Train Epoch: 4 [29440/50000 (59%)]	Loss: 1.238853
Train Epoch: 4 [30080/50000 (60%)]	Loss: 1.518995
Train Epoch: 4 [30720/50000 (61%)]	Loss: 1.248288
Train Epoch: 4 [31360/50000 (63%)]	Loss: 1.175428
Train Epoch: 4 [32000/50000 (64%)]	Loss: 1.182312
Train Epoch: 4 [32640/50000 (65%)]	Loss: 1.245790
Train Epoch: 4 [33280/50000 (66%)]	Loss: 1.340676
Train Epoch: 4 [33920/50000 (68%)]	Loss: 1.265854
Train Epoch: 4 [34560/50000 (69%)]	Loss: 1.306632
Train Epoch: 4 [35200/50000 (70%)]	Loss: 1.123655
Train Epoch: 4 [35840/50000 (72%)]	Loss: 1.223222
Train Epoch: 4 [36480/50000 (73%)]	Loss: 1.162357
Train Epoch: 4 [37120/50000 (74%)]	Loss: 1.428746
Train Epoch: 4 [37760/50000 (75%)]	Loss: 1.080124
Train Epoch: 4 [38400/50000 (77%)]	Loss: 1.399319
Train Epoch: 4 [39040/50000 (78%)]	Loss: 1.279137
Train Epoch: 4 [39680/50000 (79%)]	Loss: 1.200758
Train Epoch: 4 [40320/50000 (81%)]	Loss: 1.157410
Train Epoch: 4 [40960/50000 (82%)]	Loss: 1.325528
Train Epoch: 4 [41600/50000 (83%)]	Loss: 1.290566
Train Epoch: 4 [42240/50000 (84%)]	Loss: 1.426389
Train Epoch: 4 [42880/50000 (86%)]	Loss: 1.228621
Train Epoch: 4 [43520/50000 (87%)]	Loss: 1.256454
Train Epoch: 4 [44160/50000 (88%)]	Loss: 1.250723
Train Epoch: 4 [44800/50000 (90%)]	Loss: 1.249277
Train Epoch: 4 [45440/50000 (91%)]	Loss: 1.328504
Train Epoch: 4 [46080/50000 (92%)]	Loss: 1.230362
Train Epoch: 4 [46720/50000 (93%)]	Loss: 1.213266
Train Epoch: 4 [47360/50000 (95%)]	Loss: 1.230044
Train Epoch: 4 [48000/50000 (96%)]	Loss: 1.288838
Train Epoch: 4 [48640/50000 (97%)]	Loss: 1.178109
Train Epoch: 4 [49280/50000 (98%)]	Loss: 1.302318
Train Epoch: 4 [49920/50000 (100%)]	Loss: 1.120295

Test set: Average loss: 1.2713, Accuracy: 5466/10000 (55%)

Train Epoch: 5 [0/50000 (0%)]	Loss: 1.127284
Train Epoch: 5 [640/50000 (1%)]	Loss: 1.032129
Train Epoch: 5 [1280/50000 (3%)]	Loss: 1.343642
Train Epoch: 5 [1920/50000 (4%)]	Loss: 1.123383
Train Epoch: 5 [2560/50000 (5%)]	Loss: 1.260882
Train Epoch: 5 [3200/50000 (6%)]	Loss: 0.999942
Train Epoch: 5 [3840/50000 (8%)]	Loss: 1.335993
Train Epoch: 5 [4480/50000 (9%)]	Loss: 1.259437
Train Epoch: 5 [5120/50000 (10%)]	Loss: 1.212129
Train Epoch: 5 [5760/50000 (12%)]	Loss: 1.198936
Train Epoch: 5 [6400/50000 (13%)]	Loss: 1.247810
Train Epoch: 5 [7040/50000 (14%)]	Loss: 1.141457
Train Epoch: 5 [7680/50000 (15%)]	Loss: 1.256831
Train Epoch: 5 [8320/50000 (17%)]	Loss: 1.032534
Train Epoch: 5 [8960/50000 (18%)]	Loss: 1.025326
Train Epoch: 5 [9600/50000 (19%)]	Loss: 0.984744
Train Epoch: 5 [10240/50000 (20%)]	Loss: 1.112799
Train Epoch: 5 [10880/50000 (22%)]	Loss: 1.488017
Train Epoch: 5 [11520/50000 (23%)]	Loss: 1.187492
Train Epoch: 5 [12160/50000 (24%)]	Loss: 1.216726
Train Epoch: 5 [12800/50000 (26%)]	Loss: 1.267867
Train Epoch: 5 [13440/50000 (27%)]	Loss: 1.320445
Train Epoch: 5 [14080/50000 (28%)]	Loss: 1.209682
Train Epoch: 5 [14720/50000 (29%)]	Loss: 1.053530
Train Epoch: 5 [15360/50000 (31%)]	Loss: 1.285698
Train Epoch: 5 [16000/50000 (32%)]	Loss: 1.467195
Train Epoch: 5 [16640/50000 (33%)]	Loss: 1.199006
Train Epoch: 5 [17280/50000 (35%)]	Loss: 1.054958
Train Epoch: 5 [17920/50000 (36%)]	Loss: 1.207995
Train Epoch: 5 [18560/50000 (37%)]	Loss: 1.130662
Train Epoch: 5 [19200/50000 (38%)]	Loss: 1.217349
Train Epoch: 5 [19840/50000 (40%)]	Loss: 1.236285
Train Epoch: 5 [20480/50000 (41%)]	Loss: 1.228698
Train Epoch: 5 [21120/50000 (42%)]	Loss: 1.246969
Train Epoch: 5 [21760/50000 (43%)]	Loss: 1.133469
Train Epoch: 5 [22400/50000 (45%)]	Loss: 1.153990
Train Epoch: 5 [23040/50000 (46%)]	Loss: 1.216010
Train Epoch: 5 [23680/50000 (47%)]	Loss: 1.151656
Train Epoch: 5 [24320/50000 (49%)]	Loss: 1.311583
Train Epoch: 5 [24960/50000 (50%)]	Loss: 1.487080
Train Epoch: 5 [25600/50000 (51%)]	Loss: 1.055395
Train Epoch: 5 [26240/50000 (52%)]	Loss: 1.138663
Train Epoch: 5 [26880/50000 (54%)]	Loss: 1.111960
Train Epoch: 5 [27520/50000 (55%)]	Loss: 1.054131
Train Epoch: 5 [28160/50000 (56%)]	Loss: 1.496132
Train Epoch: 5 [28800/50000 (58%)]	Loss: 1.273956
Train Epoch: 5 [29440/50000 (59%)]	Loss: 1.549577
Train Epoch: 5 [30080/50000 (60%)]	Loss: 1.217181
Train Epoch: 5 [30720/50000 (61%)]	Loss: 1.180081
Train Epoch: 5 [31360/50000 (63%)]	Loss: 1.300492
Train Epoch: 5 [32000/50000 (64%)]	Loss: 1.209119
Train Epoch: 5 [32640/50000 (65%)]	Loss: 1.198145
Train Epoch: 5 [33280/50000 (66%)]	Loss: 1.295764
Train Epoch: 5 [33920/50000 (68%)]	Loss: 1.276989
Train Epoch: 5 [34560/50000 (69%)]	Loss: 1.387721
Train Epoch: 5 [35200/50000 (70%)]	Loss: 1.194752
Train Epoch: 5 [35840/50000 (72%)]	Loss: 1.346614
Train Epoch: 5 [36480/50000 (73%)]	Loss: 1.116317
Train Epoch: 5 [37120/50000 (74%)]	Loss: 1.011284
Train Epoch: 5 [37760/50000 (75%)]	Loss: 1.155075
Train Epoch: 5 [38400/50000 (77%)]	Loss: 1.240356
Train Epoch: 5 [39040/50000 (78%)]	Loss: 1.251405
Train Epoch: 5 [39680/50000 (79%)]	Loss: 1.511585
Train Epoch: 5 [40320/50000 (81%)]	Loss: 1.439423
Train Epoch: 5 [40960/50000 (82%)]	Loss: 1.383588
Train Epoch: 5 [41600/50000 (83%)]	Loss: 1.123618
Train Epoch: 5 [42240/50000 (84%)]	Loss: 1.104052
Train Epoch: 5 [42880/50000 (86%)]	Loss: 1.333796
Train Epoch: 5 [43520/50000 (87%)]	Loss: 1.134601
Train Epoch: 5 [44160/50000 (88%)]	Loss: 1.306542
Train Epoch: 5 [44800/50000 (90%)]	Loss: 1.134876
Train Epoch: 5 [45440/50000 (91%)]	Loss: 1.315521
Train Epoch: 5 [46080/50000 (92%)]	Loss: 0.965604
Train Epoch: 5 [46720/50000 (93%)]	Loss: 0.922477
Train Epoch: 5 [47360/50000 (95%)]	Loss: 1.129864
Train Epoch: 5 [48000/50000 (96%)]	Loss: 0.960669
Train Epoch: 5 [48640/50000 (97%)]	Loss: 1.116428
Train Epoch: 5 [49280/50000 (98%)]	Loss: 1.117403
Train Epoch: 5 [49920/50000 (100%)]	Loss: 1.084834

Test set: Average loss: 1.2151, Accuracy: 5721/10000 (57%)

Train Epoch: 6 [0/50000 (0%)]	Loss: 1.091938
Train Epoch: 6 [640/50000 (1%)]	Loss: 1.298764
Train Epoch: 6 [1280/50000 (3%)]	Loss: 1.249139
Train Epoch: 6 [1920/50000 (4%)]	Loss: 1.073902
Train Epoch: 6 [2560/50000 (5%)]	Loss: 1.296195
Train Epoch: 6 [3200/50000 (6%)]	Loss: 1.058058
Train Epoch: 6 [3840/50000 (8%)]	Loss: 1.320656
Train Epoch: 6 [4480/50000 (9%)]	Loss: 0.937105
Train Epoch: 6 [5120/50000 (10%)]	Loss: 0.969009
Train Epoch: 6 [5760/50000 (12%)]	Loss: 0.994326
Train Epoch: 6 [6400/50000 (13%)]	Loss: 1.201392
Train Epoch: 6 [7040/50000 (14%)]	Loss: 0.990322
Train Epoch: 6 [7680/50000 (15%)]	Loss: 1.351796
Train Epoch: 6 [8320/50000 (17%)]	Loss: 1.318764
Train Epoch: 6 [8960/50000 (18%)]	Loss: 1.321082
Train Epoch: 6 [9600/50000 (19%)]	Loss: 1.043273
Train Epoch: 6 [10240/50000 (20%)]	Loss: 0.965437
Train Epoch: 6 [10880/50000 (22%)]	Loss: 1.173581
Train Epoch: 6 [11520/50000 (23%)]	Loss: 1.140962
Train Epoch: 6 [12160/50000 (24%)]	Loss: 1.237118
Train Epoch: 6 [12800/50000 (26%)]	Loss: 1.274249
Train Epoch: 6 [13440/50000 (27%)]	Loss: 1.227890
Train Epoch: 6 [14080/50000 (28%)]	Loss: 1.225593
Train Epoch: 6 [14720/50000 (29%)]	Loss: 1.570118
Train Epoch: 6 [15360/50000 (31%)]	Loss: 1.270326
Train Epoch: 6 [16000/50000 (32%)]	Loss: 1.287978
Train Epoch: 6 [16640/50000 (33%)]	Loss: 1.224174
Train Epoch: 6 [17280/50000 (35%)]	Loss: 0.972182
Train Epoch: 6 [17920/50000 (36%)]	Loss: 1.074353
Train Epoch: 6 [18560/50000 (37%)]	Loss: 1.166308
Train Epoch: 6 [19200/50000 (38%)]	Loss: 1.215440
Train Epoch: 6 [19840/50000 (40%)]	Loss: 1.186489
Train Epoch: 6 [20480/50000 (41%)]	Loss: 1.215761
Train Epoch: 6 [21120/50000 (42%)]	Loss: 1.351592
Train Epoch: 6 [21760/50000 (43%)]	Loss: 1.207200
Train Epoch: 6 [22400/50000 (45%)]	Loss: 0.969433
Train Epoch: 6 [23040/50000 (46%)]	Loss: 1.224932
Train Epoch: 6 [23680/50000 (47%)]	Loss: 1.265085
Train Epoch: 6 [24320/50000 (49%)]	Loss: 1.082429
Train Epoch: 6 [24960/50000 (50%)]	Loss: 1.109573
Train Epoch: 6 [25600/50000 (51%)]	Loss: 1.112486
Train Epoch: 6 [26240/50000 (52%)]	Loss: 1.157730
Train Epoch: 6 [26880/50000 (54%)]	Loss: 1.221410
Train Epoch: 6 [27520/50000 (55%)]	Loss: 1.113649
Train Epoch: 6 [28160/50000 (56%)]	Loss: 1.292067
Train Epoch: 6 [28800/50000 (58%)]	Loss: 1.213473
Train Epoch: 6 [29440/50000 (59%)]	Loss: 1.250196
Train Epoch: 6 [30080/50000 (60%)]	Loss: 1.003292
Train Epoch: 6 [30720/50000 (61%)]	Loss: 1.359925
Train Epoch: 6 [31360/50000 (63%)]	Loss: 1.167949
Train Epoch: 6 [32000/50000 (64%)]	Loss: 1.118265
Train Epoch: 6 [32640/50000 (65%)]	Loss: 1.003509
Train Epoch: 6 [33280/50000 (66%)]	Loss: 0.969864
Train Epoch: 6 [33920/50000 (68%)]	Loss: 1.144832
Train Epoch: 6 [34560/50000 (69%)]	Loss: 1.126958
Train Epoch: 6 [35200/50000 (70%)]	Loss: 1.287449
Train Epoch: 6 [35840/50000 (72%)]	Loss: 1.330663
Train Epoch: 6 [36480/50000 (73%)]	Loss: 1.293094
Train Epoch: 6 [37120/50000 (74%)]	Loss: 1.358291
Train Epoch: 6 [37760/50000 (75%)]	Loss: 1.140233
Train Epoch: 6 [38400/50000 (77%)]	Loss: 1.407072
Train Epoch: 6 [39040/50000 (78%)]	Loss: 1.366410
Train Epoch: 6 [39680/50000 (79%)]	Loss: 1.263037
Train Epoch: 6 [40320/50000 (81%)]	Loss: 1.171790
Train Epoch: 6 [40960/50000 (82%)]	Loss: 1.257217
Train Epoch: 6 [41600/50000 (83%)]	Loss: 1.195491
Train Epoch: 6 [42240/50000 (84%)]	Loss: 1.147913
Train Epoch: 6 [42880/50000 (86%)]	Loss: 1.308858
Train Epoch: 6 [43520/50000 (87%)]	Loss: 1.056704
Train Epoch: 6 [44160/50000 (88%)]	Loss: 1.050126
Train Epoch: 6 [44800/50000 (90%)]	Loss: 1.079597
Train Epoch: 6 [45440/50000 (91%)]	Loss: 1.161645
Train Epoch: 6 [46080/50000 (92%)]	Loss: 1.166125
Train Epoch: 6 [46720/50000 (93%)]	Loss: 1.055058
Train Epoch: 6 [47360/50000 (95%)]	Loss: 0.970437
Train Epoch: 6 [48000/50000 (96%)]	Loss: 1.030666
Train Epoch: 6 [48640/50000 (97%)]	Loss: 0.963176
Train Epoch: 6 [49280/50000 (98%)]	Loss: 1.162049
Train Epoch: 6 [49920/50000 (100%)]	Loss: 1.140511

Test set: Average loss: 1.1720, Accuracy: 5927/10000 (59%)

Train Epoch: 7 [0/50000 (0%)]	Loss: 1.290116
Train Epoch: 7 [640/50000 (1%)]	Loss: 1.132784
Train Epoch: 7 [1280/50000 (3%)]	Loss: 1.096226
Train Epoch: 7 [1920/50000 (4%)]	Loss: 1.034192
Train Epoch: 7 [2560/50000 (5%)]	Loss: 1.299500
Train Epoch: 7 [3200/50000 (6%)]	Loss: 1.114036
Train Epoch: 7 [3840/50000 (8%)]	Loss: 0.915705
Train Epoch: 7 [4480/50000 (9%)]	Loss: 1.147525
Train Epoch: 7 [5120/50000 (10%)]	Loss: 1.104407
Train Epoch: 7 [5760/50000 (12%)]	Loss: 1.055758
Train Epoch: 7 [6400/50000 (13%)]	Loss: 1.037996
Train Epoch: 7 [7040/50000 (14%)]	Loss: 1.371380
Train Epoch: 7 [7680/50000 (15%)]	Loss: 1.216090
Train Epoch: 7 [8320/50000 (17%)]	Loss: 1.112456
Train Epoch: 7 [8960/50000 (18%)]	Loss: 1.057259
Train Epoch: 7 [9600/50000 (19%)]	Loss: 1.306673
Train Epoch: 7 [10240/50000 (20%)]	Loss: 1.024866
Train Epoch: 7 [10880/50000 (22%)]	Loss: 1.204286
Train Epoch: 7 [11520/50000 (23%)]	Loss: 1.031119
Train Epoch: 7 [12160/50000 (24%)]	Loss: 1.518001
Train Epoch: 7 [12800/50000 (26%)]	Loss: 1.026272
Train Epoch: 7 [13440/50000 (27%)]	Loss: 0.990402
Train Epoch: 7 [14080/50000 (28%)]	Loss: 0.934503
Train Epoch: 7 [14720/50000 (29%)]	Loss: 1.033344
Train Epoch: 7 [15360/50000 (31%)]	Loss: 0.949894
Train Epoch: 7 [16000/50000 (32%)]	Loss: 1.050753
Train Epoch: 7 [16640/50000 (33%)]	Loss: 1.021386
Train Epoch: 7 [17280/50000 (35%)]	Loss: 1.220182
Train Epoch: 7 [17920/50000 (36%)]	Loss: 0.941410
Train Epoch: 7 [18560/50000 (37%)]	Loss: 1.149695
Train Epoch: 7 [19200/50000 (38%)]	Loss: 1.059639
Train Epoch: 7 [19840/50000 (40%)]	Loss: 1.461685
Train Epoch: 7 [20480/50000 (41%)]	Loss: 1.232516
Train Epoch: 7 [21120/50000 (42%)]	Loss: 1.102935
Train Epoch: 7 [21760/50000 (43%)]	Loss: 1.062622
Train Epoch: 7 [22400/50000 (45%)]	Loss: 1.213669
Train Epoch: 7 [23040/50000 (46%)]	Loss: 1.177332
Train Epoch: 7 [23680/50000 (47%)]	Loss: 1.208207
Train Epoch: 7 [24320/50000 (49%)]	Loss: 1.001383
Train Epoch: 7 [24960/50000 (50%)]	Loss: 1.259826
Train Epoch: 7 [25600/50000 (51%)]	Loss: 1.182760
Train Epoch: 7 [26240/50000 (52%)]	Loss: 1.191619
Train Epoch: 7 [26880/50000 (54%)]	Loss: 1.206083
Train Epoch: 7 [27520/50000 (55%)]	Loss: 1.090945
Train Epoch: 7 [28160/50000 (56%)]	Loss: 1.310722
Train Epoch: 7 [28800/50000 (58%)]	Loss: 1.259971
Train Epoch: 7 [29440/50000 (59%)]	Loss: 1.250589
Train Epoch: 7 [30080/50000 (60%)]	Loss: 1.294335
Train Epoch: 7 [30720/50000 (61%)]	Loss: 1.004075
Train Epoch: 7 [31360/50000 (63%)]	Loss: 1.293405
Train Epoch: 7 [32000/50000 (64%)]	Loss: 1.353319
Train Epoch: 7 [32640/50000 (65%)]	Loss: 1.288838
Train Epoch: 7 [33280/50000 (66%)]	Loss: 1.222333
Train Epoch: 7 [33920/50000 (68%)]	Loss: 1.028481
Train Epoch: 7 [34560/50000 (69%)]	Loss: 1.101335
Train Epoch: 7 [35200/50000 (70%)]	Loss: 1.096732
Train Epoch: 7 [35840/50000 (72%)]	Loss: 1.290694
Train Epoch: 7 [36480/50000 (73%)]	Loss: 1.204235
Train Epoch: 7 [37120/50000 (74%)]	Loss: 0.923010
Train Epoch: 7 [37760/50000 (75%)]	Loss: 1.326248
Train Epoch: 7 [38400/50000 (77%)]	Loss: 1.085258
Train Epoch: 7 [39040/50000 (78%)]	Loss: 1.215368
Train Epoch: 7 [39680/50000 (79%)]	Loss: 1.042789
Train Epoch: 7 [40320/50000 (81%)]	Loss: 1.011777
Train Epoch: 7 [40960/50000 (82%)]	Loss: 1.145924
Train Epoch: 7 [41600/50000 (83%)]	Loss: 1.017406
Train Epoch: 7 [42240/50000 (84%)]	Loss: 1.131975
Train Epoch: 7 [42880/50000 (86%)]	Loss: 1.082690
Train Epoch: 7 [43520/50000 (87%)]	Loss: 1.221411
Train Epoch: 7 [44160/50000 (88%)]	Loss: 1.009576
Train Epoch: 7 [44800/50000 (90%)]	Loss: 1.094380
Train Epoch: 7 [45440/50000 (91%)]	Loss: 1.049666
Train Epoch: 7 [46080/50000 (92%)]	Loss: 1.071550
Train Epoch: 7 [46720/50000 (93%)]	Loss: 0.923450
Train Epoch: 7 [47360/50000 (95%)]	Loss: 1.216365
Train Epoch: 7 [48000/50000 (96%)]	Loss: 1.173584
Train Epoch: 7 [48640/50000 (97%)]	Loss: 1.102830
Train Epoch: 7 [49280/50000 (98%)]	Loss: 1.126902
Train Epoch: 7 [49920/50000 (100%)]	Loss: 1.083815

Test set: Average loss: 1.1634, Accuracy: 5967/10000 (60%)

Train Epoch: 8 [0/50000 (0%)]	Loss: 1.244234
Train Epoch: 8 [640/50000 (1%)]	Loss: 0.972293
Train Epoch: 8 [1280/50000 (3%)]	Loss: 1.076129
Train Epoch: 8 [1920/50000 (4%)]	Loss: 1.228269
Train Epoch: 8 [2560/50000 (5%)]	Loss: 1.061038
Train Epoch: 8 [3200/50000 (6%)]	Loss: 1.047418
Train Epoch: 8 [3840/50000 (8%)]	Loss: 1.078208
Train Epoch: 8 [4480/50000 (9%)]	Loss: 1.302112
Train Epoch: 8 [5120/50000 (10%)]	Loss: 1.174664
Train Epoch: 8 [5760/50000 (12%)]	Loss: 1.274133
Train Epoch: 8 [6400/50000 (13%)]	Loss: 1.163801
Train Epoch: 8 [7040/50000 (14%)]	Loss: 1.120292
Train Epoch: 8 [7680/50000 (15%)]	Loss: 1.089957
Train Epoch: 8 [8320/50000 (17%)]	Loss: 1.364860
Train Epoch: 8 [8960/50000 (18%)]	Loss: 1.208471
Train Epoch: 8 [9600/50000 (19%)]	Loss: 1.049127
Train Epoch: 8 [10240/50000 (20%)]	Loss: 1.030498
Train Epoch: 8 [10880/50000 (22%)]	Loss: 1.091528
Train Epoch: 8 [11520/50000 (23%)]	Loss: 1.579001
Train Epoch: 8 [12160/50000 (24%)]	Loss: 1.173372
Train Epoch: 8 [12800/50000 (26%)]	Loss: 1.204542
Train Epoch: 8 [13440/50000 (27%)]	Loss: 1.276676
Train Epoch: 8 [14080/50000 (28%)]	Loss: 1.093602
Train Epoch: 8 [14720/50000 (29%)]	Loss: 1.191830
Train Epoch: 8 [15360/50000 (31%)]	Loss: 1.316401
Train Epoch: 8 [16000/50000 (32%)]	Loss: 1.110168
Train Epoch: 8 [16640/50000 (33%)]	Loss: 0.992765
Train Epoch: 8 [17280/50000 (35%)]	Loss: 1.069996
Train Epoch: 8 [17920/50000 (36%)]	Loss: 0.905932
Train Epoch: 8 [18560/50000 (37%)]	Loss: 1.013584
Train Epoch: 8 [19200/50000 (38%)]	Loss: 1.156070
Train Epoch: 8 [19840/50000 (40%)]	Loss: 1.166420
Train Epoch: 8 [20480/50000 (41%)]	Loss: 1.116902
Train Epoch: 8 [21120/50000 (42%)]	Loss: 0.944979
Train Epoch: 8 [21760/50000 (43%)]	Loss: 1.147864
Train Epoch: 8 [22400/50000 (45%)]	Loss: 0.939123
Train Epoch: 8 [23040/50000 (46%)]	Loss: 1.118224
Train Epoch: 8 [23680/50000 (47%)]	Loss: 1.317542
Train Epoch: 8 [24320/50000 (49%)]	Loss: 0.898788
Train Epoch: 8 [24960/50000 (50%)]	Loss: 1.202521
Train Epoch: 8 [25600/50000 (51%)]	Loss: 1.136490
Train Epoch: 8 [26240/50000 (52%)]	Loss: 0.885323
Train Epoch: 8 [26880/50000 (54%)]	Loss: 0.976091
Train Epoch: 8 [27520/50000 (55%)]	Loss: 1.024351
Train Epoch: 8 [28160/50000 (56%)]	Loss: 0.986286
Train Epoch: 8 [28800/50000 (58%)]	Loss: 0.924292
Train Epoch: 8 [29440/50000 (59%)]	Loss: 0.866054
Train Epoch: 8 [30080/50000 (60%)]	Loss: 1.282943
Train Epoch: 8 [30720/50000 (61%)]	Loss: 1.058326
Train Epoch: 8 [31360/50000 (63%)]	Loss: 0.989214
Train Epoch: 8 [32000/50000 (64%)]	Loss: 1.146021
Train Epoch: 8 [32640/50000 (65%)]	Loss: 1.084725
Train Epoch: 8 [33280/50000 (66%)]	Loss: 0.820964
Train Epoch: 8 [33920/50000 (68%)]	Loss: 1.131475
Train Epoch: 8 [34560/50000 (69%)]	Loss: 1.174893
Train Epoch: 8 [35200/50000 (70%)]	Loss: 1.045770
Train Epoch: 8 [35840/50000 (72%)]	Loss: 1.330764
Train Epoch: 8 [36480/50000 (73%)]	Loss: 0.877000
Train Epoch: 8 [37120/50000 (74%)]	Loss: 1.113584
Train Epoch: 8 [37760/50000 (75%)]	Loss: 1.000971
Train Epoch: 8 [38400/50000 (77%)]	Loss: 0.854824
Train Epoch: 8 [39040/50000 (78%)]	Loss: 0.984351
Train Epoch: 8 [39680/50000 (79%)]	Loss: 1.154973
Train Epoch: 8 [40320/50000 (81%)]	Loss: 1.224326
Train Epoch: 8 [40960/50000 (82%)]	Loss: 1.192913
Train Epoch: 8 [41600/50000 (83%)]	Loss: 1.038239
Train Epoch: 8 [42240/50000 (84%)]	Loss: 0.930824
Train Epoch: 8 [42880/50000 (86%)]	Loss: 0.916383
Train Epoch: 8 [43520/50000 (87%)]	Loss: 1.075396
Train Epoch: 8 [44160/50000 (88%)]	Loss: 1.254452
Train Epoch: 8 [44800/50000 (90%)]	Loss: 1.002349
Train Epoch: 8 [45440/50000 (91%)]	Loss: 1.108288
Train Epoch: 8 [46080/50000 (92%)]	Loss: 1.269533
Train Epoch: 8 [46720/50000 (93%)]	Loss: 1.067532
Train Epoch: 8 [47360/50000 (95%)]	Loss: 1.162837
Train Epoch: 8 [48000/50000 (96%)]	Loss: 1.069335
Train Epoch: 8 [48640/50000 (97%)]	Loss: 1.201805
Train Epoch: 8 [49280/50000 (98%)]	Loss: 1.313335
Train Epoch: 8 [49920/50000 (100%)]	Loss: 1.163692

Test set: Average loss: 1.2983, Accuracy: 5542/10000 (55%)

Train Epoch: 9 [0/50000 (0%)]	Loss: 1.191780
Train Epoch: 9 [640/50000 (1%)]	Loss: 1.143961
Train Epoch: 9 [1280/50000 (3%)]	Loss: 1.035616
Train Epoch: 9 [1920/50000 (4%)]	Loss: 0.915796
Train Epoch: 9 [2560/50000 (5%)]	Loss: 0.989218
Train Epoch: 9 [3200/50000 (6%)]	Loss: 1.150152
Train Epoch: 9 [3840/50000 (8%)]	Loss: 1.094111
Train Epoch: 9 [4480/50000 (9%)]	Loss: 0.938811
Train Epoch: 9 [5120/50000 (10%)]	Loss: 0.996676
Train Epoch: 9 [5760/50000 (12%)]	Loss: 1.030777
Train Epoch: 9 [6400/50000 (13%)]	Loss: 0.899522
Train Epoch: 9 [7040/50000 (14%)]	Loss: 1.193343
Train Epoch: 9 [7680/50000 (15%)]	Loss: 1.350895
Train Epoch: 9 [8320/50000 (17%)]	Loss: 1.038769
Train Epoch: 9 [8960/50000 (18%)]	Loss: 0.955395
Train Epoch: 9 [9600/50000 (19%)]	Loss: 1.191240
Train Epoch: 9 [10240/50000 (20%)]	Loss: 1.187777
Train Epoch: 9 [10880/50000 (22%)]	Loss: 1.211386
Train Epoch: 9 [11520/50000 (23%)]	Loss: 1.152294
Train Epoch: 9 [12160/50000 (24%)]	Loss: 0.953764
Train Epoch: 9 [12800/50000 (26%)]	Loss: 1.093437
Train Epoch: 9 [13440/50000 (27%)]	Loss: 0.891672
Train Epoch: 9 [14080/50000 (28%)]	Loss: 1.092749
Train Epoch: 9 [14720/50000 (29%)]	Loss: 0.983831
Train Epoch: 9 [15360/50000 (31%)]	Loss: 1.105203
Train Epoch: 9 [16000/50000 (32%)]	Loss: 0.999537
Train Epoch: 9 [16640/50000 (33%)]	Loss: 1.232467
Train Epoch: 9 [17280/50000 (35%)]	Loss: 0.835987
Train Epoch: 9 [17920/50000 (36%)]	Loss: 1.269775
Train Epoch: 9 [18560/50000 (37%)]	Loss: 1.101415
Train Epoch: 9 [19200/50000 (38%)]	Loss: 1.252950
Train Epoch: 9 [19840/50000 (40%)]	Loss: 0.943287
Train Epoch: 9 [20480/50000 (41%)]	Loss: 1.266174
Train Epoch: 9 [21120/50000 (42%)]	Loss: 1.024722
Train Epoch: 9 [21760/50000 (43%)]	Loss: 0.914866
Train Epoch: 9 [22400/50000 (45%)]	Loss: 0.956911
Train Epoch: 9 [23040/50000 (46%)]	Loss: 1.145486
Train Epoch: 9 [23680/50000 (47%)]	Loss: 1.237769
Train Epoch: 9 [24320/50000 (49%)]	Loss: 1.078667
Train Epoch: 9 [24960/50000 (50%)]	Loss: 1.084888
Train Epoch: 9 [25600/50000 (51%)]	Loss: 1.226454
Train Epoch: 9 [26240/50000 (52%)]	Loss: 1.131534
Train Epoch: 9 [26880/50000 (54%)]	Loss: 1.356487
Train Epoch: 9 [27520/50000 (55%)]	Loss: 1.057893
Train Epoch: 9 [28160/50000 (56%)]	Loss: 1.032811
Train Epoch: 9 [28800/50000 (58%)]	Loss: 0.993607
Train Epoch: 9 [29440/50000 (59%)]	Loss: 1.064042
Train Epoch: 9 [30080/50000 (60%)]	Loss: 0.854981
Train Epoch: 9 [30720/50000 (61%)]	Loss: 0.780019
Train Epoch: 9 [31360/50000 (63%)]	Loss: 1.136320
Train Epoch: 9 [32000/50000 (64%)]	Loss: 1.070096
Train Epoch: 9 [32640/50000 (65%)]	Loss: 1.042902
Train Epoch: 9 [33280/50000 (66%)]	Loss: 1.010215
Train Epoch: 9 [33920/50000 (68%)]	Loss: 0.834599
Train Epoch: 9 [34560/50000 (69%)]	Loss: 1.234208
Train Epoch: 9 [35200/50000 (70%)]	Loss: 0.891367
Train Epoch: 9 [35840/50000 (72%)]	Loss: 1.021718
Train Epoch: 9 [36480/50000 (73%)]	Loss: 1.030426
Train Epoch: 9 [37120/50000 (74%)]	Loss: 0.953688
Train Epoch: 9 [37760/50000 (75%)]	Loss: 1.098851
Train Epoch: 9 [38400/50000 (77%)]	Loss: 1.348528
Train Epoch: 9 [39040/50000 (78%)]	Loss: 1.054108
Train Epoch: 9 [39680/50000 (79%)]	Loss: 0.922683
Train Epoch: 9 [40320/50000 (81%)]	Loss: 1.144991
Train Epoch: 9 [40960/50000 (82%)]	Loss: 1.200287
Train Epoch: 9 [41600/50000 (83%)]	Loss: 1.090679
Train Epoch: 9 [42240/50000 (84%)]	Loss: 1.164642
Train Epoch: 9 [42880/50000 (86%)]	Loss: 0.953733
Train Epoch: 9 [43520/50000 (87%)]	Loss: 1.248615
Train Epoch: 9 [44160/50000 (88%)]	Loss: 1.012736
Train Epoch: 9 [44800/50000 (90%)]	Loss: 0.954286
Train Epoch: 9 [45440/50000 (91%)]	Loss: 1.309456
Train Epoch: 9 [46080/50000 (92%)]	Loss: 1.033365
Train Epoch: 9 [46720/50000 (93%)]	Loss: 1.459734
Train Epoch: 9 [47360/50000 (95%)]	Loss: 1.042740
Train Epoch: 9 [48000/50000 (96%)]	Loss: 1.054570
Train Epoch: 9 [48640/50000 (97%)]	Loss: 0.913407
Train Epoch: 9 [49280/50000 (98%)]	Loss: 0.993366
Train Epoch: 9 [49920/50000 (100%)]	Loss: 1.009185

Test set: Average loss: 1.1632, Accuracy: 5998/10000 (60%)

Train Epoch: 10 [0/50000 (0%)]	Loss: 1.132638
Train Epoch: 10 [640/50000 (1%)]	Loss: 0.999831
Train Epoch: 10 [1280/50000 (3%)]	Loss: 1.075180
Train Epoch: 10 [1920/50000 (4%)]	Loss: 1.014596
Train Epoch: 10 [2560/50000 (5%)]	Loss: 1.133246
Train Epoch: 10 [3200/50000 (6%)]	Loss: 1.148196
Train Epoch: 10 [3840/50000 (8%)]	Loss: 0.812325
Train Epoch: 10 [4480/50000 (9%)]	Loss: 1.064196
Train Epoch: 10 [5120/50000 (10%)]	Loss: 1.156519
Train Epoch: 10 [5760/50000 (12%)]	Loss: 1.055239
Train Epoch: 10 [6400/50000 (13%)]	Loss: 0.909034
Train Epoch: 10 [7040/50000 (14%)]	Loss: 1.089110
Train Epoch: 10 [7680/50000 (15%)]	Loss: 0.922372
Train Epoch: 10 [8320/50000 (17%)]	Loss: 1.087435
Train Epoch: 10 [8960/50000 (18%)]	Loss: 1.091504
Train Epoch: 10 [9600/50000 (19%)]	Loss: 1.083531
Train Epoch: 10 [10240/50000 (20%)]	Loss: 0.957407
Train Epoch: 10 [10880/50000 (22%)]	Loss: 0.894681
Train Epoch: 10 [11520/50000 (23%)]	Loss: 1.242626
Train Epoch: 10 [12160/50000 (24%)]	Loss: 0.901640
Train Epoch: 10 [12800/50000 (26%)]	Loss: 0.858001
Train Epoch: 10 [13440/50000 (27%)]	Loss: 1.062335
Train Epoch: 10 [14080/50000 (28%)]	Loss: 0.996916
Train Epoch: 10 [14720/50000 (29%)]	Loss: 0.789493
Train Epoch: 10 [15360/50000 (31%)]	Loss: 0.982737
Train Epoch: 10 [16000/50000 (32%)]	Loss: 1.183743
Train Epoch: 10 [16640/50000 (33%)]	Loss: 1.045609
Train Epoch: 10 [17280/50000 (35%)]	Loss: 1.300512
Train Epoch: 10 [17920/50000 (36%)]	Loss: 0.874571
Train Epoch: 10 [18560/50000 (37%)]	Loss: 0.967621
Train Epoch: 10 [19200/50000 (38%)]	Loss: 0.809072
Train Epoch: 10 [19840/50000 (40%)]	Loss: 1.078088
Train Epoch: 10 [20480/50000 (41%)]	Loss: 1.200885
Train Epoch: 10 [21120/50000 (42%)]	Loss: 1.361294
Train Epoch: 10 [21760/50000 (43%)]	Loss: 1.025632
Train Epoch: 10 [22400/50000 (45%)]	Loss: 0.940617
Train Epoch: 10 [23040/50000 (46%)]	Loss: 0.881414
Train Epoch: 10 [23680/50000 (47%)]	Loss: 1.193092
Train Epoch: 10 [24320/50000 (49%)]	Loss: 0.923436
Train Epoch: 10 [24960/50000 (50%)]	Loss: 1.001605
Train Epoch: 10 [25600/50000 (51%)]	Loss: 1.008275
Train Epoch: 10 [26240/50000 (52%)]	Loss: 0.890373
Train Epoch: 10 [26880/50000 (54%)]	Loss: 0.943846
Train Epoch: 10 [27520/50000 (55%)]	Loss: 0.940573
Train Epoch: 10 [28160/50000 (56%)]	Loss: 0.874893
Train Epoch: 10 [28800/50000 (58%)]	Loss: 1.022872
Train Epoch: 10 [29440/50000 (59%)]	Loss: 1.349758
Train Epoch: 10 [30080/50000 (60%)]	Loss: 0.956427
Train Epoch: 10 [30720/50000 (61%)]	Loss: 1.080793
Train Epoch: 10 [31360/50000 (63%)]	Loss: 1.026815
Train Epoch: 10 [32000/50000 (64%)]	Loss: 1.177736
Train Epoch: 10 [32640/50000 (65%)]	Loss: 0.998143
Train Epoch: 10 [33280/50000 (66%)]	Loss: 1.156705
Train Epoch: 10 [33920/50000 (68%)]	Loss: 1.231212
Train Epoch: 10 [34560/50000 (69%)]	Loss: 1.194155
Train Epoch: 10 [35200/50000 (70%)]	Loss: 0.864619
Train Epoch: 10 [35840/50000 (72%)]	Loss: 1.084473
Train Epoch: 10 [36480/50000 (73%)]	Loss: 1.305790
Train Epoch: 10 [37120/50000 (74%)]	Loss: 1.053469
Train Epoch: 10 [37760/50000 (75%)]	Loss: 0.819227
Train Epoch: 10 [38400/50000 (77%)]	Loss: 1.059725
Train Epoch: 10 [39040/50000 (78%)]	Loss: 1.175484
Train Epoch: 10 [39680/50000 (79%)]	Loss: 1.233494
Train Epoch: 10 [40320/50000 (81%)]	Loss: 0.811608
Train Epoch: 10 [40960/50000 (82%)]	Loss: 0.905279
Train Epoch: 10 [41600/50000 (83%)]	Loss: 1.196527
Train Epoch: 10 [42240/50000 (84%)]	Loss: 1.044938
Train Epoch: 10 [42880/50000 (86%)]	Loss: 1.005627
Train Epoch: 10 [43520/50000 (87%)]	Loss: 1.274237
Train Epoch: 10 [44160/50000 (88%)]	Loss: 0.977233
Train Epoch: 10 [44800/50000 (90%)]	Loss: 0.860015
Train Epoch: 10 [45440/50000 (91%)]	Loss: 0.857290
Train Epoch: 10 [46080/50000 (92%)]	Loss: 1.020551
Train Epoch: 10 [46720/50000 (93%)]	Loss: 1.059181
Train Epoch: 10 [47360/50000 (95%)]	Loss: 1.215396
Train Epoch: 10 [48000/50000 (96%)]	Loss: 1.342411
Train Epoch: 10 [48640/50000 (97%)]	Loss: 0.994925
Train Epoch: 10 [49280/50000 (98%)]	Loss: 0.919664
Train Epoch: 10 [49920/50000 (100%)]	Loss: 1.124476

Test set: Average loss: 1.1288, Accuracy: 6039/10000 (60%)

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

In [ ]: