cifar100_n

  • Descriptif :

Une version réétiquetée de CIFAR-100 avec de vraies erreurs d'annotation humaine. Pour chaque paire (image, étiquette) du train original CIFAR-100, il fournit une étiquette supplémentaire donnée par un véritable annotateur humain.

  • Page d' accueil : https://www.cs.toronto.edu/~kriz/cifar.html

  • Code source : tfds.image_classification.cifar100_n.Cifar100N

  • Versions :

    • 1.0.0 : Version initiale.
    • 1.0.1 (par défaut) : Correspondance fixe entre les annotations et les images.
  • Taille du téléchargement : 160.71 MiB

  • Taille du jeu de données : 136.07 MiB

  • Instructions de téléchargement manuel : cet ensemble de données nécessite que vous téléchargiez manuellement les données sources dans download_config.manual_dir (par défaut ~/tensorflow_datasets/downloads/manual/ ) :
    Téléchargez 'side_info_cifar100N.csv', 'CIFAR-100_human_ordered.npy' et 'image_order_c100.npy' depuis https://github.com/UCSC-REAL/cifar-10-100n

Convertissez ensuite 'CIFAR-100_human_ordered.npy' en un fichier CSV 'CIFAR-100_human_annotations.csv'. Cela peut être fait avec le code suivant :

import numpy as np
from tensorflow_datasets.core.utils.lazy_imports_utils import pandas as pd
from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow as tf

human_labels_np_path = '<local_path>/CIFAR-100_human_ordered.npy'
human_labels_csv_path = '<local_path>/CIFAR-100_human_annotations.csv'

with tf.io.gfile.GFile(human_labels_np_path, "rb") as f:
  human_annotations = np.load(f, allow_pickle=True)

df = pd.DataFrame(human_annotations[()])

with tf.io.gfile.GFile(human_labels_csv_path, "w") as f:
  df.to_csv(f, index=False)
  • Mise en cache automatique ( documentation ): Oui

  • Fractionnements :

Diviser Exemples
'test' 10 000
'train' 50 000
  • Structure des fonctionnalités :
FeaturesDict({
    'coarse_label': ClassLabel(shape=(), dtype=int64, num_classes=20),
    'id': Text(shape=(), dtype=string),
    'image': Image(shape=(32, 32, 3), dtype=uint8),
    'label': ClassLabel(shape=(), dtype=int64, num_classes=100),
    'noise_label': ClassLabel(shape=(), dtype=int64, num_classes=100),
    'worker_id': int64,
    'worker_time': float32,
})
  • Documentation des fonctionnalités :
Caractéristique Classer Forme Dtype La description
FonctionnalitésDict
étiquette_grossière Étiquette de classe int64
identifiant Texte chaîne de caractères
image Image (32, 32, 3) uint8
étiquette Étiquette de classe int64
noise_label Étiquette de classe int64
worker_id Tenseur int64
temps_travailleur Tenseur float32

Visualisation

  • Citation :
@inproceedings{wei2022learning,
  title={Learning with Noisy Labels Revisited: A Study Using Real-World Human
  Annotations},
  author={Jiaheng Wei and Zhaowei Zhu and Hao Cheng and Tongliang Liu and Gang
  Niu and Yang Liu},
  booktitle={International Conference on Learning Representations},
  year={2022},
  url={https://openreview.net/forum?id=TBWA6PLJZQm}
}