def sample()

in train.py [0:0]


def sample(name):
    sample_batches = []
    assert H.samples_to_generate % (H.sample_batch * mpi_size()) == 0
    for idx in range(H.samples_to_generate // (H.sample_batch * mpi_size())):
        feeds = {}
        if H.num_self_gen_in_use > 0 and not H.use_unconditional_augmentation:
            feeds[H.Y_gen_ph] = np.zeros((H.sample_batch, H.num_self_gen_in_use), dtype=np.int32)
        samples = sess.run(sample_output, feeds)
        sample_batches.append(samples)
        logprint(f'generated {sum([a.shape[0] for a in sample_batches])} / {H.samples_to_generate} samples')
        if idx == 0 and H.samples_memorycheck:
            mem = sess.run(tf.contrib.memory_stats.MaxBytesInUse())
            logprint('Runtime memory usage so far (bytes):', f'{mem:,}')
            logprint(memory_usage=mem)
    if mpi_rank() == 0:
        samples = np.concatenate(sample_batches, axis=0)
        nppath = os.path.join(H.model_dir, f'{H.desc}-samples-{H.samples_to_generate}-t{H.temperature}.npy')
        np.save(nppath, samples)