-
Notifications
You must be signed in to change notification settings - Fork 1
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
Integration test for detect+track video #242
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #242 +/- ##
==========================================
+ Coverage 47.98% 48.18% +0.19%
==========================================
Files 24 24
Lines 1567 1567
==========================================
+ Hits 752 755 +3
+ Misses 815 812 -3 ☔ View full report in Codecov by Sentry. |
This reverts commit ec69f8e.
e85a39e
to
629bccf
Compare
This reverts commit 46daa32.
tests/fixtures/integration.py
Outdated
|
||
# Download the registry file from GIN | ||
# Force to download it fresh every time by using a timestamped filename | ||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as @niksirbi made me realise, if knonw_hash = None, the file is always downloaded.
So there is no need to set it to a different name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice @sfmig! The integration test is very understandable and readable (even for me, having my first contact with this repo), and it makes sense.
The pooch
bits we have already discussed intensely, and I think you can get rid of the time stamp.
FYI I timed the tests on my Macbook and they took:
- ~11 min the first time they were run (so including
pooch
download time) - ~2.5 minutes for subsequent runs
Most time is spent on the new test_inference.py
test.
This PR is good to go as is, but I'm wondering if you've considering running this on a smaller dataset (mostly in the interest of speeding up CI, if that's not so important ignore me).
bc5fe5e
to
ea6adc6
Compare
348a409
to
3ac53ca
Compare
3ac53ca
to
d3ec68e
Compare
thanks for the feedback @niksirbi ! The main bottleneck is not the size of the sample data, but the download of the trained model (which is ~160MB). I checked if it was possible to compress the data further to speed this up (increasing the level of compression with For now I have marked the integration test as slow, so that it can be skipped locally if desired with One thing I didn't know that was very useful in this process is that pytest can return setup and call times using the --durations=0 flag |
Description
What is this PR?
Why is this PR needed?
To ensure we maintain the functionality of the detector and tracker when refactoring related parts of the codebase.
What does this PR do?
--output-dir
is edited, to clarify it refers to the root name of the output directory rather than the full path to it (I opened an issue Support specifying output directory path for detect-and-track-video #246 to support this other functionality)Questions
I initially was parametrising possible flags for
--output-dir
too, but decided to remove them to reduce the run time of these tests and thinking this would be better covered in a unit test. But opinions are welcome on this!References
For now, the integration test checks the command runs successfully and the expected outputs are created.
After reviewing and fixing the tracking evaluation, the tests should be expanded to confirm the output csv files contain the expected metrics (PR #243).
How has this PR been tested?
Existing and new tests pass locally and in CI.
Does this PR require an update to the documentation?
N/a
Checklist: