class_docstr: Shape/Texture conflict .
class_docstr_tok: ["Shape\/Texture","conflict","."]
docstr: Define dataset info.
docstr_tok: ["Define","dataset","info","."]
code: def _info(self):
      """Define dataset info."""
  
      imagenet_names_file = imagenet_common.label_names_file()
      return tfds.core.DatasetInfo(
          builder=self,
          description=(_DESCRIPTION),
          features=tfds.features.FeaturesDict(
              {
                  "image": tfds.features.Image(),
                  "shape_label": tfds.features.ClassLabel(
                      names=_CLASSES
                  ),
                  "shape_imagenet_labels": tfds.features.Sequence(
                      tfds.features.ClassLabel(
                          names_file=imagenet_names_file
                      )
                  ),
                  "texture_label": tfds.features.ClassLabel(
                      names=_CLASSES
                  ),
                  "texture_imagenet_labels": tfds.features.Sequence(
                      tfds.features.ClassLabel(
                          names_file=imagenet_names_file
                      )
                  ),
                  "file_name": tfds.features.Text(),
              }
          ),
          supervised_keys=("image", "shape_label"),
          homepage=_BASE_URL,
          citation=_CITATION,
      )
  
file_path: datasets/tensorflow_datasets/image_classification/geirhos_conflict_stimuli.py
imports: import os
  import re
  from etils import epath
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
  from tensorflow_datasets.datasets.imagenet2012 import imagenet_common
  import tensorflow_datasets.public_api
label_desc: Use image node_id 1 for calling the GeirhosConflictStimuli obj's underlying member method code with example usage: obj._info() and returns: tfds