cifrar10_n

  • Descripción :

Una versión reetiquetada de CIFAR-10 con errores de anotación humanos reales. Para cada par (imagen, etiqueta) en el conjunto de trenes CIFAR-10 original, proporciona varias etiquetas adicionales proporcionadas por anotadores humanos reales.

  • Página de inicio: https://ucsc-real.soe.ucsc.edu:1995/Home.html/

  • Código fuente : tfds.image_classification.cifar10_n.Cifar10N

  • Versiones :

    • 1.0.0 : Versión inicial.
    • 1.0.1 : error tipográfico corregido en la clave de worse_label .
    • 1.0.2 : Correspondencia fija entre anotaciones e imágenes.
    • 1.0.3 : Archivos fijos en MANUAL_DIR .
    • 1.0.4 (predeterminado): carga fija de información lateral.
  • Tamaño de la descarga : 162.17 MiB

  • Tamaño del conjunto de datos : 147.91 MiB

  • Instrucciones de descarga manual : este conjunto de datos requiere que descargue los datos de origen manualmente en download_config.manual_dir (el valor predeterminado es ~/tensorflow_datasets/downloads/manual/ ):
    Descargue 'side_info_cifar10N.csv', 'CIFAR-10_human_ordered.npy' y 'image_order_c10.npy' desde https://github.com/UCSC-REAL/cifar-10-100n

Luego convierta 'CIFAR-10_human_ordered.npy' en un archivo CSV 'CIFAR-10_human_annotations.csv'. Esto se puede hacer con el siguiente código:

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-10_human_ordered.npy'
human_labels_csv_path = '<local_path>/CIFAR-10_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)
  • Almacenamiento automático en caché ( documentación ): Sí

  • Divisiones :

Separar Ejemplos
'test' 10,000
'train' 50,000
  • Estructura de características :
FeaturesDict({
    'aggre_label': ClassLabel(shape=(), dtype=int64, num_classes=10),
    'id': Text(shape=(), dtype=string),
    'image': Image(shape=(32, 32, 3), dtype=uint8),
    'label': ClassLabel(shape=(), dtype=int64, num_classes=10),
    'random_label1': ClassLabel(shape=(), dtype=int64, num_classes=10),
    'random_label2': ClassLabel(shape=(), dtype=int64, num_classes=10),
    'random_label3': ClassLabel(shape=(), dtype=int64, num_classes=10),
    'worker1_id': int64,
    'worker1_time': float32,
    'worker2_id': int64,
    'worker2_time': float32,
    'worker3_id': int64,
    'worker3_time': float32,
    'worse_label': ClassLabel(shape=(), dtype=int64, num_classes=10),
})
  • Documentación de características :
Rasgo Clase Forma Tipo D Descripción
CaracterísticasDict
etiqueta_agregada Etiqueta de clase int64
identificación Texto cuerda
imagen Imagen (32, 32, 3) uint8
etiqueta Etiqueta de clase int64
etiqueta_aleatoria1 Etiqueta de clase int64
etiqueta_aleatoria2 Etiqueta de clase int64
etiqueta_aleatoria3 Etiqueta de clase int64
trabajador1_id Tensor int64
trabajador1_tiempo Tensor flotar32
trabajador2_id Tensor int64
trabajador2_tiempo Tensor flotar32
trabajador3_id Tensor int64
trabajador3_tiempo Tensor flotar32
peor_etiqueta Etiqueta de clase int64

Visualización

  • Cita :
@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}
}