'Decode the cross_conved feature maps into the predicted images.'

def _BuildImageDecoder(self, cross_conved_images):

    nets = []
    for (i, cross_conved_image) in enumerate(cross_conved_images):
        with tf.variable_scope(('image_decoder_%d' % i)):
            stride = (64 / cross_conved_image.get_shape().as_list()[1])
            nets.append(self._Deconv(cross_conved_image, 64, kernel_size=3, stride=stride))
    net = tf.concat(axis=3, values=nets)
    net = slim.conv2d(net, 128, [9, 9], padding='SAME', stride=1)
    net = slim.conv2d(net, 128, [1, 1], padding='SAME', stride=1)
    net = slim.conv2d(net, 3, [1, 1], padding='SAME', stride=1)
    self.diff_output = net
    sys.stderr.write(('diff_output    shape:    %s\n' % self.diff_output.get_shape()))
