Пример #1
0
    # compute validation meanIoU
    val_IoUs.append(compute_avg_IoU(**val_data))
    # compute test meanIoU
    test_IoUs.append(compute_avg_IoU(**test_data))

    with tables.openFile('ious_kth{0:02d}left_out.h5'.format(args.test_person),
                         'w') as h5file:
        h5file.createArray(h5file.root, 'train_IoUs', np.array(train_IoUs))
        h5file.createArray(h5file.root, 'val_IoUs', np.array(val_IoUs))
        h5file.createArray(h5file.root, 'test_IoUs', np.array(test_IoUs))
        h5file.createArray(h5file.root, 'trainer_costs', trainer.costs)

    if best_val_IoU < val_IoUs[-1]:
        best_val_IoU = val_IoUs[-1]
        best_val_IoU_epoch = epoch + 1
        model.save('attention_model_kth_{0:02d}left_out_val_best.h5'.format(
            args.test_person))

    print 'train IoU: {0:f}'.format(train_IoUs[-1])
    print 'val IoU: {0:f} (best so far {1} in epoch {2})'.format(
        val_IoUs[-1], best_val_IoU, best_val_IoU_epoch)
    print 'test IoU: {0:f}'.format(test_IoUs[-1])

    plt.clf()
    plt.plot(range(epoch + 2), train_IoUs, c='g', label='Avg. IoU on Train')
    plt.plot(range(epoch + 2),
             val_IoUs,
             c='b',
             label='Avg. IoU on Val (person {0})'.format(val_person))
    plt.scatter([best_val_IoU_epoch], [best_val_IoU], marker='*', c='b')
    plt.xlabel('epoch')
    plt.ylabel('avg. IoU')
Пример #2
0
    val_IoUs.append(compute_avg_IoU(**val_data))
    # compute test meanIoU
    test_IoUs.append(compute_avg_IoU(**test_data))

    with tables.openFile('ious_kth{0:02d}left_out.h5'.format(args.test_person),
                         'w') as h5file:
        h5file.createArray(h5file.root, 'train_IoUs', np.array(train_IoUs))
        h5file.createArray(h5file.root, 'val_IoUs', np.array(val_IoUs))
        h5file.createArray(h5file.root, 'test_IoUs', np.array(test_IoUs))
        h5file.createArray(h5file.root, 'trainer_costs', trainer.costs)

    if best_val_IoU < val_IoUs[-1]:
        best_val_IoU = val_IoUs[-1]
        best_val_IoU_epoch = epoch + 1
        model.save(
            'attention_model_kth_{0:02d}left_out_val_best.h5'.format(
                args.test_person))

    print 'train IoU: {0:f}'.format(train_IoUs[-1])
    print 'val IoU: {0:f} (best so far {1} in epoch {2})'.format(
        val_IoUs[-1], best_val_IoU, best_val_IoU_epoch)
    print 'test IoU: {0:f}'.format(test_IoUs[-1])

    plt.clf()
    plt.plot(range(epoch + 2), train_IoUs, c='g',
             label='Avg. IoU on Train')
    plt.plot(range(epoch + 2), val_IoUs, c='b',
             label='Avg. IoU on Val (person {0})'.format(val_person))
    plt.scatter([best_val_IoU_epoch], [best_val_IoU],
                marker='*', c='b')
    plt.xlabel('epoch')