def _write_deepdream(images, layer, path_outdir, path_logdir):
is_success = True
images = _im_normlize([images])
layer, units, k = layer
# write into disk
path_out = os.path.join(path_outdir, "deepdream_" + layer.lower().replace("/", "_"))
is_success = make_dir(path_out)
for i in range(len(images)):
for j in range(images[i].shape[0]):
img_save = images[i][j]
if img_save.shape[2] == 1:
img_save = np.squeeze(img_save, axis=2)
imsave(os.path.join(path_out, "image_%d.png" % (units[(i * images[i].shape[0]) + j + k])), img_save, format = "png")
# write into logfile
path_log = os.path.join(path_logdir, layer.lower().replace("/", "_"))
is_success = make_dir(path_log)
with tf.Graph().as_default() as g:
image = tf.placeholder(tf.float32, shape = [None, None, None, None])
image_summary_t = tf.summary.image(name = "One_By_One_DeepDream", tensor = image, max_outputs = config["MAX_FEATUREMAP"])
with tf.Session() as sess:
summary = sess.run(image_summary_t, feed_dict = {image : np.concatenate(images, axis = 0)})
try:
file_writer = tf.summary.FileWriter(path_log, g) # create file writer
# compute and write the summary
file_writer.add_summary(summary)
except:
is_success = False
print("Error occured in writting results into log file.")
finally:
file_writer.close() # close file writer
return is_success
评论列表
文章目录