import tensorflow as tf

        w //= pool_stride
        h //= pool_stride

        # Conv 1x1
        with tf.variable_scope('conv_0'):
            X = self._do_conv(X, w, h, ch, conv_ch, filter_size=1, no_reg=True, is_train=is_train)
        ch = conv_ch

        # Global conv
        with tf.variable_scope('conv_1'):
            X = self._do_conv(X, w, h, ch, global_conv_ch, filter_size=w, no_reg=True, is_train=is_train)
        ch = global_conv_ch

        # Global pooling
        X = self._add_global_avg_pool(X, w, h, ch)

        # Fully connected
        with tf.variable_scope('fully_connected'):
