class_docstr: T5: the Text-To-Text Transfer Transformer
  
  T5 reconsiders all NLP tasks into a unified text-to-text-format where the
  input and output are always text strings, in contrast to BERT-style models
  that can only output either a class label or a span of the input. The
  text-to-text framework is able to use the same model, loss function, and
  hyper-parameters on any NLP task, including machine translation, document
  summarization, question answering, and classification tasks (e.g., sentiment
  analysis). T5 can even apply to regression tasks by training it to predict
  the string representation of a number instead of the number itself.
  
  Pretrained models can be loaded with :meth:`.pretrained` of the companion
  object:
  
  >>> t5 = T5Transformer.pretrained() \
  ...     .setTask("summarize:") \
  ...     .setInputCols(["document"]) \
  ...     .setOutputCol("summaries")
  
  
  The default model is ``"t5_small"``, if no name is provided. For available
  pretrained models please see the `Models Hub
  <https://sparknlp.org/models?q=t5>`__.
  
  For extended examples of usage, see the `Examples
  <https://github.com/JohnSnowLabs/spark-nlp/blob/master/examples/python/annotation/text/english/question-answering/Question_Answering_and_Summarization_with_T5.ipynb>`__.
  
  ====================== ======================
  Input Annotation types Output Annotation type
  ====================== ======================
  ``DOCUMENT``           ``DOCUMENT``
  ====================== ======================
  
  Parameters
  ----------
  configProtoBytes
      ConfigProto from tensorflow, serialized into byte array.
  task
      Transformer's task, e.g. ``summarize:``
  minOutputLength
      Minimum length of the sequence to be generated
  maxOutputLength
      Maximum length of output text
  doSample
      Whether or not to use sampling; use greedy decoding otherwise
  temperature
      The value used to module the next token probabilities
  topK
      The number of highest probability vocabulary tokens to keep for
      top-k-filtering
  topP
      Top cumulative probability for vocabulary tokens
  
      If set to float < 1, only the most probable tokens with probabilities
      that add up to ``topP`` or higher are kept for generation.
  repetitionPenalty
      The parameter for repetition penalty. 1.0 means no penalty.
  noRepeatNgramSize
      If set to int > 0, all ngrams of that size can only occur once
  ignoreTokenIds
     A list of token ids which are ignored in the decoder's output
  
  Notes
  -----
  This is a very computationally expensive module especially on larger
  sequence. The use of an accelerator such as GPU is recommended.
  
  References
  ----------
  - `Exploring Transfer Learning with T5: the Text-To-Text Transfer
    Transformer
    <https://ai.googleblog.com/2020/02/exploring-transfer-learning-with-t5.html>`__
  - `Exploring the Limits of Transfer Learning with a Unified Text-to-Text
    Transformer <https://arxiv.org/abs/1910.10683>`__
  - https://github.com/google-research/text-to-text-transfer-transformer
  
  **Paper Abstract:**
  
  *Transfer learning, where a model is first pre-trained on a data-rich task
  before being fine-tuned on a downstream task, has emerged as a powerful
  technique in natural language processing (NLP). The effectiveness of
  transfer learning has given rise to a diversity of approaches, methodology,
  and practice. In this paper, we explore the landscape of transfer learning
  techniques for NLP by introducing a unified framework that converts all
  text-based language problems into a text-to-text format. Our systematic
  study compares pre-training objectives, architectures, unlabeled data sets,
  transfer approaches, and other factors on dozens of language understanding
  tasks. By combining the insights from our exploration with scale and our new
  Colossal Clean Crawled Corpus, we achieve state-of-the-art results on many
  benchmarks covering summarization, question answering, text classification,
  and more. To facilitate future work on transfer learning for NLP, we release
  our data set, pre-trained models, and code.*
  
  Examples
  --------
  >>> import sparknlp
  >>> from sparknlp.base import *
  >>> from sparknlp.annotator import *
  >>> from pyspark.ml import Pipeline
  >>> documentAssembler = DocumentAssembler() \
  ...     .setInputCol("text") \
  ...     .setOutputCol("documents")
  >>> t5 = T5Transformer.pretrained("t5_small") \
  ...     .setTask("summarize:") \
  ...     .setInputCols(["documents"]) \
  ...     .setMaxOutputLength(200) \
  ...     .setOutputCol("summaries")
  >>> pipeline = Pipeline().setStages([documentAssembler, t5])
  >>> data = spark.createDataFrame([[
  ...     "Transfer learning, where a model is first pre-trained on a data-rich task before being fine-tuned on a " +
  ...     "downstream task, has emerged as a powerful technique in natural language processing (NLP). The effectiveness" +
  ...     " of transfer learning has given rise to a diversity of approaches, methodology, and practice. In this " +
  ...     "paper, we explore the landscape of transfer learning techniques for NLP by introducing a unified framework " +
  ...     "that converts all text-based language problems into a text-to-text format. Our systematic study compares " +
  ...     "pre-training objectives, architectures, unlabeled data sets, transfer approaches, and other factors on dozens " +
  ...     "of language understanding tasks. By combining the insights from our exploration with scale and our new " +
  ...     "Colossal Clean Crawled Corpus, we achieve state-of-the-art results on many benchmarks covering " +
  ...     "summarization, question answering, text classification, and more. To facilitate future work on transfer " +
  ...     "learning for NLP, we release our data set, pre-trained models, and code."
  ... ]]).toDF("text")
  >>> result = pipeline.fit(data).transform(data)
  >>> result.select("summaries.result").show(truncate=False)
  +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  |result                                                                                                                                                                                                        |
  +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  |[transfer learning has emerged as a powerful technique in natural language processing (NLP) the effectiveness of transfer learning has given rise to a diversity of approaches, methodologies, and practice .]|
  --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
docstr: Sets maximum length of output text.
  
  Parameters
  ----------
  value : int
      Maximum length of output text
docstr_tok: ["Sets","maximum","length","of","output","text",".","Parameters","--","--","--","--","--","value",":","int","Maximum","length","of","output","text"]
code: def setMaxOutputLength(self, value):
      """Sets maximum length of output text.
  
      Parameters
      ----------
      value : int
          Maximum length of output text
      """
      return self._set(maxOutputLength=value)
  
imports: from sparknlp.common import *
label_desc: Use image node_id 5 for calling the T5Transformer obj's underlying member method code with example usage: obj.setMaxOutputLength(value) and returns: self