tensorflow/models · error · ValueError

No class subdirectories found in train_directory: {train_dir

Error message

No class subdirectories found in train_directory: {train_directory}

What it means

Error "No class subdirectories found in train_directory: {train_directory}" thrown in tensorflow/models.

Source

Thrown at official/projects/waste_identification_ml/fine_tuning/Dinov3_image_classifier/datasets.py:226

  Args:
      train_directory: Path to the training directory. Expected to contain
        one subdirectory per class, in PyTorch ImageFolder format.

  Returns:
      A 1D `torch.Tensor` of dtype `float32` and shape `(number_of_classes,)`
      containing the class weight for each class, ordered alphabetically by
      class name.

  Raises:
      ValueError: If `train_directory` contains no class subdirectories or if
        any class subdirectory contains no files.
  """
  class_names = sorted(
      entry.name for entry in train_directory.iterdir() if entry.is_dir()
  )
  if not class_names:
    raise ValueError(
        f"No class subdirectories found in train_directory: {train_directory}"
    )

  class_counts = []
  for class_name in class_names:
    class_path = train_directory / class_name
    number_of_files = sum(
        1 for entry in class_path.iterdir() if entry.is_file()
    )
    if number_of_files == 0:
      raise ValueError(f"Class directory is empty: {class_path}")
    class_counts.append(number_of_files)

  number_of_classes = len(class_counts)
  total_samples = sum(class_counts)
  weights = [
      total_samples / (number_of_classes * count) for count in class_counts
  ]

View on GitHub (pinned to e006f5f0d5)

When it happens

Trigger: Thrown at official/projects/waste_identification_ml/fine_tuning/Dinov3_image_classifier/datasets.py:226 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24). Data as JSON: /api/errors/4832c813987f1423. Report an issue: GitHub.