Skip to main content

Data Lake for Multi-Modal AI Search

Project description


Deep Lake: Database for AI

PyPI version PyPI version

DocsGet StartedAPI ReferenceLangChain & VectorDBs CourseBlogWhitepaperSlackTwitter

What is Deep Lake?

Deep Lake is a Database for AI powered by a storage format optimized for deep-learning applications. Deep Lake can be used for:

  1. Storing and searching data plus vectors while building LLM applications
  2. Managing datasets while training deep learning models

Deep Lake simplifies the deployment of enterprise-grade LLM-based products by offering storage for all data types (embeddings, audio, text, videos, images, dicom, pdfs, annotations, and more), querying and vector search, data streaming while training models at scale, data versioning and lineage, and integrations with popular tools such as LangChain, LlamaIndex, Weights & Biases, and many more. Deep Lake works with data of any size, it is serverless, and it enables you to store all of your data in your own cloud and in one place. Deep Lake is used by Intel, Bayer Radiology, Matterport, ZERO Systems, Red Cross, Yale, & Oxford.

Deep Lake includes the following features:

Multi-Cloud Support (S3, GCP, Azure) Use one API to upload, download, and stream datasets to/from S3, Azure, GCP, Activeloop cloud, local storage, or in-memory storage. Compatible with any S3-compatible storage such as MinIO.
Native Compression with Lazy NumPy-like Indexing Store images, audio, and videos in their native compression. Slice, index, iterate, and interact with your data like a collection of NumPy arrays in your system's memory. Deep Lake lazily loads data only when needed, e.g., when training a model or running queries.
Dataloaders for Popular Deep Learning Frameworks Deep Lake comes with built-in dataloaders for Pytorch and TensorFlow. Train your model with a few lines of code - we even take care of dataset shuffling. :)
Integrations with Powerful Tools Deep Lake has integrations with Langchain and LLamaIndex as a vector store for LLM apps, Weights & Biases for data lineage during model training, MMDetection for training object detection models, and MMSegmentation for training semantic segmentation models.
100+ most-popular image, video, and audio datasets available in seconds Deep Lake community has uploaded 100+ image, video and audio datasets like MNIST, COCO, ImageNet, CIFAR, GTZAN and others.
Instant Visualization Support in the Deep Lake App Deep Lake datasets are instantly visualized with bounding boxes, masks, annotations, etc. in Deep Lake Visualizer (see below).

Visualizer

🚀 How to install Deep Lake

Deep Lake can be installed using pip:

pip install deeplake

To access all of Deep Lake's features, please register in the Deep Lake App.

🧠 Deep Lake Code Examples by Application

Vector Store Applications

Using Deep Lake as a Vector Store for building LLM applications:

- Vector Store Quickstart

- Vector Store Tutorials

- LangChain Integration

- LlamaIndex Integration

- Image Similarity Search with Deep Lake

Deep Learning Applications

Using Deep Lake for managing data while training Deep Learning models:

- Deep Learning Quickstart

- Tutorials for Training Models

⚙️ Integrations

Deep Lake offers integrations with other tools in order to streamline your deep learning workflows. Current integrations include:

📚 Documentation

Getting started guides, examples, tutorials, API reference, and other useful information can be found on our documentation page.

🎓 For Students and Educators

Deep Lake users can access and visualize a variety of popular datasets through a free integration with Deep Lake's App. Universities can get up to 1TB of data storage and 100,000 monthly queries on the Tensor Database for free per month. Chat in on our website: to claim the access!

👩‍💻 Comparisons to Familiar Tools

Deep Lake vs Chroma

Both Deep Lake & ChromaDB enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are architecturally very different. ChromaDB is a Vector Database that can be deployed locally or on a server using Docker and will offer a hosted solution shortly. Deep Lake is a serverless Vector Store deployed on the user’s own cloud, locally, or in-memory. All computations run client-side, which enables users to support lightweight production apps in seconds. Unlike ChromaDB, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. ChromaDB is limited to light metadata on top of the embeddings and has no visualization. Deep Lake datasets can be visualized and version controlled. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

Deep Lake vs Pinecone

Both Deep Lake and Pinecone enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are architecturally very different. Pinecone is a fully-managed Vector Database that is optimized for highly demanding applications requiring a search for billions of vectors. Deep Lake is serverless. All computations run client-side, which enables users to get started in seconds. Unlike Pinecone, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. Deep Lake datasets can be visualized and version controlled. Pinecone is limited to light metadata on top of the embeddings and has no visualization. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

Deep Lake vs Weaviate

Both Deep Lake and Weaviate enable users to store and search vectors (embeddings) and offer integrations with LangChain and LlamaIndex. However, they are architecturally very different. Weaviate is a Vector Database that can be deployed in a managed service or by the user via Kubernetes or Docker. Deep Lake is serverless. All computations run client-side, which enables users to support lightweight production apps in seconds. Unlike Weaviate, Deep Lake’s data format can store raw data such as images, videos, and text, in addition to embeddings. Deep Lake datasets can be visualized and version controlled. Weaviate is limited to light metadata on top of the embeddings and has no visualization. Deep Lake also has a performant dataloader for fine-tuning your Large Language Models.

Deep Lake vs DVC

Deep Lake and DVC offer dataset version control similar to git for data, but their methods for storing data differ significantly. Deep Lake converts and stores data as chunked compressed arrays, which enables rapid streaming to ML models, whereas DVC operates on top of data stored in less efficient traditional file structures. The Deep Lake format makes dataset versioning significantly easier compared to traditional file structures by DVC when datasets are composed of many files (i.e., many images). An additional distinction is that DVC primarily uses a command-line interface, whereas Deep Lake is a Python package. Lastly, Deep Lake offers an API to easily connect datasets to ML frameworks and other common ML tools and enables instant dataset visualization through Activeloop's visualization tool.

Deep Lake vs MosaicML MDS format
  • Data Storage Format: Deep Lake operates on a columnar storage format, whereas MDS utilizes a row-wise storage approach. This fundamentally impacts how data is read, written, and organized in each system.
  • Compression: Deep Lake offers a more flexible compression scheme, allowing control over both chunk-level and sample-level compression for each column or tensor. This feature eliminates the need for additional compressions like zstd, which would otherwise demand more CPU cycles for decompressing on top of formats like jpeg.
  • Shuffling: MDS currently offers more advanced shuffling strategies.
  • Version Control & Visualization Support: A notable feature of Deep Lake is its native version control and in-browser data visualization, a feature not present for MosaicML data format. This can provide significant advantages in managing, understanding, and tracking different versions of the data.
Deep Lake vs TensorFlow Datasets (TFDS)

Deep Lake and TFDS seamlessly connect popular datasets to ML frameworks. Deep Lake datasets are compatible with both PyTorch and TensorFlow, whereas TFDS are only compatible with TensorFlow. A key difference between Deep Lake and TFDS is that Deep Lake datasets are designed for streaming from the cloud, whereas TFDS must be downloaded locally prior to use. As a result, with Deep Lake, one can import datasets directly from TensorFlow Datasets and stream them either to PyTorch or TensorFlow. In addition to providing access to popular publicly available datasets, Deep Lake also offers powerful tools for creating custom datasets, storing them on a variety of cloud storage providers, and collaborating with others via simple API. TFDS is primarily focused on giving the public easy access to commonly available datasets, and management of custom datasets is not the primary focus. A full comparison article can be found here.

Deep Lake vs HuggingFace Deep Lake and HuggingFace offer access to popular datasets, but Deep Lake primarily focuses on computer vision, whereas HuggingFace focuses on natural language processing. HuggingFace Transforms and other computational tools for NLP are not analogous to features offered by Deep Lake.
Deep Lake vs WebDatasets Deep Lake and WebDatasets both offer rapid data streaming across networks. They have nearly identical steaming speeds because the underlying network requests and data structures are very similar. However, Deep Lake offers superior random access and shuffling, its simple API is in python instead of command-line, and Deep Lake enables simple indexing and modification of the dataset without having to recreate it.
Deep Lake vs Zarr Deep Lake and Zarr both offer storage of data as chunked arrays. However, Deep Lake is primarily designed for returning data as arrays using a simple API, rather than actually storing raw arrays (even though that's also possible). Deep Lake stores data in use-case-optimized formats, such as jpeg or png for images, or mp4 for video, and the user treats the data as if it's an array, because Deep Lake handles all the data processing in between. Deep Lake offers more flexibility for storing arrays with dynamic shape (ragged tensors), and it provides several features that are not naively available in Zarr such as version control, data streaming, and connecting data to ML Frameworks.

Community

Join our Slack community to learn more about unstructured dataset management using Deep Lake and to get help from the Activeloop team and other users.

We'd love your feedback by completing our 3-minute survey.

As always, thanks to our amazing contributors!

Made with contributors-img.

Please read CONTRIBUTING.md to get started with making contributions to Deep Lake.

README Badge

Using Deep Lake? Add a README badge to let everyone know:

deeplake

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

Disclaimers

Dataset Licenses

Deep Lake users may have access to a variety of publicly available datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have a license to use the datasets. It is your responsibility to determine whether you have permission to use the datasets under their license.

If you're a dataset owner and do not want your dataset to be included in this library, please get in touch through a GitHub issue. Thank you for your contribution to the ML community!

Citation

If you use Deep Lake in your research, please cite Activeloop using:

@article{deeplake,
  title = {Deep Lake: a Lakehouse for Deep Learning},
  author = {Hambardzumyan, Sasun and Tuli, Abhinav and Ghukasyan, Levon and Rahman, Fariz and Topchyan, Hrant and Isayan, David and Harutyunyan, Mikayel and Hakobyan, Tatevik and Stranic, Ivo and Buniatyan, Davit},
  url = {https://www.cidrdb.org/cidr2023/papers/p69-buniatyan.pdf},
  booktitle={Proceedings of CIDR},
  year = {2023},
}

Acknowledgment

This technology was inspired by our research work at Princeton University. We would like to thank William Silversmith @SeungLab for his awesome cloud-volume tool.

Project details


Release history Release notifications | RSS feed

This version

4.6.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

deeplake-4.6.5-cp313-cp313-manylinux2014_x86_64.whl (45.6 MB view details)

Uploaded CPython 3.13

deeplake-4.6.5-cp313-cp313-manylinux2014_aarch64.whl (41.8 MB view details)

Uploaded CPython 3.13

deeplake-4.6.5-cp313-cp313-macosx_11_0_arm64.whl (33.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

deeplake-4.6.5-cp312-cp312-manylinux2014_x86_64.whl (45.6 MB view details)

Uploaded CPython 3.12

deeplake-4.6.5-cp312-cp312-manylinux2014_aarch64.whl (41.8 MB view details)

Uploaded CPython 3.12

deeplake-4.6.5-cp312-cp312-macosx_11_0_arm64.whl (33.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

deeplake-4.6.5-cp311-cp311-manylinux2014_x86_64.whl (45.6 MB view details)

Uploaded CPython 3.11

deeplake-4.6.5-cp311-cp311-manylinux2014_aarch64.whl (41.8 MB view details)

Uploaded CPython 3.11

deeplake-4.6.5-cp311-cp311-macosx_11_0_arm64.whl (33.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

deeplake-4.6.5-cp310-cp310-manylinux2014_x86_64.whl (45.6 MB view details)

Uploaded CPython 3.10

deeplake-4.6.5-cp310-cp310-manylinux2014_aarch64.whl (41.8 MB view details)

Uploaded CPython 3.10

deeplake-4.6.5-cp310-cp310-macosx_11_0_arm64.whl (33.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

deeplake-4.6.5-cp39-cp39-manylinux2014_x86_64.whl (45.6 MB view details)

Uploaded CPython 3.9

deeplake-4.6.5-cp39-cp39-manylinux2014_aarch64.whl (41.8 MB view details)

Uploaded CPython 3.9

deeplake-4.6.5-cp39-cp39-macosx_11_0_arm64.whl (33.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file deeplake-4.6.5-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df7ea4ca56cbf274202e166356e55380a3fc487098df969c06696e6cba309ccb
MD5 9b727f17e6a58e8ea48678fac4a12ba2
BLAKE2b-256 96c8acfc896322db33974a6809208cc58a0af1aa65273a5fce71f51fc14dad04

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp313-cp313-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp313-cp313-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b9ffc259914df77272c1caeed57505ba5304f5891d9d9a2bedbe1facac1ca25
MD5 63ad8365ec0ea95f866c8cf6f9bcc63e
BLAKE2b-256 46c6c9ab52cc9fcb2e9772bfe0efb831889d90c9e1a0d9c3d3c7fbdc8e5170a3

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dde58307866a25d60ae2297503ec475bc053b5d952fbc83ac78209260be459b6
MD5 bc1c483d90e3390852383e0bf4747cb4
BLAKE2b-256 077b219c56c97669fa32a2dcbba1bc6f52d126c5dd7822191530e9f1bbc0bf20

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42e6dce66d21548bc35ef278e935f111eaf81aeef0a89f4ff2a13bfc1d2e68ce
MD5 3dd03e5751e81aa51a7fe2ef25a9ddc2
BLAKE2b-256 d7a189019ee1df8d9de058a5bf23d5ddead94a79c1452084df3993f1a9867c39

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp312-cp312-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp312-cp312-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b8e41a769ad9a182bb8db190ca490bdcf8a42874f8a4460bd9caa456b943658
MD5 d6dfdbf93db5ae77ee1e17eff9cf76d4
BLAKE2b-256 9a6595099a56bb3a5ffb80326efef45bd013caaffe119b23e75129a1102605bb

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84a7f198e95b40f77db4deb773de3be4c1f6f9ca97646b26dc332c27062e64da
MD5 5f50454841175c4102bdb440324dcb9a
BLAKE2b-256 fd7d83e3773044305780ae1e689859bf0336385eca6a710a0055ae64ecba6fda

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 406a188122936d229c5a806391973608dcce6bfe3dfc8aa385a3aa037afb1d60
MD5 c7df1bc914aea7fda9924c8f18b0197a
BLAKE2b-256 eae2e5450d59aac8dde29a0fc3c6ef1c80ce118c1b56427458303cea240e16ad

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b94fc59b133a379677d2e9a3f27e3ab289e3fc187f54942b9fed54ced9c8bae9
MD5 45057359da4f7652ee6522919fe78459
BLAKE2b-256 315f971e4506abb66f87c94bf865f4b92d6e6da8da40430bba73004bd3b923ff

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37442d11393333e4dcdd97d103b7256c2fc6b7a108f2677ca73558364588a770
MD5 add6eb5abb11c236947642cae721b126
BLAKE2b-256 b5c54ef21d0cb78a05a51f984cca283815306772da9db995d870fde38e523485

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53b59942fbe82a9790e2f39a31996b3f71d1ab3e8ef72462605765f9c9235237
MD5 18cd39d6fa2b4e541901412a50cac040
BLAKE2b-256 2af17bdd0502628ac8ee03a159f6e9adcd151fe65ac8bad3b84522a7affd6d18

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 205afb30f2c49fe4e259ea54939f8241509cc49a5eaa89262047b20d9615fa1f
MD5 792ba37ddf45b0a950d14e45b66972fa
BLAKE2b-256 adbcb889fc6734bf3e866e65973e37c7fc693f1f7c3bf05d790e796b71ab91da

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6f2e2bdc7afe74db708e3abeb9bd8b7083bc217a97a2fd75eb8f69820ee061c
MD5 1989b0ade2050b6ed99364a25f86cce1
BLAKE2b-256 6baa5c9180b9f85244427ab91d511810f6f4a8541ac27e454fe72ae9f9bb70b2

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c882f758d122d201dfb659e3029269d6f0d6df692a47f86bb49153d99e881b17
MD5 9e89ebff4410489b3b0d0bc1287862da
BLAKE2b-256 479f5146d0b66e3adfaba761d1a4a38c1215b66712c96bb45bfaf927bc517e30

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f55667e2dfa305f047271b7dc8e4cdd3975271322acc41eea92722c27264f50
MD5 d1ecbc330145631fdb2e003e46c1f5b5
BLAKE2b-256 4454ea4592f48a5cce04b3303be4894950b5e632abc32852c020d54d9378f575

See more details on using hashes here.

File details

Details for the file deeplake-4.6.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for deeplake-4.6.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 498deb5512bb1107f247f1761c2e5ca5a1b711e71ef1c8b81526a056190be512
MD5 23ccacfe10356feb4836829071cb4a61
BLAKE2b-256 a303c50a6d42b93fd8f10befb2b74d991409dbd20be39b2b76292af039a2c3cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page