- 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 deworse_label
. -
1.0.2
: Correspondencia fija entre anotaciones e imágenes. -
1.0.3
: Archivos fijos enMANUAL_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 |
Claves supervisadas (Ver
as_supervised
doc ):None
Figura ( tfds.show_examples ):
- Ejemplos ( tfds.as_dataframe ):
- 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}
}