-
Notifications
You must be signed in to change notification settings - Fork 5
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
Bug when inference with custom video #1
Comments
Hi, thank you for submitting the issue. Here's the steps I suggest to dig deeper. First, you can focus on running the file that produces this error. The indices are computed from start seconds, end seconds and fps. One of them is inconsistent with the input file hence reading the frame is out of bound for the index. Let me know if this helps you. |
Hi, I have the same issue. I tried it with a a video of duration 6:53 so I typed in the json this one ("fps": 25, "length_secs": 413) and I got this error after 15 batches
|
Hi @Daanfb, it's a simple io error. We can work through this. One file failed with number of frames index out of bound. Do you know which file? You can just run that one file and check the number of frames read in in line 95 for example. I would also check if number of seconds is slightly less than 413. Like actually 412.xx but rounded up? |
Hi @paulxinzhou. The number of seconds is 413.88, so I wrote 413 in the json. I printed out the length of the |
Hi @Daanfb, right, 513 sounds wrong, and it should be 413 * 30. One of the worries I have is having a long-ish video with a high fps make you run out of RAM pretty quickly. There is a possibility you may be hitting the memory limit of your machine and something failed along the way. I would suggest trying a couple of things. 1. Try with another video that worked to see if len(frames) make sense. 2. Convert this video to a lower fps and see if that can be read correctly. |
Hi @paulxinzhou. After several tests I came to the following conclusions: For videos with mp4 format, the maximum duration allowed is the duration in seconds * the number of frames indicated in the .json file < 513. These are several examples in which it would work:
On the other hand, for mkv format files it seems to work fine. I have performed the following tests:
In this last test the System RAM is between 8-11 GB and my system has 12.7GB. |
@Daanfb , that's a great observation. Re mp4 vs mkv, it must be that mkv is more memory efficient. The system memory is used up while decoding mkv / mp4 into numpy. That was my hypothesis and I think it still holds with the new data. |
After runing about 8 batch, it returns bug
Fail to perform transform [<paddlevideo.loader.pipelines.sample_one_file.OneFileSampler object at 0x7f5ab4d1f3a0>] with error: index 333 is out of bounds for axis 0 with size 327 and stack:
Traceback (most recent call last):
File "/content/Soccernet-features/paddlevideo/loader/pipelines/compose.py", line 69, in call
data = p(data)
File "/content/Soccernet-features/paddlevideo/loader/pipelines/sample_one_file.py", line 171, in call
return self._get(frames_idx, results)
File "/content/Soccernet-features/paddlevideo/loader/pipelines/sample_one_file.py", line 126, in _get
imgbuf = frames[idx]
IndexError: index 333 is out of bounds for axis 0 with size 327
The text was updated successfully, but these errors were encountered: