import tensorflow as tf

    image = tf.placeholder(tf.float32, shape=[None, IMAGE_SIZE, IMAGE_SIZE, 3], name="input_image")
    annotation = tf.placeholder(tf.float32, shape=[None, IMAGE_SIZE, IMAGE_SIZE, 3], name="annotation")
    z = tf.placeholder(tf.float32, shape=[None, 4, 4, 128], name="z")

    # pred_annotation, logits = inference(image, keep_probability,z)
 #   tf.summary.image("input_image", image, max_outputs=2)
 #   tf.summary.image("ground_truth", tf.cast(annotation, tf.uint8), max_outputs=2)
 #   tf.summary.image("pred_annotation", tf.cast(pred_annotation, tf.uint8), max_outputs=2)
#    loss = tf.reduce_mean((tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits,
 #                                                                         labels=tf.squeeze(annotation, squeeze_dims=[3]),
  #                                                                    name="entropy")))
    
    
    mask_ = tf.ones([FLAGS.batch_size,64,64,3])
    mask = tf.pad(mask_, [[0,0],[32,32],[32,32],[0,0]])

    mask2__ = tf.ones([FLAGS.batch_size,78,78,3])
    mask2_ = tf.pad(mask2__, [[0,0],[25,25],[25,25],[0,0]])
    mask2 = mask2_ - mask

    pred_annotation, logits = inference((1-mask)*image + mask*255, keep_probability,z)

    tf.summary.image("input_image", image, max_outputs=2)
    tf.summary.image("ground_truth", tf.cast(annotation, tf.uint8), max_outputs=2)
    tf.summary.image("pred_annotation", tf.cast(pred_annotation, tf.uint8), max_outputs=2)

   # loss0 = tf.reduce_mean(tf.abs(z))
    loss = tf.reduce_mean(tf.sqrt(tf.reduce_sum(tf.square((image - logits)),[1,2,3])))
