import tensorflow as tf

                        block_ch *= 2
                        w >>= 1
                        h >>= 1

                        with tf.variable_scope('reduction_cell'):
                            if use_dynamic_arch:
                                self._add_dynamic_cell(reduction_arch, layers, w, h, block_ch, drop_path_keep_prob, is_train)
                            else:
                                self._add_static_cell(reduction_arch, layers, w, h, block_ch, drop_path_keep_prob, is_train,
                                                    is_reduction=True)
                    else:
                        with tf.variable_scope('normal_cell'):
                            if use_dynamic_arch:
                                self._add_dynamic_cell(normal_arch, layers, w, h, block_ch, drop_path_keep_prob, is_train)
                            else:
                                self._add_static_cell(normal_arch, layers, w, h, block_ch, drop_path_keep_prob, is_train)

                    # Maybe add auxiliary heads
                    if l in aux_head_layers:
                        with tf.variable_scope('aux_head'):
                            aux_logits = self._add_aux_head(*layers[-1], K, is_train)
                        aux_logits_list.append(aux_logits)
