class_docstr: Evaluates how well a perturbed attacked_text object is achieving a
  specified goal.
  
  Args:
      model_wrapper (:class:`~textattack.models.wrappers.ModelWrapper`):
          The victim model to attack.
      maximizable(:obj:`bool`, `optional`, defaults to :obj:`False`):
          Whether the goal function is maximizable, as opposed to a boolean result of success or failure.
      query_budget (:obj:`float`, `optional`, defaults to :obj:`float("in")`):
          The maximum number of model queries allowed.
      model_cache_size (:obj:`int`, `optional`, defaults to :obj:`2**20`):
          The maximum number of items to keep in the model results cache at once.
class_docstr_tok: ["Evaluates","how","well","a","perturbed","attacked_text","object","is","achieving","a","specified","goal",".","Args",":","model_wrapper","(",":","class",":","`","~textattack.models.wrappers.ModelWrapper","`",")",":","The","victim","model","to","attack",".","maximizable","(",":","obj",":","`","bool","`",",","`","optional","`",",","defaults","to",":","obj",":","`","False","`",")",":","Whether","the","goal","function","is","maximizable",",","as","opposed","to","a","boolean","result","of","success","or","failure",".","query_budget","(",":","obj",":","`","float","`",",","`","optional","`",",","defaults","to",":","obj",":","`","float","(","``","in","''",")","`",")",":","The","maximum","number","of","model","queries","allowed",".","model_cache_size","(",":","obj",":","`","int","`",",","`","optional","`",",","defaults","to",":","obj",":","`","2","*","*","20","`",")",":","The","maximum","number","of","items","to","keep","in","the","model","results","cache","at","once","."]
docstr: For each attacked_text object in attacked_text_list, returns a
  result consisting of whether or not the goal has been achieved, the
  output for display purposes, and a score.
  
  Additionally returns whether the search is over due to the query
  budget.
docstr_tok: ["For","each","attacked_text","object","in","attacked_text_list",",","returns","a","result","consisting","of","whether","or","not","the","goal","has","been","achieved",",","the","output","for","display","purposes",",","and","a","score",".","Additionally","returns","whether","the","search","is","over","due","to","the","query","budget","."]
code: def get_results(self, attacked_text_list, check_skip=False):
      """For each attacked_text object in attacked_text_list, returns a
      result consisting of whether or not the goal has been achieved, the
      output for display purposes, and a score.
  
      Additionally returns whether the search is over due to the query
      budget.
      """
      results = []
      if self.query_budget < float("inf"):
          queries_left = self.query_budget - self.num_queries
          attacked_text_list = attacked_text_list[:queries_left]
      self.num_queries += len(attacked_text_list)
      model_outputs = self._call_model(attacked_text_list)
      for attacked_text, raw_output in zip(
          attacked_text_list, model_outputs
      ):
          displayed_output = self._get_displayed_output(raw_output)
          goal_status = self._get_goal_status(
              raw_output, attacked_text, check_skip=check_skip
          )
          goal_function_score = self._get_score(
              raw_output, attacked_text
          )
          results.append(
              self._goal_function_result_type()(
                  attacked_text,
                  raw_output,
                  displayed_output,
                  goal_status,
                  goal_function_score,
                  self.num_queries,
                  self.ground_truth_output,
              )
          )
      return results, self.num_queries == self.query_budget
  
imports: from abc import ABC, abstractmethod
  import lru
  import numpy
  import torch
  from textattack.goal_function_results.goal_function_result import GoalFunctionResultStatus
  from textattack.shared import validators
  from textattack.shared.utils import ReprMixin
label_desc: Use image node_id 6 for calling the GoalFunction obj's underlying member method code with example usage: obj.get_results(attacked_text_list, check_skip) and returns: results,  unknown