def layers(vgg_layer3_out, vgg_layer4_out, vgg_layer7_out, num_classes):
    '\n    Create the layers for a fully convolutional network.  Build skip-layers using the vgg layers.\n    :param vgg_layer3_out: TF Tensor for VGG Layer 3 output\n    :param vgg_layer4_out: TF Tensor for VGG Layer 4 output\n    :param vgg_layer7_out: TF Tensor for VGG Layer 7 output\n    :param num_classes: Number of classes to classify\n    :return: The Tensor for the last layer of output\n    '
    conv_1by1_l7 = tf.layers.conv2d(vgg_layer7_out, num_classes, 1, padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.layers.conv2d_transpose(conv_1by1_l7, 512, 4, strides=(2, 2), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.add(output, vgg_layer4_out)
    output = tf.layers.conv2d_transpose(output, 256, 4, strides=(2, 2), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.add(output, vgg_layer3_out)
    output = tf.layers.conv2d_transpose(output, num_classes, 16, strides=(8, 8), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001), name='nn_final_output')
    return output
Create the layers for a fully convolutional network.  Build skip-layers using the vgg layers.
:param vgg_layer3_out: TF Tensor for VGG Layer 3 output
:param vgg_layer4_out: TF Tensor for VGG Layer 4 output
:param vgg_layer7_out: TF Tensor for VGG Layer 7 output
:param num_classes: Number of classes to classify
:return: The Tensor for the last layer of output
def layers(vgg_layer3_out, vgg_layer4_out, vgg_layer7_out, num_classes):
    '\n    Create the layers for a fully convolutional network.  Build skip-layers using the vgg layers.\n    :param vgg_layer3_out: TF Tensor for VGG Layer 3 output\n    :param vgg_layer4_out: TF Tensor for VGG Layer 4 output\n    :param vgg_layer7_out: TF Tensor for VGG Layer 7 output\n    :param num_classes: Number of classes to classify\n    :return: The Tensor for the last layer of output\n    '
    conv_1by1_l7 = tf.layers.conv2d(vgg_layer7_out, num_classes, 1, padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.layers.conv2d_transpose(conv_1by1_l7, 512, 4, strides=(2, 2), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.add(output, vgg_layer4_out)
    output = tf.layers.conv2d_transpose(output, 256, 4, strides=(2, 2), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001))
    output = tf.add(output, vgg_layer3_out)
    output = tf.layers.conv2d_transpose(output, num_classes, 16, strides=(8, 8), padding='SAME', kernel_regularizer=tf.contrib.layers.l2_regularizer(0.001), name='nn_final_output')
    return output