def swap_attribute(src_img, att_img, model_dir, model, gpu):
'''
Input
src_img: the source image that you want to change its attribute
att_img: the attribute image that has certain attribute
model_dir: the directory that contains the checkpoint, ckpt.* files
model: the GeneGAN network that defined in train.py
gpu: for example, '0,1'. Use '' for cpu mode
Output
out1: src_img with attributes
out2: att_img without attributes
'''
os.environ["CUDA_VISIBLE_DEVICES"] = gpu
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
ckpt = tf.train.get_checkpoint_state(model_dir)
# print(ckpt)
# print(ckpt.model_checkpoint_path)
if ckpt and ckpt.model_checkpoint_path:
saver.restore(sess, ckpt.model_checkpoint_path)
out2, out1 = sess.run([model.Ae, model.Bx], feed_dict={model.Ax: att_img, model.Be: src_img})
misc.imsave('out1.jpg', out1[0])
misc.imsave('out2.jpg', out2[0])
评论列表
文章目录