{"record":{"id":"4832c813987f1423","repo":"tensorflow/models","slug":"no-class-subdirectories-found-in-train-directory","errorCode":null,"errorMessage":"No class subdirectories found in train_directory: {train_directory}","messagePattern":"No class subdirectories found in train_directory: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/waste_identification_ml/fine_tuning/Dinov3_image_classifier/datasets.py","lineNumber":226,"sourceCode":"\n  Args:\n      train_directory: Path to the training directory. Expected to contain\n        one subdirectory per class, in PyTorch ImageFolder format.\n\n  Returns:\n      A 1D `torch.Tensor` of dtype `float32` and shape `(number_of_classes,)`\n      containing the class weight for each class, ordered alphabetically by\n      class name.\n\n  Raises:\n      ValueError: If `train_directory` contains no class subdirectories or if\n        any class subdirectory contains no files.\n  \"\"\"\n  class_names = sorted(\n      entry.name for entry in train_directory.iterdir() if entry.is_dir()\n  )\n  if not class_names:\n    raise ValueError(\n        f\"No class subdirectories found in train_directory: {train_directory}\"\n    )\n\n  class_counts = []\n  for class_name in class_names:\n    class_path = train_directory / class_name\n    number_of_files = sum(\n        1 for entry in class_path.iterdir() if entry.is_file()\n    )\n    if number_of_files == 0:\n      raise ValueError(f\"Class directory is empty: {class_path}\")\n    class_counts.append(number_of_files)\n\n  number_of_classes = len(class_counts)\n  total_samples = sum(class_counts)\n  weights = [\n      total_samples / (number_of_classes * count) for count in class_counts\n  ]","sourceCodeStart":208,"sourceCodeEnd":244,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/waste_identification_ml/fine_tuning/Dinov3_image_classifier/datasets.py#L208-L244","documentation":"Error \"No class subdirectories found in train_directory: {train_directory}\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/waste_identification_ml/fine_tuning/Dinov3_image_classifier/datasets.py:226 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}