def eval()

in train.py [0:0]


def eval(test=False, epoch=None):
    if test:
        tx = dataset.teX
    else:
        tx = dataset.vaX
    losses = []
    for data in iter_data_mpi(tx, n_batch=H.n_batch, log=logprint,
                              split_by_rank=dataset.full_dataset_valid):
        feeds = {H.X_ph: data[0], H.X_emb_ph: H.x_emb}
        if H.num_self_gen_in_use > 0 and not H.use_unconditional_augmentation:
            feeds[H.Y_gen_ph] = np.zeros((data[0].shape[0], H.num_self_gen_in_use), dtype=np.int32)
        losses.append(sess.run(H.avg_eval_loss_gen, feeds))

    avg_loss = sum(losses) / len(losses)
    content = dict(epoch=epoch, series='eval_loss', loss=avg_loss, bits=avg_loss / np.log(2.))
    logprint(**content)
    mpi_barrier()
    return avg_loss