fiftyone icon indicating copy to clipboard operation
fiftyone copied to clipboard

[BUG] dynamic groups in video-only datasets returns unstable ordering of samples

Open sashankaryal opened this issue 1 year ago • 2 comments

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 avatar Aug 16 '23 22:08 sashankaryal

@sashankaryal can you provide an example group_by() operation on the quickstart-video dataset that demonstrates the instability you're referencing?

brimoor avatar Sep 25 '23 15:09 brimoor

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"
    }
  ]

sashankaryal avatar Sep 29 '23 16:09 sashankaryal