fiftyone
fiftyone copied to clipboard
[BUG] dynamic groups in video-only datasets returns unstable ordering of samples
Instructions
System information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 13.4.1
-
Python version (
python --version
): 3.10.8 -
FiftyOne version (
fiftyone --version
): 0.21.5 - FiftyOne installed from (pip or source): source
Commands to reproduce
import fiftyone as fo
import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset("quickstart-video")
Describe the problem
When creating unordered dynamic groups from the app on image or pcd only datasets, it returns a stable sample collection. But with video datasets, the returned sample collection is unstable and changes in every page refresh.
What areas of FiftyOne does this bug affect?
- [x]
App
: FiftyOne application issue - [x]
Core
: Core Python library issue - [ ]
Server
: FiftyOne server issue
Willingness to contribute
- [x] Yes. I can contribute a fix for this bug independently
- [ ] Yes. I would be willing to contribute a fix for this bug with guidance from the FiftyOne community
- [ ] No. I cannot contribute a bug fix at this time
@sashankaryal can you provide an example group_by()
operation on the quickstart-video
dataset that demonstrates the instability you're referencing?
Below is the group_by
view stage associated with this issue. Note that this one is ordered, but we see the same behavior in unordered query as well.
"view": [
{
"_cls": "fiftyone.core.stages.GroupBy",
"kwargs": [
[
"field_or_expr",
"metadata.duration"
],
[
"order_by",
"metadata.size_bytes"
],
[
"reverse",
false
],
[
"flat",
false
],
[
"match_expr",
null
],
[
"sort_expr",
null
],
[
"create_index",
true
]
],
"_uuid": "8c4af56f-7cca-4913-b12a-c0e172e0adbe"
}
]