import tensorflow as tf


        W8 = utils.weight_variable([1, 1, 4096, 150], name="W8")
        b8 = utils.bias_variable([150], name="b8")
	
       # W_h = utils.weight_variable([1, 7, 7, 4], name="Wh")
        conv8 = tf.reshape(utils.conv2d_basic(relu_dropout7, W8, b8),[-1,4*4*150])
        fc1 = tf.reshape(tf.layers.dense(conv8,4*4*150,activation = tf.nn.relu),[-1,4,4,150])
        
          

        concat1 = tf.concat([fc1, z],axis = 3)
        # annotation_pred1 = tf.argmax(conv8, dimension=3, name="prediction1")
        print("###########################################################")
        print(fc1)
        # now to upscale to actual image size
        deconv_shape1 = image_net["pool4"].get_shape()
        W_t1 = utils.weight_variable([4, 4, deconv_shape1[3].value, 278], name="W_t1")
        b_t1 = utils.bias_variable([deconv_shape1[3].value], name="b_t1")
        conv_t1 = utils.conv2d_transpose_strided(concat1, W_t1, b_t1, output_shape=tf.shape(image_net["pool4"]))
        fuse_1 = tf.add(conv_t1, image_net["pool4"], name="fuse_1")
