Skip to content

Latest commit

 

History

History
263 lines (190 loc) · 18.3 KB

README_ID.md

File metadata and controls

263 lines (190 loc) · 18.3 KB



Docs PyPI version PyPI version CircleCI GitHub issues codecov tweet


Memperkenalkan Data 2.0, didukung oleh Hub.
Cara tercepat untuk mengakses dan manajemen dataset dengan version-control untuk PyTorch/Tensorflow. Dapat bekerja secara lokal atau dalam cloud apa pun. Pipeline data yang dapat diskalakan.


[ English | Français | 简体中文 | Türkçe | 한글 | Bahasa Indonesia ] | Русский]

Perhatian: translasi ini mungkin bukan berasal dari dokumen yang paling baru

Untuk apa Hub digunakan?

Software 2.0 membutuhkan Data 2.0, dan Hub menyediakan ini. Lebih banyak waktu yang dihabiskan oleh Data Scientists atau ML researchers untuk mengatur data dan preprocessing data daripada melakukan training model. Dengan Hub, kami akan memperbaiki ini. Kami menyimpan dataset milikmu (hingga berskala petabyte) sebagai sebuah array tunggal serupa numpy di cloud sehingga kamu dapat dengan mudah mengaksesnya dan menggunakannya dari perangkat manapun. Hub membantu tipe data apapun (gambar, file teks, audio, atau video) yang disimpan dalam cloud dapat digunakan secara cepat seakan-akan data tersebut disimpan dalam penyimpanan lokal. Dengan pandangan data yang sama, tim kalian dapat selalu tersonkrinisasi.

Hub juga digunakan oleh Waymo, Red Cross, World Resources Institute, Omdena, dan lainnya.

Fitur-fitur

  • Simpan dan ambil dataset besar menggunakan version-control
  • Berkolaborasi seakan menggunakan Google Docs: Beberapa data scientist mengerjakan data yang sama secara sinkron tanpa gangguan
  • Dapat diakses dari beberapa perangkat secara bersamaan
  • Gunakan dimana saja - penyimpanan lokal, Google Cloud, S3, Azure atau juga di Activeloop (pengaturan tetap - tanpa biaya!)
  • Integrasikan dengan tool ML seperti Numpy, Dask, Ray, PyTorch, atau TensorFlow
  • Buatlah array sebesar yang kamu mau. Kamu dapat menyimpan gambar-gambar yang sangat besar seperti ukuran 100k x 100k
  • Jaga ukuran tiap sampel menjadi dinamis. Dengan cara ini, kamu dapat menyimpan array kecil dan array besar dalam 1 buah array yang sama
  • Visualisasikan tiap potongan data dalam hitungan detik tanpa manipulasi yang berlebihan.



Visualisasi sebuah dataset yang diunggah ke Hub melalui app.activeloop.ai (aplikasi gratis).

Panduan Memulai

Bekerja dengan data terbuka atau data milik sendiri, pada peyimpanan lokal atau di penyimpanan cloud mana pun.

Akses data terbuka. Cepat.

Untuk memuat data terbuka, kamu harus menulis banyak baris kode dan menghabiskan berjam-jam untuk mengakses dan memahami API yang digunakan serta mengunduh datanya. Dengan Hub, kamu hanya membutuhkan 2 baris kode dan kamu dapat mulai mengolah dataset dalam waktu kurang dari 3 menit

pip3 install hub

Akses dataset terbuka (public) dengan mudah yang tersedia di Hub menggunakan beberapa baris kode. Jalankan kutipan kode berikut untuk dapat mengakses 1000 data pertama dari MNIST database dalam format numpy array:

from hub import Dataset

mnist = Dataset("activeloop/mnist")  # memuat data MNIST dengan mode lazy
# menghemat waktu dengan *compute* untuk mengambil data yang diperlukan saja
mnist["image"][0:1000].compute()

Kamu dapat mencari dataset populer lainnya di app.activeloop.ai.

Train sebuah model

Muat datanya dan train modelmu secara langsung. Hub sudah terintegrasi dengan PyTorch dan Tensorflow yang mampu melakukan perubahan format data dengan cara yang mudah dipahami. Lihatlah contoh dibawah ini untuk menggunakannya dengan PyTorch:

from hub import Dataset
import torch

mnist = Dataset("activeloop/mnist")
# mengonversi MNIST menjadi format PyTorch
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:
    # Perulangan proses training disini

Buat sebuah dataset lokal

Jika kamu ingin bekerja menggunakan datamu sendiri secara lokal, kamu dapat mulai membuat datasetmu dengan cara ini:

from hub import Dataset, schema
import numpy as np

ds = Dataset(
    "./data/dataset_name",  # lokasi penyimpanan data
    shape = (4,),  # mengikuti penulisan format shape pada numpy
    mode = "w+",  # mode menulis & membaca
    schema = {  # penyimpanan bernama yang memiliki tipe tertentu
    # Tensor adalah struktur umum yang dapat berisi bentuk data apa pun
        "image": schema.Tensor((512, 512), dtype="float"),
        "label": schema.Tensor((512, 512), dtype="float"),
    }
)

# mengisi tempat penyimpan data dengan sebuah data 
# (disini - inisialisasi dengan 0)
ds["image"][:] = np.zeros((4, 512, 512))
ds["label"][:] = np.zeros((4, 512, 512))
ds.flush()  # menjalankan proses pembuatan dataset

Kamu juga dapat menggunakan s3://bucket/path, gcs://bucket/path atau azure untuk meyimpannya di cloud. Kamu dapat melihat informasi lebih jelasnya disini. Selain itu, jika kamu membutuhkan dataset terbuka yang tidak tersedia di Hub, kamu bisa mengajukan permintaan. Kami akan menyediakannya untuk semua orang secepat mungkin!

Unggah datasetmu dan akses di mana pun dalam 3 langkah mudah

  1. Buatlah akun di Activeloop dan ontentikasi secara lokal:
activeloop register
activeloop login

# cara lainnya, tambahkan username dan password sebagai argumen
# (seperti yang digunakan pada platform Kaggle)
activeloop login -u username -p password
  1. Buatlah dataset, dengan merincikan nama dan unggahlah ke akunmu. Contohnya:
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.flush()
  1. Dapat diakses di mana pun dan perangkat mana pun dengan perintah:
from hub import Dataset

ds = Dataset("username/dataset_name")

Dokumentasi

Untuk pipeline data yang lebih kompleks seperti mengunggah dataset besar atau mengaplikasikan banyak transformasi, silahkan baca dokumentasi kami.

Tutorial Notebooks

Terdapat berbagai contoh penggunan Hub di direktori examples dan beberapa notebook dengan contoh kasus penggunaan juga tersedia di direktori notebooks. Beberapa notebook terdapat dalam list berikut:

Notebook Deskripsi
Mengunggah Gambar Contoh cara mengunggah dan menyimpan Gambar di Hub Open In Colab
Mengunggah Dataframes Contoh cara mengunggah dan menyimpan Dataframes di Hub Open In Colab
Uploading Audio Menjelaskan cara mengolah data audio in Hub Open In Colab
Mengambil Data dari penyimpanan cloud Menjelaskan cara mengambil Data dari penyimpanan cloud Open In Colab
Transformasi Data Penjelasan singkat mengenai transformasi data menggunakan Hub Open In Colab
Dynamic Tensors Menggunakan data dengan bentuk dan ukuran yang tidak tetap Open In Colab
NLP menggunakan Hub Fine Tuning BERT menggunakan CoLA Open In Colab

Kasus penggunaan

Mengapa Hub secara khusus?

Tidak terlalu banyak library manajemen data yang menawarkan fungsionalitas yang mungkin terlihat serupa dengan Hub. Faktanya, cukup banyak pengguna berpindah dari format Dataset PyTorch atau Tensorflow ke Hub. Berikut beberapa perbedaan yang akan kamu temukan setelah beralih ke Hub:

  • Data disediakan dalam potongan-potongan (chunks) daripada mengunduhnya dalam satu bagian bersamaan. Hal ini memungkinkan kamu mengunduhnya dari lokasi terpecil
  • Hanya bagian yang diperlukan dari dataset yang akan dievaluasi/diolah sehingga kamu dapat segera mengolah datanya
  • Kamu dapat menyimpan data yang mungkin tidak dapat kamu simpan secara utuh di memorimu
  • kamu dapat mengatur versi datasetmu (version-control) dan berkolaborasi dengan beberapa pengguna dari perangkat yang berbeda-beda
  • Dilengkapi dengan tools yang membantumu memahami data dalam hitungan detik, seperti tool visualisasi kami.
  • Kamu dapat dengan mudah menyiapkan data untuk digunakan pada proses training oleh beberapa library secara bersamaan (contoh, menggunakan satu dataset untuk training dengan PyTorch dan Tensorflow)

Komunitas

Bergabung dengan kami di Komunitas Slack untuk mendapatkan bantuan dari tim Activeloop dan pengguna lainnya serta mengikuti perkembangan terikini dari cara terbaik untuk manajemen data / preprocessing data.

tweet on Twitter.

Seperti biasa, terima kasih kepada kontributor hebat kami!

Dibuat menggunakan contributors-img.

Silahkan baca CONTRIBUTING.md untuk mengetahui cara berkontribusi di Hub.

Kumpulan Dataset

Format Hub yang dibuat Activeloop membantumu melakukan inference lebih cepat dengan cost yang lebih rendah. Kami memiliki 30+ dataset populer tersedia pada platform kami. Beberapa diantaranya:

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

Periksa dataset diatas dan dataset populer lainnya pada visualisasi web kami dan muat datanya secara langsung untuk training modelmu!

README Badge

Menggunakan Hub pada pekerjaanmu? Tambahkan README badge agar orang lain mengetahuinya:

hub

[![hub](https://img.shields.io/badge/powered%20by-hub%20-ff5a1f.svg)](https://github.com/activeloopai/Hub)

Disclaimers

Serupa dengan manajemen dataset lainnya, Hub merupakan utility library untuk mengunduh dan menyiapkan dataset terbuka. Kami tidak menyediakan atau mendistirbusikan dataset-dataset ini, menjamin kualitas atau keadilan dataset tersebut, atau mengklaim Anda memiliki lisensi untuk menggunakan dataset tersebut. Ini merupakan tanggung jawab Anda untuk menentukan apakah Anda memiliki izin untuk menggunakan dataset tersebut sesuai dengan lisensi yang berlaku.

Jika Anda adalah pemilik dari dataset dan ingin memperbarui bagian mana pun (deskripsi, sitasi, dll), atau menginginkan agar dataset tersebut tidak dimasukkan dalam library ini, silahkan hubungi melalui GitHub issue. Terima kasih atas kontribusi Anda di komunitas ML!

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

Teknologi ini terinspirasi dari pengalaman kami di Princeton University dan ingin berterima kasih kepada William Silversmith @SeungLab dengan tool kerennya cloud-volume. Kami adalah pengguna berat Zarr dan ingin berterima kasih kepada komunitasnya yang telah membangun block fundamental yang hebat.

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 thank their community for building such a great fundamental block.