在准备实现Pix2pixSE之前,我为了测试实验环境,将pix2pix也复现了一次(https://github.com/yenchenlin/pix2pix-tensorflow)
实验环境要求如上,包括requirement里面的几个,pytohn 2.7
主要是TensorFlow版本,目前0.11已经很那安装了,所以我用了0.12.1版本,也是可以运行的。
因为TF版本过老的原因,对应的代码也需要修改,主要是 tf.concat()
详情可参阅博客: https://blog.csdn.net/zcf1784266476/article/details/71248799
pix2pix源代码中都是tf.concat([d3, e5],3)
需要改成这种形式tf.concat(3,[d3, e5])
此外,在loss计算中,需要将logit=.... 和label=删除,修改后如下:
self.d_loss_real = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits, tf.ones_like(self.D)))
self.d_loss_fake = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_, tf.zeros_like(self.D_)))
self.g_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_, tf.ones_like(self.D_))) \
+ self.L1_lambda * tf.reduce_mean(tf.abs(self.real_B - self.fake_B))