import tensorflow.contrib as contrib

            fc2_2 = contrib.layers.fully_connected(stitch1_2, 32, scope="fc2_2")

            if cross_stitch_enabled:
                with tf.variable_scope("cross_stitch_2"):
                    stitch2_1, stitch2_2 = apply_cross_stitch(fc2_1, fc2_2)
            else:
                stitch2_1, stitch2_2 = fc2_1, fc2_2

            dropout2_1 = contrib.layers.dropout(stitch2_1, keep_prob=keep_prob, is_training=is_training,
                                                scope="dropout2_1")
            dropout2_2 = contrib.layers.dropout(stitch2_2, keep_prob=keep_prob, is_training=is_training,
                                                scope="dropout2_2")

            fc3_1 = contrib.layers.fully_connected(dropout2_1, 32, scope="fc3_1")
            fc3_2 = contrib.layers.fully_connected(dropout2_2, 32, scope="fc3_2")

            if cross_stitch_enabled:
                with tf.variable_scope("cross_stitch_3"):
                    stitch3_1, stitch3_2 = apply_cross_stitch(fc3_1, fc3_2)
            else:
