in src/run.py [0:0]
def sample(sess, X, gen_logits, n_sub_batch, n_gpu, n_px, n_vocab, clusters, save_dir):
samples = np.zeros([n_gpu * n_sub_batch, n_px * n_px], dtype=np.int32)
for i in tqdm(range(n_px * n_px), ncols=80, leave=False):
np_gen_logits = sess.run(gen_logits, {X: samples})
for j in range(n_gpu):
p = softmax(np_gen_logits[j][:, i, :], axis=-1) # logits to probas
for k in range(n_sub_batch):
c = np.random.choice(n_vocab, p=p[k]) # choose based on probas
samples[j * n_sub_batch + k, i] = c
# dequantize
samples = [np.reshape(np.rint(127.5 * (clusters[s] + 1.0)), [32, 32, 3]).astype(np.uint8) for s in samples]
# write to png
for i in range(n_gpu * n_sub_batch):
imwrite(f"{args.save_dir}/sample_{i}.png", samples[i])