'Extracts feature IDs and advances a batch using the oracle path.
Args:
state: MasterState from the \'AdvanceMaster\' op that advances the
underlying master to this component.
network_states: Dictionary of component NetworkState objects.
during_training: Whether the graph is being constructed during training.
Returns:
state handle: Final state after advancing.'

def _extract_feature_ids(self, state, network_states, during_training):

    logging.info('Building    component:    %s', self.spec.name)
    if during_training:
        stride = (state.current_batch_size * self.training_beam_size)
    else:
        stride = (state.current_batch_size * self.inference_beam_size)
    with tf.variable_scope(self.name, reuse=True):
        (state.handle, ids) = extract_fixed_feature_ids(self, state, stride)
    with tf.variable_scope(self.name, reuse=True):
        tensors = self.network.create(ids, [], None, None, during_training, stride=stride)
    update_network_states(self, tensors, network_states, stride)
    return state.handle
