class_docstr: Base class to define a dataset collection.
  
  Subclasses should overwrite `info` to return populated DatasetCollectionInfo.
  
  Subclasses should also overwrite `datasets` to return a dictionary of versions
  to the datasets included in that collection's version.
class_docstr_tok: ["Base","class","to","define","a","dataset","collection",".","Subclasses","should","overwrite","`","info","`","to","return","populated","DatasetCollectionInfo",".","Subclasses","should","also","overwrite","`","datasets","`","to","return","a","dictionary","of","versions","to","the","datasets","included","in","that","collection","'s","version","."]
docstr: Returns the datasets included in the collection, ordered by version.
  
  Users will need to overwrite this function when implementing their dataset
  collection.
  
  The returned dictionary needs to contain the dataset collection versions as
  keys, and a dictionary of the included TFDS datasets as values.
  
  For example:
  ```
  @property
  def datasets(self):
  return {
      "1.0.0":
          naming.references_for({
              "yes_no": "yes_no:1.0.0",
              "sst2": "glue/sst:2.0.0",
              "assin2": "assin2:1.0.0",
          }),
      ...
  }
  ```
  
  Note that the above is equivalent to:
  ```
  @property
  def datasets(self):
  return {
      "1.0.0": {
          "yes_no":
              naming.DatasetReference(
                  dataset_name="yes_no", version="1.0.0"),
          "sst2":
              naming.DatasetReference(
                  dataset_name="glue", config="sst2", version="2.0.0"),
          "assin2":
              naming.DatasetReference(
                  dataset_name="assin2", version="1.0.0"),
      },
      ...
  }
  ```
docstr_tok: ["Returns","the","datasets","included","in","the","collection",",","ordered","by","version",".","Users","will","need","to","overwrite","this","function","when","implementing","their","dataset","collection",".","The","returned","dictionary","needs","to","contain","the","dataset","collection","versions","as","keys",",","and","a","dictionary","of","the","included","TFDS","datasets","as","values",".","For","example",":","``","`","@","property","def","datasets","(","self",")",":","return","{","``","1.0.0","''",":","naming.references_for","(","{","``","yes_no","''",":","``","yes_no:1.0.0","''",",","``","sst2","''",":","``","glue\/sst:2.0.0","''",",","``","assin2","''",":","``","assin2:1.0.0","''",",","}",")",",","...","}","``","`","Note","that","the","above","is","equivalent","to",":","``","`","@","property","def","datasets","(","self",")",":","return","{","``","1.0.0","''",":","{","``","yes_no","''",":","naming.DatasetReference","(","dataset_name=","''","yes_no","''",",","version=","''","1.0.0","''",")",",","``","sst2","''",":","naming.DatasetReference","(","dataset_name=","''","glue","''",",","config=","''","sst2","''",",","version=","''","2.0.0","''",")",",","``","assin2","''",":","naming.DatasetReference","(","dataset_name=","''","assin2","''",",","version=","''","1.0.0","''",")",",","}",",","...","}","``","`"]
code: def datasets(
      self,
  ) -> Mapping[str, Mapping[str, naming.DatasetReference]]:
      """Returns the datasets included in the collection, ordered by version.
  
      Users will need to overwrite this function when implementing their dataset
      collection.
  
      The returned dictionary needs to contain the dataset collection versions as
      keys, and a dictionary of the included TFDS datasets as values.
  
      For example:
      ```
      @property
      def datasets(self):
      return {
          "1.0.0":
              naming.references_for({
                  "yes_no": "yes_no:1.0.0",
                  "sst2": "glue/sst:2.0.0",
                  "assin2": "assin2:1.0.0",
              }),
          ...
      }
      ```
  
      Note that the above is equivalent to:
      ```
      @property
      def datasets(self):
      return {
          "1.0.0": {
              "yes_no":
                  naming.DatasetReference(
                      dataset_name="yes_no", version="1.0.0"),
              "sst2":
                  naming.DatasetReference(
                      dataset_name="glue", config="sst2", version="2.0.0"),
              "assin2":
                  naming.DatasetReference(
                      dataset_name="assin2", version="1.0.0"),
          },
          ...
      }
      ```
      """
      raise NotImplementedError
  
imports: import dataclasses
  import inspect
  from typing import Any, List, Mapping, Optional, Type, Union
  from etils import epath
  from tensorflow_datasets.core import naming
  from tensorflow_datasets.core import registered
  from tensorflow_datasets.core.utils import version
label_desc: Use image node_id 2 for calling the DatasetCollection obj's underlying member method code with example usage: obj.datasets() without return types