- Descrizione :
Una versione rietichettata di CIFAR-10 con veri errori di annotazione umana. Per ogni coppia (immagine, etichetta) nel treno CIFAR-10 originale, fornisce diverse etichette aggiuntive fornite da veri annotatori umani.
Pagina iniziale : https://ucsc-real.soe.ucsc.edu:1995/Home.html/
Codice sorgente :
tfds.image_classification.cifar10_n.Cifar10N
Versioni :
-
1.0.0
: Versione iniziale. -
1.0.1
: Risolto errore di battitura nella chiaveworse_label
. -
1.0.2
: Corretta corrispondenza tra annotazioni e immagini. -
1.0.3
: Correzione dei file inMANUAL_DIR
. -
1.0.4
(predefinito): Corretto il caricamento delle informazioni laterali.
-
Dimensione del download :
162.17 MiB
Dimensione del set di dati:
147.91 MiB
Istruzioni per il download manuale : questo set di dati richiede di scaricare manualmente i dati di origine in
download_config.manual_dir
(il valore predefinito~/tensorflow_datasets/downloads/manual/
):
Scarica 'side_info_cifar10N.csv', 'CIFAR-10_human_ordered.npy' e 'image_order_c10.npy' da https://github.com/UCSC-REAL/cifar-10-100n
Quindi converti "CIFAR-10_human_ordered.npy" in un file CSV "CIFAR-10_human_annotations.csv". Questo può essere fatto con il seguente codice:
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)
Auto-cache ( documentazione ): Sì
Divisioni :
Diviso | Esempi |
---|---|
'test' | 10.000 |
'train' | 50.000 |
- Struttura delle caratteristiche :
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),
})
- Documentazione delle funzionalità :
Caratteristica | Classe | Forma | Tipo D | Descrizione |
---|---|---|---|---|
CaratteristicheDict | ||||
aggre_label | ClassLabel | int64 | ||
id | Testo | corda | ||
Immagine | Immagine | (32, 32, 3) | uint8 | |
etichetta | ClassLabel | int64 | ||
etichetta_casuale1 | ClassLabel | int64 | ||
etichetta_casuale2 | ClassLabel | int64 | ||
etichetta_casuale3 | ClassLabel | int64 | ||
lavoratore1_id | Tensore | int64 | ||
lavoratore1_ora | Tensore | galleggiante32 | ||
lavoratore2_id | Tensore | int64 | ||
lavoratore2_ora | Tensore | galleggiante32 | ||
lavoratore3_id | Tensore | int64 | ||
lavoratore3_ora | Tensore | galleggiante32 | ||
etichetta_peggiore | ClassLabel | int64 |
Chiavi supervisionate (Vedi
as_supervised
doc ):None
Figura ( tfds.show_examples ):
- Esempi ( tfds.as_dataframe ):
- Citazione :
@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}
}