# Managing Labels/Annotations

**URL:** <https://discuss.dvc.org/t/managing-labels-annotations/2340>\
**Category:** Questions\
**Created:** [December 5, 2024, 7:41am UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340 "2024-12-05T07:41:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![qwirdoti](https://avatars.discourse-cdn.com/v4/letter/q/ecc23a/32.png) [@qwirdoti](https://discuss.dvc.org/u/qwirdoti)\
**Post date:** [December 5, 2024, 7:41am UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340/1 "2024-12-05T07:41:12Z")

</div>

Hi DVC Community

I would be generally interested on how others manage labels/annotations.

Assume I have one large dataset managed by DVC, which is further processed in multiple ML projects. The datasets consists of documents, where each file could have multiple labels and sublabels. Two files may have the same label, but different sublabels. Hence, a hierarchical folder structure is not suitable for my use case. Labels and sublabels may change over time, but the content of the files does not change.

A possible solution that I have in mind would be to have all files versioned within a single folder and keep track of the labels in a separate CSV. The CSV track the filename and the corresponding labels. But this would require additional effort to keep the data and the CSV in sync when files are added, deleted or updated.

Are there similar use cases or possible alternative solutions to this?  
Thanks in advance for any advice.

---

<div class="post-metadata">

**Author:** ![shcheklein](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.dvc.org/shcheklein/32/173_2.png) [@shcheklein](https://discuss.dvc.org/u/shcheklein)\
**Post date:** [December 10, 2024, 6:26pm UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340/2 "2024-12-10T18:26:00Z")

</div>

Hi! @qwirdoti. Question - do you store files (documents) in the cloud originally (and move them to DVC)?

---

<div class="post-metadata">

**Author:** ![qwirdoti](https://avatars.discourse-cdn.com/v4/letter/q/ecc23a/32.png) [@qwirdoti](https://discuss.dvc.org/u/qwirdoti)\
**Post date:** [December 11, 2024, 7:10am UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340/3 "2024-12-11T07:10:41Z")

</div>

Yes, that is currently our case. Essentially, we pull documents and labels from LabelStudio (cloud buckets) into ML projects.

---

<div class="post-metadata">

**Author:** ![shcheklein](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.dvc.org/shcheklein/32/173_2.png) [@shcheklein](https://discuss.dvc.org/u/shcheklein)\
**Post date:** [December 23, 2024, 6:55pm UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340/4 "2024-12-23T18:55:27Z")

</div>

I think you should look into DataChain. The whole purpose of it is to connect metadata (labels) and documents (references to documents in the cloud) into a “dataset” that can be versioned. Look into this example: [GitHub - shcheklein/example-datachain-dvc: An example how to use DataChain and DVC to version data, make project reproducible, track experiments and models](https://github.com/shcheklein/example-datachain-dvc) and this tutorial: [Google Colab](https://colab.research.google.com/github/iterative/datachain-examples/blob/main/formats/json-metadata-tutorial.ipynb) for reading JSON labels.

Please share some details - JSON / CSV structure, if you are using YOLO or not, etc - I can help you setup the pipeline / project.

---

<div class="post-metadata">

**Author:** ![qwirdoti](https://avatars.discourse-cdn.com/v4/letter/q/ecc23a/32.png) [@qwirdoti](https://discuss.dvc.org/u/qwirdoti)\
**Post date:** [January 3, 2025, 8:05am UTC](https://discuss.dvc.org/t/managing-labels-annotations/2340/5 "2025-01-03T08:05:00Z")

</div>

Thanks for the suggestion @shcheklein. In the meantime, we opted for a combination of DVC and [fiftyone](https://voxel51.com/fiftyone/), which appears to suit our use case very well.
