class_docstr: Multi choice question finetune model.
  
  :param config: A :py:class:`finetune.config.Settings` object or None (for default config).
docstr: :param questions: List or array of text, shape [batch]
  :param answers: List or array of text, shape [batch, n_answers], must contain the correct answer for each entry.
  :param correct_answer: List or array of correct answers [batch] either in the format of an idx to the correct
          answer or a string of the correct answer.
  :param batch_size: integer number of examples per batch. When N_GPUS > 1, this number
                     corresponds to the number of training examples provided to each GPU.
docstr_tok: [":","param","questions",":","List","or","array","of","text",",","shape","[","batch","]",":","param","answers",":","List","or","array","of","text",",","shape","[","batch",",","n_answers","]",",","must","contain","the","correct","answer","for","each","entry",".",":","param","correct_answer",":","List","or","array","of","correct","answers","[","batch","]","either","in","the","format","of","an","idx","to","the","correct","answer","or","a","string","of","the","correct","answer",".",":","param","batch_size",":","integer","number","of","examples","per","batch",".","When","N_GPUS",">","1",",","this","number","corresponds","to","the","number","of","training","examples","provided","to","each","GPU","."]
code: def finetune(
      self,
      questions,
      answers,
      correct_answer,
      fit_lm_only=False,
      context=None,
      **kwargs,
  ):
      """
      :param questions: List or array of text, shape [batch]
      :param answers: List or array of text, shape [batch, n_answers], must contain the correct answer for each entry.
      :param correct_answer: List or array of correct answers [batch] either in the format of an idx to the correct
              answer or a string of the correct answer.
      :param batch_size: integer number of examples per batch. When N_GPUS > 1, this number
                         corresponds to the number of training examples provided to each GPU.
      """
      answer_idx = []
      if not len(correct_answer) == len(answers) == len(questions):
          raise ValueError(
              "Answers, questions and corrext_answer are not all the same length, {},{},{}".format(
                  len(questions), len(correct_answer), len(answers)
              )
          )
  
      for correct, others in zip(correct_answer, answers):
          if isinstance(correct, int):
              if 0 > correct > len(others):
                  raise ValueError(
                      "Correct answer is of type int but is invalid with value {} for answers of len {}".format(
                          correct, len(others)
                      )
                  )
              answer_idx.append(correct)
          else:
              try:
                  ans_idx = others.index(correct)
                  answer_idx.append(ans_idx)
              except ValueError:
                  raise ValueError(
                      "Correct answer {} is not contained in possible answers {}".format(
                          correct, others
                      )
                  )
  
      labels = None if fit_lm_only else answer_idx
      self.input_pipeline.target_dim_ = len(answers[0])
      return super().finetune(
          list(zip(questions, answers)),
          Y=labels,
          context=context,
          **kwargs,
      )
  
imports: import numpy
  from finetune.base import BaseModel
  from finetune.input_pipeline import BasePipeline
  from finetune.encoding.input_encoder import EncodedOutput
  from finetune.encoding.target_encoders import IDEncoder
  import tensorflow
  from finetune.nn.target_blocks import multi_choice_question
  from finetune.util import list_transpose
  from finetune.encoding.input_encoder import tokenize_context
  from finetune.model import PredictMode
label_desc: Use image node_id 3 for calling the MultipleChoice obj's underlying member method code with example usage: obj.finetune(questions, answers, correct_answer, fit_lm_only, context) and returns: super