示例#1
0
        scheduler.step()

        err.update(loss.item())
        grd.update(grad_norm)

        writer.add_scalar(err.title + '/steps', loss.item(), step)
        writer.add_scalar(grd.title + '/steps', grad_norm, step)

        loader.set_description('Epoch %d %s %s' % (epoch, err, grd))

    model.eval()

    for i, lr in enumerate(scheduler.get_lr()):
        writer.add_scalar('LR/%d' % i, lr, epoch)

    err.summary(writer, epoch)
    grd.summary(writer, epoch)

    err = AverageMeter('Loss/test')

    loader = DataLoaderCuda(test, batch_size=bptt, drop_last=True)

    hidden = model.step_init(batch_size)

    with torch.no_grad():

        for inputs, targets in loader:

            output, hidden = model.step_forward(inputs, hidden)

            loss = criterion(output, targets.view(-1))
示例#2
0
        grd.update(grad_norm)

        writer.add_scalar(grd.title + '/steps', grad_norm, step)
        
        train.set_description('Epoch %d %s %s %s %s' % (epoch, err, ent, grd, rwd))

        if step % 200 == 0:
            train.close()
            break

    model.eval()

    for i, lr in enumerate(scheduler.get_lr()):
        writer.add_scalar('LR/%d' % i, lr, epoch)

    err.summary(writer, epoch)
    ent.summary(writer, epoch)
    grd.summary(writer, epoch)
    rwd.summary(writer, epoch)

    err = AverageMeter('Loss/test')
    ent = AverageMeter('Entropy/test')
    cer = AverageCER(blank, space)
    wer = AverageWER(blank, space)

    with torch.no_grad():

        for xs, ys, xn, yn in test:

            zs, xs, xn = model(xs, ys.t(), xn, yn)