Beispiel #1
0
    print('\n\nStarting epoch %d / %d' % (epoch + 1, num_epochs))
    print('Learning Rate for this epoch: {}'.format(learning_rate))

    total_loss = 0.
    # train by iter on every epoch
    for i, (images, target) in enumerate(train_loader):
        images = Variable(images)
        target = Variable(target)
        if USE_GPU:
            images,target = images.cuda(),target.cuda()

        # forward
        pred = net(images)  # [1,7,7,30]
        loss = criterion(pred,target)
        total_loss += loss.item()
        vis.plot_train_val(loss_train=loss.item())  # train plot

        # backward
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

        # logout
        if (i+1) % print_every_step == 0:
            print ('Epoch [%d/%d], Iter [%d/%d] Loss: %.4f, average_loss: %.4f'%(epoch+1, num_epochs, i+1, len(train_loader), loss.item(), total_loss / (i+1)))
            num_iter += 1

    # save checkpoint model
    torch.save(net.state_dict(), './output/%s.pth' % net.name)

    # validate
Beispiel #2
0
            images, target = images.cuda(), target.cuda()

        pred = net(images)
        loss = criterion(pred, target)
        total_loss += loss.data[0]

        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
        if (i + 1) % 5 == 0:
            print(
                'Epoch [%d/%d], Iter [%d/%d] Loss: %.4f, average_loss: %.4f' %
                (epoch + 1, num_epochs, i + 1, len(train_loader), loss.data[0],
                 total_loss / (i + 1)))
            num_iter += 1
            vis.plot_train_val(loss_train=total_loss / (i + 1))

    #validation
    validation_loss = 0.0
    net.eval()
    for i, (images, target) in enumerate(test_loader):
        images = Variable(images, volatile=True)
        target = Variable(target, volatile=True)
        if use_gpu:
            images, target = images.cuda(), target.cuda()

        pred = net(images)
        loss = criterion(pred, target)
        validation_loss += loss.data[0]
    validation_loss /= len(test_loader)
    vis.plot_train_val(loss_val=validation_loss)
Beispiel #3
0
    print('Learning Rate for this epoch: {}'.format(learning_rate))

    total_loss = 0.

    for i, (images, target) in enumerate(train_loader):
        images = Variable(images)
        target = Variable(target)
        if use_gpu:
            images, target = images.cuda(), target.cuda()

        pred = net(images)

        print(pred.size(), target.size())
        loss = criterion(pred, target)
        total_loss += float(loss.item())

        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
        if (i + 1) % 10 == 0:
            print(
                'Epoch [%d/%d], Iter [%d/%d] Loss: %.4f, average_loss: %.4f' %
                (epoch + 1, num_epochs, i + 1, len(train_loader), loss.item(),
                 total_loss / (i + 1)))
            num_iter += 1
            vis.plot_train_val(loss_train=total_loss / (i + 1))

torch.save(
    net.state_dict(),
    '/home/duanyajun/文档/目标识别项目/自己改写代码/mobilenet_yolov1/yolo_test_boat.pth')