流畅的数据集操作,兼容你喜欢的库
项目描述
Dataset Ops:流畅的数据集操作,兼容你喜欢的库
Dataset Ops 提供了一个流畅的界面,用于加载、过滤、转换、拆分和组合数据集。专为数据科学和机器学习应用而设计,它与Tensorflow和PyTorch无缝集成。
开胃菜
import datasetops as do
# prepare your data
train, val, test = (
do.from_folder_class_data('path/to/data/folder')
.named("data", "label")
.image_resize((240, 240))
.one_hot("label")
.shuffle(seed=42)
.split([0.6, 0.2, 0.2])
)
# use with your favorite framework
train_tf = train.to_tensorflow()
train_pt = train.to_pytorch()
# or do your own thing
for img, label in train:
...
安装
在Python 包索引中可用的 Baniry 安装程序
pip install datasetops
为什么?
收集和预处理数据集很麻烦,通常需要花费在数据科学和机器学习生命周期中的 50% 以上。虽然Tensorflow和PyTorch有一些有用的数据集实用程序可用,但它们是专门针对各自的框架设计的。不出所料,这使得在它们之间切换变得困难,并且训练就绪的数据集定义绑定到一个或另一个。此外,它们不会在您想要执行以下操作的标准场景中为您提供帮助:
- 以非随机方式对数据集进行采样(例如,每个类使用固定数量的样本)
- 中心化、标准化、规范化您的数据
- 组合多个数据集,例如用于多流网络的并行输入
- 创建非标准数据拆分
Dataset Ops旨在使这些处理步骤更容易、更快、更直观地执行,同时保持与领先库的完全兼容性。这也意味着您可以从torchvision 数据集中获取数据集并直接与 tensorflow 一起使用:
import do
import torchvision
torch_usps = torchvision.datasets.USPS('../dataset/path', download=True)
tensorflow_usps = do.from_pytorch(torch_usps).to_tensorflow()
发展状况
该库仍在大力开发中,API 可能会发生变化。
以下是已实施和计划中的功能列表。
装载机
-
Loader(用于定义数据集的实用程序类) -
from_pytorch(从 a 加载torch.utils.data.Dataset) -
from_tensorflow(从 a 加载tf.data.Dataset) -
from_folder_data(加载带有数据的平面文件夹) -
from_folder_class_data(加载嵌套文件夹,每个类都有一个文件夹) -
from_folder_dataset_class_data(加载具有多个数据集的嵌套文件夹,每个数据集都有一个嵌套类文件夹结构) -
from_mat(将 .mat 文件的内容加载为单个数据集) -
from_mat_single_mult_data(将 .mat 文件的内容加载为多个数据集) -
load(从路径加载数据,自动推断类型和结构)
转换器
-
to_tensorflow(将 Dataset 转换为 tensorflow.data.Dataset) -
to_pytorch(将数据集转换为torchvision.Dataset)
数据集信息
-
shape(获取数据集项目的形状) -
counts(按键计算数据集中每个唯一项的计数) -
unique(按键获取数据集中唯一项的列表) -
named(提供项目元素的名称) -
names(获取项目中元素的名称列表) -
stats(提供数据集统计的概述) -
origin(提供数据集是如何制作的描述)
采样和拆分
-
shuffle(随机打乱数据集中的项目) -
sample(样本数据随机一个数据集) -
filter(使用谓词过滤数据集) -
split(根据分数随机拆分数据集) -
split_filter(根据谓词将数据集一分为二) -
allow_unique(用于平衡分类过滤/采样的方便谓词) -
take(取数据集中的第一项) -
repeat(逐项或整体重复数据集中的项目)
物品操作
-
reorder(重新排序数据集项目的元素(例如翻转标签和数据顺序)) -
transform(转换函数,它采用其他函数并将它们应用于数据集项。) -
categorical(将元素转换为分类整数编码标签) -
one_hot(将元素转换为 one-hot 编码标签) -
numpy(将元素转换为 numpy.ndarray) -
reshape(重塑 numpy.ndarray 元素) -
image(将 numpy 数组或路径字符串转换为 PIL.Image.Image) -
image_resize(调整 PIL.Image.Image 元素的大小) -
image_crop(裁剪 PIL.Image.Image 元素) -
image_rotate(旋转 PIL.Image.Image 元素) -
image_transform(转换 PIL.Image.Image 元素) -
image_brightness(修改 PIL.Image.Image 元素的亮度) -
image_contrast(修改 PIL.Image.Image 元素的对比度) -
image_filter(将图像过滤器应用于 PIL.Image.Image 元素) -
noise(给数据添加噪音) -
center(根据数据集统计修改每一项) -
normalize(根据数据集统计修改每一项) -
standardize(根据数据集统计修改每一项) -
whiten(根据数据集统计修改每一项) -
randomly(以一定的概率应用数据转换)
数据集组合
-
concat(连接两个数据集,一个接一个地放置项目) -
zip(逐项压缩数据集,扩展每个项目的大小) -
cartesian_product(创建一个数据集,其项目都是原始数据集的项目(压缩)的组合)
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
datasetops-0.0.6.tar.gz
(19.1 kB
查看哈希)
内置分布
datasetops-0.0.6-py3-none-any.whl
(19.0 kB
查看哈希)
关
datasetops -0.0.6.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 52b7342e91d4ac5377b66bc0ea4b6a57c238717fb968bd8c26791b6ac2da3d09 |
|
| MD5 | a4e0b3107a9b374de9ec201e739441a5 |
|
| 布莱克2-256 | bf2054843d13af52542887031ee2f6a31180b678028618a29cea17f0ef091275 |
关
datasetops -0.0.6-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 231bde372d0749c56500cf27fc76672d254fb7fa9f2c2c4a0a0619a8901dc623 |
|
| MD5 | 3a2e31c8002adc1b3d9f697d92bb6206 |
|
| 布莱克2-256 | 0553a7077a8f054e7c05dfcdc431e53d7335b6d348df88fccd674d0ff8c4ffc0 |