data.yaml file has different references for image paths

Open
#125 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python

Research direction

Run the provided Roboflow API download example and inspect the generated data.yaml paths. Trace the Dataset download flow and the YOLO training entry point to determine whether the inconsistency is produced by the downloaded file or compensated for by training. Done means API downloads use consistent, relocatable image paths and training still works after the dataset folder is renamed.

Written by the indexing model from the issue text.

Description

When a dataset is downloaded via the API, the data.yaml file has inconsistent image paths. For example they look like:

test: ../test/images
train: project-name/train/images
val: project-name/valid/images

Oddly enough, when exported and downloaded manually from the roboflow page, the paths are correct. It would seem that this problem must be two fold:

  • data.yaml file is inconsistent
  • the Dataset object or the yolo tool must have an issue to compensate for the incorrect path

This was most obvious to me when I changed the name of the downloaded dataset folder and the YOLO training would no longer work.

Simply doing this:

from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace("roboflow-jvuqo").project("football-players-detection-3zvbc")
dataset = project.version(1).download("yolov8")

will illustrate the problem.

Dominant language
Python
Stars
642
Forks
146
Avg merge
1d 10h
Merged PRs (30d)
13

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from roboflow/roboflow-python

All issues in roboflow/roboflow-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.