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

Move some reader logic into abstract base class and implement reader for all-class godot data #17

Open
wants to merge 27 commits into
base: main
Choose a base branch
from

Conversation

EricPedley
Copy link
Member

@EricPedley EricPedley commented May 16, 2024

Summary

The new Godot reader doesn't actually use the abstract base class because it takes a Godot dataset as input instead of a dataset that's YOLO-formatted.

I also edited YoloWriter to print out one of the errors in addition to raising it so it's visible during multiprocessing

Testing

  1. On the lab pc, go to /home/forge/eric/uavf_2024/imaging_training_2024
  2. py -m yolo_to_yolo.run_godot_reader

This will create a folder in /datasets/godot_processed. If you want to reproduce on a different machine, you can scp down /datasets/godot_raw/godot_data_small_100 and edit the input/output paths of the main script.

@EricPedley
Copy link
Member Author

I'm hella petty so I force-pushed to change the author of the commits I made on the lab PC to myself instead of vince

@MinhxNguyen7
Copy link
Collaborator

The tasks are for choosing which sub-directory to output to

@MinhxNguyen7
Copy link
Collaborator

MinhxNguyen7 commented May 16, 2024

If there's an online copy of the dataset, can you link it here so that I can test it out locally?

Also, can you briefly specify what the expected input for this script is and how to set it up reproducibly? That can go in the class description.

Copy link
Collaborator

@MinhxNguyen7 MinhxNguyen7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to be too perfectionistic, but I think I should have high expectations here

# same as superclass constructor but without path checking because we need to swap order
# of task and directory (e.g. train/images -> images/train)

def read(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my understadning, this would only support classifiation, right? Why don't we just implement detection support as well? It should just be a little bit of easy math.

yolo_to_yolo/godot_reader.py Outdated Show resolved Hide resolved
yolo_to_yolo/godot_reader.py Outdated Show resolved Hide resolved
yolo_to_yolo/godot_reader.py Outdated Show resolved Hide resolved
yolo_to_yolo/godot_reader.py Outdated Show resolved Hide resolved
@EricPedley
Copy link
Member Author

ok @MinhxNguyen7 this is done for real now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants