import tensorflow as tf


    def _add_identity_op(self, X, input_idx, ni, w, h, ch, is_reduction, is_dynamic, is_train):
        stride = 2 if is_reduction else 1
        with tf.variable_scope('identity_op'):
            # If stride > 1, calibrate, else, just return itself
            if stride > 1:
                X = self._calibrate(X, w, h, ch, w // stride, h // stride, ch, is_train=is_train)
        X = tf.reshape(X, (-1, w // stride, h // stride, ch)) # Sanity shape check
        return X

    def _add_max_pool_3x3_op(self, X, input_idx, ni, w, h, ch, is_reduction, is_dynamic, is_train):
        filter_size = 3
        stride = 2 if is_reduction else 1
        with tf.variable_scope('max_pool_3x3_op'):
