Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Error in Fake Filesystem Simulation During YOLOv8 Training #352

Closed
2 tasks done
SubhadipMaji opened this issue Dec 12, 2024 · 0 comments
Closed
2 tasks done

Error in Fake Filesystem Simulation During YOLOv8 Training #352

SubhadipMaji opened this issue Dec 12, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@SubhadipMaji
Copy link

SubhadipMaji commented Dec 12, 2024

Search before asking

  • I have searched the Roboflow Notebooks issues and found no similar bug report.

Description

I am using pyfakefs to simulate a filesystem for creating and managing datasets dynamically for YOLOv8 training. The workflow includes:

Simulating the Filesystem: Using pyfakefs to create a directory structure for YOLOv8 (train/images, train/labels, val/images, val/labels).

Creating and Using Dataset: Populating the structure with files retrieved from an SQLite database and splitting them into training and validation sets.

Creating data.yaml: Generating a data.yaml file containing paths to the dataset folders within the simulated filesystem.

Initiating YOLOv8 Training: Attempting to train the YOLOv8 model using the ultralytics library, specifying data.yaml in the simulated filesystem as the dataset configuration.

However, when I start training, I encounter the following error:
OSError: [Error 9] Bad file descriptor in the fake filesystem: '5'

Additional

Cause of the Error: Why does this error occur when using pyfakefs? Could it be due to the library requiring direct access to file descriptors or OS-level operations that are incompatible with the fake filesystem?

Workarounds: Is there a way to bypass this issue in pyfakefs, such as allowing certain operations to fall back to the real filesystem?

Alternatives: If pyfakefs cannot support this use case, are there other libraries or methods to simulate a filesystem for training applications like YOLOv8?

Are you willing to submit a PR?

  • Yes I'd like to help by submitting a PR!
@SubhadipMaji SubhadipMaji added the enhancement New feature or request label Dec 12, 2024
@roboflow roboflow locked and limited conversation to collaborators Dec 12, 2024
@LinasKo LinasKo converted this issue into discussion #353 Dec 12, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant