[ English | 简体中文 ]
新时代的的软件需要新时代的数据,而 Hub 提供这些数据。数据科学家和 ML 科学家应该专注于训练模型,但现在我们都在花大量时间管理和预处理数据。Hub 致力于改进这一现状。我们把您的数据以单一的 类-numpy 式数组为形式储存在云端,所以您可以无缝的从任何设备访问您的数据。Hub 使得任何储存在云端的数据类型(图像,文本,音频,或者视频)用起来快的像本地服务器一样。有着一样的数据库,小组可以一直保持同步。
Waymo, Red Cross, World Resources Institute, Omdena 和其他很多组织都在使用 Hub!
- 以版本控制工具储存/回复大型数据库。
- 像 Google Docs 一样协作: 多个数据科学家同时处理一组数据,并且没有同步冲突
- 同时从多个设备访问
- 与您的 ML 工具整合, 比如 Numpy, Dask, Ray, PyTorch, TensorFlow
- 可部署在 Google Cloud, S3, Azure,和 Activeloop (预设选择,并且是免费的!)
- 随心所欲地创建任意大小的储存数组. 您甚至可以储存 100k x 100k 大小的图片!
- 动态地保存样本的形状. 因此您可以把大数组和小数组储存为一条数组
- 无需冗长的操作,用几秒种即可可视化数据中的片段
以前为了加载一个公共数据集,大家需要很多代码,浪费很多时间来访问和理解 API ,和下载数据。如果使用 Hub, 只需要2行代码, 您即可在3分钟内开始工作。
pip3 install hub
用 Hub 访问公共数据集只需要几行代码的简单步骤。运行这个片段就可以 numpy 数组的形式取得MNIST 数据库前1000张图片。
from hub import Dataset
mnist = Dataset("activeloop/mnist") # loading the MNIST data lazily
# saving time with *compute* to retrieve just the necessary data
mnist["image"][0:1000].compute()
您可以在 app.activeloop.ai 找到其他流行的数据库.
加载数据并且直接地训练您的模型。Hub 已与 PyTorch 和 TensorFlow 整合,并且以通俗的方式进行格式转换。看看下面使用 PyTorch 的例子:
from hub import Dataset
import torch
mnist = Dataset("activeloop/mnist")
# converting MNIST to PyTorch format
mnist = mnist.to_pytorch(lambda x: (x["image"], x["label"]))
train_loader = torch.utils.data.DataLoader(mnist, batch_size=1, num_workers=0)
for image, label in train_loader:
# Training loop here
如果您想在本地处理您的数据,您可以从创建一个数据集开始:
from hub import Dataset, schema
import numpy as np
ds = Dataset(
"./data/dataset_name", # file path to the dataset
shape = (4,), # follows numpy shape convention
mode = "w+", # reading & writing mode
schema = { # named blobs of data that may specify types
# Tensor is a generic structure that can contain any type of data
"image": schema.Tensor((512, 512), dtype="float"),
"label": schema.Tensor((512, 512), dtype="float"),
}
)
# filling the data containers with data (here - zeroes to initialize)
ds["image"][:] = np.zeros((4, 512, 512))
ds["label"][:] = np.zeros((4, 512, 512))
ds.commit() # executing the creation of the dataset
您也可以指明 s3://bucket/path
, gcs://bucket/path
或 azure 路径。您可以在这里找到云储存的更多相关信息。
如果您需要 Hub 里目前找不到的公共数据集,您可以发送 Issues。我们将尽快为所有人实现他。
- 在 Activeloop 注册一个免费账户并在本地认证:
hub register
hub login
- 然后创建一个数据集,注明它的名字,然后把它上传到您的账户。比如:
from hub import Dataset, schema
import numpy as np
ds = Dataset(
"username/dataset_name",
shape = (4,),
mode = "w+",
schema = {
"image": schema.Tensor((512, 512), dtype="float"),
"label": schema.Tensor((512, 512), dtype="float"),
}
)
ds["image"][:] = np.zeros((4, 512, 512))
ds["label"][:] = np.zeros((4, 512, 512))
ds.commit()
- 在任何地点,以任何机器,只要有命令行就可访问它:
from hub import Dataset
ds = Dataset("username/dataset_name")
对于其他更高级的工作流,比如上传较大的数据集,或者应用多重变换,请阅读文档。
- 卫星和无人机成像: 可扩展的航空数据流, 绘制印度的经济状况, 与红十字一起在肯尼亚抗击沙漠蝗虫
- 医学图像: 体积图像: MRI, Xray
- 自动驾驶汽车: 雷达, 3D LIDAR, 点云, 语义分割, 图像对象
- 零售: 自行结账数据集
- 媒体: 图像,视频,音频储存
加入我们的 Slack 社区 以便从 Activeloop 团队和其他用户获取帮助, 并且与最好的技术保持更新!
一如既往,感谢我们可爱的贡献者们!
请阅读 CONTRIBUTING.md 以了解如何为 Hub 做贡献。
Activeloop 的 Hub 形使您可以以更低的成本来达成更快的推理。我们的平台已有超过30个流行的数据集。包括:
- COCO
- CIFAR-10
- PASCAL VOC
- Cars196
- KITTI
- EuroSAT
- Caltech-UCSD Birds 200
- Food101
在我们的 可视化 web app 查看这些和很多其他的数据集,然后直接加载它们来进行模型训练。
在使用 Hub 吗? 添加 README 徽章来让大家知道:
[![hub](https://img.shields.io/badge/powered%20by-hub%20-ff5a1f.svg)](https://github.com/activeloopai/Hub)
与其他的数据管理包一样, Hub
是一个用于下载和准备公共数据集的应用型库。我们不托管或分发这些数据集,也不保证其质量或是公平性,也不声明您有使用它们的许可。确认您是否有权在数据集的许可下使用该数据集是您的责任。
如果您是数据集所有者,并希望更新数据集的任何部分(描述,引用等),或者不希望将数据集包含在此库中,请通过 GitHub issue 告知我们。感谢您对 ML 社区做出的贡献!
这项技术的灵感来自我们在普林斯顿大学的经验,并且感谢 William Silversmith @SeungLab 和他优秀的 cloud-volume 工具。我们是 Zarr 的重度使用者,特别感谢他们建立了如此重要的基础建设。