Git Product home page Git Product logo

hub's Introduction



Docs PyPI version PyPI version CircleCI GitHub issues codecov tweet


Introducing Data 2.0, powered by Hub.
The fastest way to access & manage datasets for PyTorch/TensorFlow, and build scalable data pipelines.


What is Hub for?

Software 2.0 needs Data 2.0, and Hub delivers it. Most of the time Data Scientists/ML researchers work on data management and preprocessing instead of training models. With Hub, we are fixing this. We store your (even petabyte-scale) datasets as single numpy-like array on the cloud, so you can seamlessly access and work with it from any machine. Hub makes any data type (images, text files, audio, or video) stored in cloud usable as fast as if it were stored on premise. With same dataset view, your team can always be in sync.

Hub is being used by Waymo, Red Cross, World Resources Institute, Omdena, and others.

Features

  • Store and retrieve large datasets with version-control
  • Collaborate as in Google Docs: Multiple data scientists working on the same data in sync with no interruptions
  • Access from multiple machines simultaneously
  • Integrate with your ML tools like Numpy, Dask, Ray, PyTorch, or TensorFlow
  • Deploy on Google Cloud, S3, Azure as well as Activeloop (by default - and for free!)
  • Create arrays as big as you want. You can store images as big as 100k by 100k!
  • Keep shape of each sample dynamic. This way you can store small and big arrays as 1 array.
  • Visualize any slice of the data in a matter of seconds without redundant manipulations

Getting Started

Access public data. Fast

To load a public dataset, one needs to write dozens of lines of code and spend hours accessing and understanding the API, as well as downloading the data. With Hub, you only need 2 lines of code, and you can get started working on your dataset in under 3 minutes.

pip3 install hub

You can access public datasets with a few lines of code.

from hub import Dataset

mnist = Dataset("activeloop/mnist")
mnist["image"][0:1000].compute()

Train a model

Load the data and directly train your model using pytorch

from hub import Dataset
import torch

mnist = Dataset("activeloop/mnist")
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

Create a local dataset

from hub import Dataset, schema
import numpy as np

ds = Dataset(
    "./data/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()

You can also specify s3://bucket/path, gcs://bucket/path or azure path more here.

Upload your dataset and access it from anywhere in 3 simple steps

  1. Register a free account at Activeloop and authenticate locally
hub register
hub login
  1. Then create a dataset and upload
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()
  1. Access it from anywhere else in the world, on any device having a command line.
from hub import Dataset

ds = Dataset("username/dataset_name")

Documentation

For more advanced data pipelines like uploading large datasets or applying many transformations, please read the docs.

Use Cases

Community

Join our Slack community to get help from Activeloop team and other users, as well as stay up-to-date on dataset management/preprocessing best practices.

tweet on Twitter.

As always, thanks to our amazing contributors!

Examples

Activeloop’s Hub format lets you achieve faster inference at a lower cost. We have 30+ popular datasets already on our platform. These include:-

  • COCO
  • CIFAR-10
  • PASCAL VOC
  • Cars196
  • KITTI
  • EuroSAT
  • Caltech-UCSD Birds 200
  • Food101

Check these and many more popular datasets on our visualizer web app and load them directly for model training!

Disclaimers

Similarly to other dataset management packages, Hub is a utility library that downloads and prepares public datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have license to use the dataset. It is your responsibility to determine whether you have permission to use the dataset under the dataset's license.

If you're a dataset owner and wish to update any part of it (description, citation, etc.), or do not want your dataset to be included in this library, please get in touch through a GitHub issue. Thanks for your contribution to the ML community!

Acknowledgement

This technology was inspired from our experience at Princeton University and would like to thank William Silversmith @SeungLab with his awesome cloud-volume tool. We are heavy users of Zarr and would like to specially thank their community for building such a great fundamental block.

hub's People

Contributors

davidbuniat avatar abhinavtuli avatar edogrigqv2 avatar kristinagrig06 avatar mikayelh avatar atom-101 avatar sparkingdark avatar sanchitvj avatar anselmoo avatar mynameisvinn avatar dependabot-preview[bot] avatar adi10hero avatar hugovk avatar kzuri avatar sohamsshah avatar diveafall avatar platipo avatar rohankmr414 avatar adelzakirov avatar thisiseshan avatar sudiptog81 avatar aksh-02 avatar prithviraj-maurya avatar zomglings avatar vagharsh avatar michizhou avatar rafaeelaudibert avatar sambhavbhurtel avatar valerianpereira avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.