cifar10_n

  • 설명 :

실제 사람의 주석 오류가 있는 CIFAR-10의 레이블이 다시 지정된 버전입니다. 원본 CIFAR-10 트레인 세트의 모든 쌍(이미지, 레이블)에 대해 실제 인간 주석자가 제공한 몇 가지 추가 레이블을 제공합니다.

  • 홈페이지 : https://ucsc-real.soe.ucsc.edu:1995/Home.html/

  • 소스 코드 : tfds.image_classification.cifar10_n.Cifar10N

  • 버전 :

    • 1.0.0 : 최초 릴리스.
    • 1.0.1 : worse_label 키의 오타가 수정되었습니다.
    • 1.0.2 : 주석과 이미지 간의 고정 대응.
    • 1.0.3 : MANUAL_DIR 파일 수정.
    • 1.0.4 (기본값): 사이드 정보 로딩을 수정했습니다.
  • 다운로드 크기 : 162.17 MiB

  • 데이터 세트 크기 : 147.91 MiB

  • 수동 다운로드 지침 : 이 데이터 세트는 원본 데이터를 download_config.manual_dir에 수동으로 download_config.manual_dir 해야 합니다(기본값은 ~/tensorflow_datasets/downloads/manual/ ).
    https://github.com/UCSC-REAL/cifar-10-100n 에서 'side_info_cifar10N.csv', 'CIFAR-10_human_ordered.npy' 및 'image_order_c10.npy'를 다운로드합니다.

그런 다음 'CIFAR-10_human_ordered.npy'를 CSV 파일 'CIFAR-10_human_annotations.csv'로 변환합니다. 이는 다음 코드로 수행할 수 있습니다.

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)
  • 자동 캐시 ( 문서 ): 예

  • 분할 :

나뉘다
'test' 10,000
'train' 50,000
  • 기능 구조 :
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),
})
  • 기능 문서 :
특징 수업 모양 D타입 설명
풍모Dict
aggre_label 클래스 레이블 int64
ID 텍스트
영상 영상 (32, 32, 3) uint8
상표 클래스 레이블 int64
random_label1 클래스 레이블 int64
random_label2 클래스 레이블 int64
random_label3 클래스 레이블 int64
worker1_id 텐서 int64
worker1_time 텐서 float32
worker2_id 텐서 int64
worker2_time 텐서 float32
worker3_id 텐서 int64
작업자3_시간 텐서 float32
더 나쁜 라벨 클래스 레이블 int64

심상

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