class_docstr: The ``SummarizationData`` class is a :class:`~flash.core.data.data_module.DataModule` with a set of classmethods
  for loading data for text summarization.
docstr: Load the :class:`~flash.text.seq2seq.summarization.data.SummarizationData` from lists of input text snippets
  and corresponding lists of target text snippets.
  
  To learn how to customize the transforms applied for each stage, read our
  :ref:`customizing transforms guide <customizing_transforms>`.
  
  Args:
      train_data: The list of input text snippets to use when training.
      train_targets: The list of target text snippets to use when training.
      val_data: The list of input text snippets to use when validating.
      val_targets: The list of target text snippets to use when validating.
      test_data: The list of input text snippets to use when testing.
      test_targets: The list of target text snippets to use when testing.
      predict_data: The list of input text snippets to use when predicting.
      input_cls: The :class:`~flash.core.data.io.input.Input` type to use for loading the data.
      transform: The :class:`~flash.core.data.io.input_transform.InputTransform` type to use.
      transform_kwargs: Dict of keyword arguments to be provided when instantiating the transforms.
      data_module_kwargs: Additional keyword arguments to provide to the
          :class:`~flash.core.data.data_module.DataModule` constructor.
  
  Returns:
      The constructed :class:`~flash.text.seq2seq.summarization.data.SummarizationData`.
  
  Examples
  ________
  
  .. doctest::
  
      >>> from flash import Trainer
      >>> from flash.text import SummarizationTask, SummarizationData
      >>> datamodule = SummarizationData.from_lists(
      ...     train_data=["A long paragraph", "A news article"],
      ...     train_targets=["A short paragraph", "A news headline"],
      ...     predict_data=["A movie review", "A book chapter"],
      ...     batch_size=2,
      ... )  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
      >>> model = SummarizationTask(backbone="JulesBelveze/t5-small-headline-generator")
      >>> trainer = Trainer(fast_dev_run=True)
      >>> trainer.fit(model, datamodule=datamodule)  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
      Training...
      >>> trainer.predict(model, datamodule=datamodule)  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
      Predicting...
docstr_tok: ["Load","the",":","class",":","`","~flash.text.seq2seq.summarization.data.SummarizationData","`","from","lists","of","input","text","snippets","and","corresponding","lists","of","target","text","snippets",".","To","learn","how","to","customize","the","transforms","applied","for","each","stage",",","read","our",":","ref",":","`","customizing","transforms","guide","<","customizing_transforms",">","`",".","Args",":","train_data",":","The","list","of","input","text","snippets","to","use","when","training",".","train_targets",":","The","list","of","target","text","snippets","to","use","when","training",".","val_data",":","The","list","of","input","text","snippets","to","use","when","validating",".","val_targets",":","The","list","of","target","text","snippets","to","use","when","validating",".","test_data",":","The","list","of","input","text","snippets","to","use","when","testing",".","test_targets",":","The","list","of","target","text","snippets","to","use","when","testing",".","predict_data",":","The","list","of","input","text","snippets","to","use","when","predicting",".","input_cls",":","The",":","class",":","`","~flash.core.data.io.input.Input","`","type","to","use","for","loading","the","data",".","transform",":","The",":","class",":","`","~flash.core.data.io.input_transform.InputTransform","`","type","to","use",".","transform_kwargs",":","Dict","of","keyword","arguments","to","be","provided","when","instantiating","the","transforms",".","data_module_kwargs",":","Additional","keyword","arguments","to","provide","to","the",":","class",":","`","~flash.core.data.data_module.DataModule","`","constructor",".","Returns",":","The","constructed",":","class",":","`","~flash.text.seq2seq.summarization.data.SummarizationData","`",".","Examples","________","..","doctest",":",":",">",">",">","from","flash","import","Trainer",">",">",">","from","flash.text","import","SummarizationTask",",","SummarizationData",">",">",">","datamodule","=","SummarizationData.from_lists","(","...","train_data=","[","``","A","long","paragraph","''",",","``","A","news","article","''","]",",","...","train_targets=","[","``","A","short","paragraph","''",",","``","A","news","headline","''","]",",","...","predict_data=","[","``","A","movie","review","''",",","``","A","book","chapter","''","]",",","...","batch_size=2",",","...",")","#","doctest",":","+ELLIPSIS","+NORMALIZE_WHITESPACE",">",">",">","model","=","SummarizationTask","(","backbone=","''","JulesBelveze\/t5-small-headline-generator","''",")",">",">",">","trainer","=","Trainer","(","fast_dev_run=True",")",">",">",">","trainer.fit","(","model",",","datamodule=datamodule",")","#","doctest",":","+ELLIPSIS","+NORMALIZE_WHITESPACE","Training","...",">",">",">","trainer.predict","(","model",",","datamodule=datamodule",")","#","doctest",":","+ELLIPSIS","+NORMALIZE_WHITESPACE","Predicting","..."]
code: def from_lists(
      cls,
      train_data: Optional[List[str]] = None,
      train_targets: Optional[List[str]] = None,
      val_data: Optional[List[str]] = None,
      val_targets: Optional[List[str]] = None,
      test_data: Optional[List[str]] = None,
      test_targets: Optional[List[str]] = None,
      predict_data: Optional[List[str]] = None,
      input_cls: Type[Input] = Seq2SeqListInput,
      transform: INPUT_TRANSFORM_TYPE = InputTransform,
      transform_kwargs: Optional[Dict] = None,
      **data_module_kwargs: Any,
  ) -> "SummarizationData":
      """Load the :class:`~flash.text.seq2seq.summarization.data.SummarizationData` from lists of input text snippets
      and corresponding lists of target text snippets.
  
      To learn how to customize the transforms applied for each stage, read our
      :ref:`customizing transforms guide <customizing_transforms>`.
  
      Args:
          train_data: The list of input text snippets to use when training.
          train_targets: The list of target text snippets to use when training.
          val_data: The list of input text snippets to use when validating.
          val_targets: The list of target text snippets to use when validating.
          test_data: The list of input text snippets to use when testing.
          test_targets: The list of target text snippets to use when testing.
          predict_data: The list of input text snippets to use when predicting.
          input_cls: The :class:`~flash.core.data.io.input.Input` type to use for loading the data.
          transform: The :class:`~flash.core.data.io.input_transform.InputTransform` type to use.
          transform_kwargs: Dict of keyword arguments to be provided when instantiating the transforms.
          data_module_kwargs: Additional keyword arguments to provide to the
              :class:`~flash.core.data.data_module.DataModule` constructor.
  
      Returns:
          The constructed :class:`~flash.text.seq2seq.summarization.data.SummarizationData`.
  
      Examples
      ________
  
      .. doctest::
  
          >>> from flash import Trainer
          >>> from flash.text import SummarizationTask, SummarizationData
          >>> datamodule = SummarizationData.from_lists(
          ...     train_data=["A long paragraph", "A news article"],
          ...     train_targets=["A short paragraph", "A news headline"],
          ...     predict_data=["A movie review", "A book chapter"],
          ...     batch_size=2,
          ... )  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
          >>> model = SummarizationTask(backbone="JulesBelveze/t5-small-headline-generator")
          >>> trainer = Trainer(fast_dev_run=True)
          >>> trainer.fit(model, datamodule=datamodule)  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
          Training...
          >>> trainer.predict(model, datamodule=datamodule)  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
          Predicting...
  
      """
  
      ds_kw = {}
  
      return cls(
          input_cls(
              RunningStage.TRAINING, train_data, train_targets, **ds_kw
          ),
          input_cls(
              RunningStage.VALIDATING, val_data, val_targets, **ds_kw
          ),
          input_cls(
              RunningStage.TESTING, test_data, test_targets, **ds_kw
          ),
          input_cls(RunningStage.PREDICTING, predict_data, **ds_kw),
          transform=transform,
          transform_kwargs=transform_kwargs,
          **data_module_kwargs,
      )
  
file_path: lightning-flash/src/flash/text/seq2seq/summarization/data.py
imports: import os
  from typing import Any, Dict, List, Optional, Type
  from flash.core.data.data_module import DataModule
  from flash.core.data.io.input import Input
  from flash.core.data.io.input_transform import InputTransform
  from flash.core.data.utilities.paths import PATH_TYPE
  from flash.core.utilities.imports import _TOPIC_TEXT_AVAILABLE
  from flash.core.utilities.stages import RunningStage
  from flash.core.utilities.types import INPUT_TRANSFORM_TYPE
  from flash.text.seq2seq.core.input import Seq2SeqCSVInput, Seq2SeqInputBase, Seq2SeqJSONInput, Seq2SeqListInput
label_desc: Use image node_id 4 for calling the SummarizationData obj's underlying member method code with example usage: obj.from_lists(cls, train_data, train_targets, val_data, val_targets, test_data, test_targets, predict_data, input_cls, transform, transform_kwargs) and returns: cls