Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upload dataset images and labels and handle the split in HUB #120

Open
1 task done
mehlkelm opened this issue Nov 23, 2022 · 5 comments
Open
1 task done

Upload dataset images and labels and handle the split in HUB #120

mehlkelm opened this issue Nov 23, 2022 · 5 comments
Assignees
Labels
enhancement New feature or request todo Further action is needed by Ultralytics

Comments

@mehlkelm
Copy link

Search before asking

  • I have searched the HUB issues and found no similar feature requests.

Description

It would be helpful if I could upload datasets without managing a fixed train/valid/test split myself. The HUB could distribute the images randomly according to a fixed or desired ratio.

Use case

As a dataset manager I don't want to distribute jpeg and annotation manually into train / validation / test subfolders.

Additional

No response

@mehlkelm mehlkelm added the enhancement New feature or request label Nov 23, 2022
@github-actions
Copy link

👋 Hello @mehlkelm, thank you for raising an issue about Ultralytics HUB 🚀! Please visit https://ultralytics.com/hub to learn more, and see our ⭐️ HUB Guidelines to quickly get started uploading datasets and training YOLOv5 models.

If this is a 🐛 Bug Report, please provide screenshots and steps to recreate your problem to help us get started working on a fix.

If this is a ❓ Question, please provide as much information as possible, including dataset, model, environment details etc. so that we might provide the most helpful response.

We try to respond to all issues as promptly as possible. Thank you for your patience!

@glenn-jocher
Copy link
Member

glenn-jocher commented Nov 26, 2022

@mehlkelm got it. This is a good feature request, I'll add it to our product roadmap.

@kalenmike @AyushExel @sergiossm see idea above to allow users to upload a single dataset split and then allow HUB to automatically split it according to pre-set ratios, i.e. 90/10 train/val probably.

@mehlkelm we have an autosplit function in YOLOv5 you can use as a quick fix in the interim:
https://github.com/ultralytics/yolov5/blob/350e8eb69e01bb162ec0b22d1d13a1d1c2752853/utils/dataloaders.py#L961-L968

def autosplit(path=DATASETS_DIR / 'coco128/images', weights=(0.9, 0.1, 0.0), annotated_only=False):
    """ Autosplit a dataset into train/val/test splits and save path/autosplit_*.txt files
    Usage: from utils.dataloaders import *; autosplit()
    Arguments
        path:            Path to images directory
        weights:         Train, val, test weights (list, tuple)
        annotated_only:  Only use images with an annotated txt file
    """

@glenn-jocher glenn-jocher added the todo Further action is needed by Ultralytics label Nov 26, 2022
@mehlkelm
Copy link
Author

Awesome, thanks

@mehlkelm we have an autosplit function in YOLOv5 you can use as a quick fix in the interim: https://github.com/ultralytics/yolov5/blob/350e8eb69e01bb162ec0b22d1d13a1d1c2752853/utils/dataloaders.py#L961-L968

I saw that, but assumed this is not applicable for training done from the hub?

@glenn-jocher
Copy link
Member

@mehlkelm autosplit() isn't connected to anything right now, it's mainly there as a function that users can run manually on an existing dataset.

@kalenmike kalenmike self-assigned this Dec 8, 2022
@kalenmike
Copy link
Member

This feature request is being scheduled for work.

@kalenmike kalenmike changed the title Autosplit dataset Upload dataset images and labels and handle the split in HUB Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request todo Further action is needed by Ultralytics
Projects
None yet
Development

No branches or pull requests

3 participants