class_docstr: A class that determines with what proportion each dataset should be sampled for a given epoch.
  This is used by the `MultiTaskDataLoader`.  The main output of this class is the task proportion
  dictionary returned by `get_task_proportions`, which specifies what percentage of the instances
  for the current epoch should come from each dataset.  To control this behavior as training
  progresses, there is an `update_from_epoch_metrics` method, which should be called from a
  `Callback` during training.
class_docstr_tok: ["A","class","that","determines","with","what","proportion","each","dataset","should","be","sampled","for","a","given","epoch",".","This","is","used","by","the","`","MultiTaskDataLoader","`",".","The","main","output","of","this","class","is","the","task","proportion","dictionary","returned","by","`","get_task_proportions","`",",","which","specifies","what","percentage","of","the","instances","for","the","current","epoch","should","come","from","each","dataset",".","To","control","this","behavior","as","training","progresses",",","there","is","an","`","update_from_epoch_metrics","`","method",",","which","should","be","called","from","a","`","Callback","`","during","training","."]
docstr: Given a dictionary of `DataLoaders` for each dataset, returns what percentage of the
  instances for the current epoch of training should come from each dataset.  The input
  dictionary could be used to determine how many datasets there are (e.g., for uniform
  sampling) or how big each dataset is (e.g., for sampling based on size), or it could be
  ignored entirely.
docstr_tok: ["Given","a","dictionary","of","`","DataLoaders","`","for","each","dataset",",","returns","what","percentage","of","the","instances","for","the","current","epoch","of","training","should","come","from","each","dataset",".","The","input","dictionary","could","be","used","to","determine","how","many","datasets","there","are","(","e.g.",",","for","uniform","sampling",")","or","how","big","each","dataset","is","(","e.g.",",","for","sampling","based","on","size",")",",","or","it","could","be","ignored","entirely","."]
code: def get_task_proportions(
      self, data_loaders: Mapping[str, DataLoader]
  ) -> Dict[str, float]:
      """
      Given a dictionary of `DataLoaders` for each dataset, returns what percentage of the
      instances for the current epoch of training should come from each dataset.  The input
      dictionary could be used to determine how many datasets there are (e.g., for uniform
      sampling) or how big each dataset is (e.g., for sampling based on size), or it could be
      ignored entirely.
      """
      raise NotImplementedError
  
file_path: allennlp/allennlp/data/data_loaders/multitask_epoch_sampler.py
imports: from typing import Any, Dict, Mapping
  from allennlp.common.registrable import Registrable
  from allennlp.data.data_loaders.data_loader import DataLoader
label_desc: Use image node_id 1 for calling the MultiTaskEpochSampler obj's underlying member method code with example usage: obj.get_task_proportions(data_loaders) without return types