def call(self, x, mask=None):
def image_expand(tensor):
return K.expand_dims(K.expand_dims(tensor, -1), -1)
def batch_image_expand(tensor):
return image_expand(K.expand_dims(tensor, 0))
hw = K.cast(x.shape[2] * x.shape[3], K.floatx())
mu = K.sum(x, [-1, -2]) / hw
mu_vec = image_expand(mu)
sig2 = K.sum(K.square(x - mu_vec), [-1, -2]) / hw
y = (x - mu_vec) / (K.sqrt(image_expand(sig2)) + K.epsilon())
scale = batch_image_expand(self.scale)
shift = batch_image_expand(self.shift)
return scale*y + shift
# else:
# raise NotImplemented("Please complete `CycGAN/layers/padding.py` to run on backend {}.".format(K.backend()))
评论列表
文章目录