datadings是为机器学习准备数据集的工具集。它易于使用,节省空间,速度极快。

datadings的Python项目详细描述


datadings是为机器准备数据集的工具集合 学习,基于两个简单的原则

Datasets are collections of individual data samples.

Each sample is a dictionary with descriptive keys.

对于带图像的监督培训,字典示例如下:

{"key": unique_key, "image": imagedata, "label": label}

msgpack被用作有效的存储 大多数支持的数据集的格式。在

支持的数据集

DatasetShort Description
ADE20kScene Parsing, Segmentation
ANP460own Eye-Tracking dataset (Jalpa)
CAMVIDMotion-based Segmentation
CAT2000MIT Saliency
CIFAR32x32 color image classification with 10/100 classes
CityscapesSegmentation, Semantic understanding of urban street scenes
Coutrot1Eye-Tracking, Saliency
FIGRIMFixationEye-Tracking, Saliency
ILSVRC2012Imagenet Large Scale Visual Recognition Challenge
InriaBuildingsInria Areal Image Labeling Dataset (Buildings), Segmentation, Remote Sensing
MIT1003Eye-Tracking, Saliency, Learning to predict where humans look
MIT300Eye-Tracking, Saliency
Places2017MIT Places, Scene Recognition
Places365MIT Places365, Scene Recognition
RIT18High-Res Multispectral Semantic Segmentation, Remote Sensing
SALICON2015Saliency in Context, Eye-Tracking
SALICON2017Saliency in Context, Eye-Tracking
VOC2012Pascal Visual Object Classes Challenge
VaihingenRemote Sensing, Semantic Object Classification, Segmentation
YFCC100mYahoo Flickr Creative Commons 100 M pics

命令行工具

  • datadings write 创建新的数据集文件。在
  • datadings目录 打印数据集文件的(缩写)内容。在
  • datadings shuffle 无序处理现有的数据集文件。在
  • datadings合并 合并两个或多个数据集文件。在
  • datadings split 将数据集文件拆分为两个或多个子集。在
  • datadings工作台 运行一些基本的读性能基准测试。在

基本用途

每个数据集都定义了要在 datadings.sets包。 对于大多数数据集,读取模块只包含额外的 像类标签和分发的元数据。在

让我们以MIT1003数据集为例。在

MIT1003_write是创建数据集文件的可执行文件。 它可以直接调用,也可以通过datadings write调用。 将写入三个文件:

  • MIT1003.msgpack包含示例数据
  • MIT1003.msgpack.index包含随机访问的索引
  • MIT1003.msgpack.md5包含两个文件的MD5哈希值

按顺序读取所有样本, 使用MsgpackReader作为上下文管理器:

^{pr2}$

这个标准迭代器返回字典。 使用rawiter()方法获取messagepack编码的示例 字节。在

阅读特定样本:

reader.seek_key('i14020903.jpeg')
print(reader.next()['key'])
reader.seek_index(100)
print(reader.next()['key'])

以原始字节形式读取示例:

raw = reader.rawnext()
for raw in reader.rawiter():
    print(type(raw), len(raw))

样本数量:

print(len(reader))

您还可以更改迭代样本的顺序和选择 用增援。 例如,要随机化样本顺序,请包装阅读器 在Shuffler中:

from datadings.reader import Shuffler
with Shuffler(MsgpackReader('MIT1003.msgpack')) as reader:
    for sample in reader:
        # do dataset things, but in random order!

一个常见的用例是对整个数据集进行多次迭代。 这可以用Cycler完成:

from datadings.reader import Cycler
with Cycler(MsgpackReader('MIT1003.msgpack')) as reader:
    for sample in reader:
        # do dataset things, but FOREVER!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?