class_docstr: Class to read several datasets simultaneously.
docstr: Creates dataset readers for tasks and returns what task dataset readers `read()` methods return.
  
  Args:
      tasks: dictionary which keys are task names and values are dictionaries with param name - value pairs for
          nested dataset readers initialization. If task has key-value pair ``'use_task_defaults': False``,
          task_defaults for this task dataset reader will be ignored.
      task_defaults: default task parameters.
  
  Returns:
      dictionary which keys are task names and values are what task readers `read()` methods returned.
docstr_tok: ["Creates","dataset","readers","for","tasks","and","returns","what","task","dataset","readers","`","read","(",")","`","methods","return",".","Args",":","tasks",":","dictionary","which","keys","are","task","names","and","values","are","dictionaries","with","param","name","-","value","pairs","for","nested","dataset","readers","initialization",".","If","task","has","key-value","pair","``","'use_task_defaults","'",":","False","``",",","task_defaults","for","this","task","dataset","reader","will","be","ignored",".","task_defaults",":","default","task","parameters",".","Returns",":","dictionary","which","keys","are","task","names","and","values","are","what","task","readers","`","read","(",")","`","methods","returned","."]
code: def read(
      self,
      tasks: Dict[str, Dict[str, dict]],
      task_defaults: dict = None,
      **kwargs,
  ):
      """Creates dataset readers for tasks and returns what task dataset readers `read()` methods return.
  
      Args:
          tasks: dictionary which keys are task names and values are dictionaries with param name - value pairs for
              nested dataset readers initialization. If task has key-value pair ``'use_task_defaults': False``,
              task_defaults for this task dataset reader will be ignored.
          task_defaults: default task parameters.
  
      Returns:
          dictionary which keys are task names and values are what task readers `read()` methods returned.
      """
      data = dict()
      if task_defaults is None:
          task_defaults = dict()
      for task_name, task_params in tasks.items():
          if task_params.pop("use_task_defaults", True) is True:
              task_config = copy.deepcopy(task_defaults)
              task_config.update(task_params)
          else:
              task_config = task_params
          reader = get_model(task_config.pop("class_name"))()
          data[task_name] = reader.read(**task_config)
      return data
  
file_path: DeepPavlov/deeppavlov/dataset_readers/multitask_reader.py
imports: import copy
  from logging import getLogger
  from typing import Dict
  from deeppavlov.core.common.registry import get_model, register
  from deeppavlov.core.data.dataset_reader import DatasetReader
label_desc: Use image node_id 1 for calling the MultiTaskReader obj's underlying member method code with example usage: obj.read(tasks, task_defaults) and returns: data