分享

常用数据库Dataset

 田杰4 2017-01-26

常用数据库

CIFAR10 小图片分类数据集

该数据库具有50,000个32*32的彩色图片作为训练集,10,000个图片作为测试集。图片一共有10个类别。

使用方法

from keras.datasets import cifar10(X_train, y_train), (X_test, y_test) = cifar10.load_data()

返回值:

两个Tuple

X_trainX_test是形如(nb_samples, 3, 32, 32)的RGB三通道图像数据,数据类型是无符号8位整形(uint8)

Y_trainY_test是形如(nb_samples,)标签数据,标签的范围是0~9


CIFAR100 小图片分类数据库

该数据库具有50,000个32*32的彩色图片作为训练集,10,000个图片作为测试集。图片一共有100个类别,每个类别有600张图片。这100个类别又分为20个大类。

使用方法

from keras.datasets import cifar100(X_train, y_train), (X_test, y_test) = cifar100.load_data(label_mode='fine')

参数

  • label_mode:为‘fine’或‘coarse’之一,控制标签的精细度,‘fine’获得的标签是100个小类的标签,‘coarse’获得的标签是大类的标签

返回值

两个Tuple,(X_train, y_train), (X_test, y_test),其中

  • X_train和X_test:是形如(nb_samples, 3, 32, 32)的RGB三通道图像数据,数据类型是无符号8位整形(uint8)

  • y_train和y_test:是形如(nb_samples,)标签数据,标签的范围是0~9


IMDB影评倾向分类

本数据库含有来自IMDB的25,000条影评,被标记为正面/负面两种评价。影评已被预处理为词下标构成的序列。方便起见,单词的下标基于它在数据集中出现的频率标定,例如整数3所编码的词为数据集中第3常出现的词。这样的组织方法使得用户可以快速完成诸如“只考虑最常出现的10,000个词,但不考虑最常出现的20个词”这样的操作

按照惯例,0不代表任何特定的词,而用来编码任何未知单词

使用方法

from keras.datasets import imdb(X_train, y_train), (X_test, y_test) = imdb.load_data(path='imdb_full.pkl', nb_words=None, skip_top=0, maxlen=None, test_split=0.1) seed=113, start_char=1, oov_char=2, index_from=3)

参数

  • path:如果你在本机上已有此数据集(位于'~/.keras/datasets/'+path),则载入。否则数据将下载到该目录下

  • nb_words:整数或None,要考虑的最常见的单词数,任何出现频率更低的单词将会被编码到0的位置。

  • skip_top:整数,忽略最常出现的若干单词,这些单词将会被编码为0

  • maxlen:整数,最大序列长度,任何长度大于此值的序列将被截断

  • seed:整数,用于数据重排的随机数种子

  • start_char:字符,序列的起始将以该字符标记,默认为1因为0通常用作padding

  • oov_char:字符,因nb_wordsskip_top限制而cut掉的单词将被该字符代替

  • index_from:整数,真实的单词(而不是类似于start_char的特殊占位符)将从这个下标开始

返回值

两个Tuple,(X_train, y_train), (X_test, y_test),其中

  • X_train和X_test:序列的列表,每个序列都是词下标的列表。如果指定了nb_words,则序列中可能的最大下标为nb_words-1。如果指定了maxlen,则序列的最大可能长度为maxlen

  • y_train和y_test:为序列的标签,是一个二值list


路透社新闻主题分类

本数据库包含来自路透社的11,228条新闻,分为了46个主题。与IMDB库一样,每条新闻被编码为一个词下标的序列。

使用方法

from keras.datasets import reuters(X_train, y_train), (X_test, y_test) = reuters.load_data(path='reuters.pkl', nb_words=None, skip_top=0, maxlen=None, test_split=0.2, seed=113, start_char=1, oov_char=2, index_from=3)

参数的含义与IMDB同名参数相同,唯一多的参数是:test_split,用于指定从原数据中分割出作为测试集的比例。该数据库支持获取用于编码序列的词下标:

word_index = reuters.get_word_index(path='reuters_word_index.pkl')

上面代码的返回值是一个以单词为关键字,以其下标为值的字典。例如,word_index['giraffe']的值可能为1234

数据库将会被下载到'~/.keras/datasets/'+path


MNIST手写数字识别

本数据库有60,000个用于训练的28*28的灰度手写数字图片,10,000个测试图片

使用方法

from keras.datasets import mnist(X_train, y_train), (X_test, y_test) = mnist.load_data()

返回值

两个Tuple,(X_train, y_train), (X_test, y_test),其中

  • X_train和X_test:是形如(nb_samples, 28, 28)的灰度图片数据,数据类型是无符号8位整形(uint8)

  • y_train和y_test:是形如(nb_samples,)标签数据,标签的范围是0~9

数据库将会被下载到'~/.keras/datasets/'+path


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多