opensportslib 0.3.0.dev5__tar.gz → 0.3.0.dev6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. {opensportslib-0.3.0.dev5/opensportslib.egg-info → opensportslib-0.3.0.dev6}/PKG-INFO +1 -1
  2. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/localization_dataset.py +23 -14
  3. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6/opensportslib.egg-info}/PKG-INFO +1 -1
  4. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/pyproject.toml +1 -1
  5. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_localization_dali_filenames.py +8 -1
  6. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/LICENSE +0 -0
  7. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/LICENSE-COMMERCIAL +0 -0
  8. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/MANIFEST.in +0 -0
  9. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/README.md +0 -0
  10. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/examples/quickstart/basic_classification.py +0 -0
  11. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/examples/quickstart/basic_localization.py +0 -0
  12. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/examples/quickstart/basic_vqa.py +0 -0
  13. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/__init__.py +0 -0
  14. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/apis/__init__.py +0 -0
  15. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/apis/base_task_model.py +0 -0
  16. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/apis/classification.py +0 -0
  17. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/apis/localization.py +0 -0
  18. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/apis/vqa.py +0 -0
  19. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/cli.py +0 -0
  20. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/classification/default.yaml +0 -0
  21. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
  22. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
  23. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/classification/video.yaml +0 -0
  24. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/default.yaml +0 -0
  25. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
  26. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/default.yaml +0 -0
  27. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
  28. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_distance_angle.yaml +0 -0
  29. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_distance_speed.yaml +0 -0
  30. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_distance_speed_angle.yaml +0 -0
  31. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_rule.yaml +0 -0
  32. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
  33. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
  34. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/video_dali.yaml +0 -0
  35. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/localization/video_ocv.yaml +0 -0
  36. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/default.yaml +0 -0
  37. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/qwen.yaml +0 -0
  38. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
  39. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
  40. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
  41. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/configs/vqa/xvars.yaml +0 -0
  42. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/__init__.py +0 -0
  43. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/__init__.py +0 -0
  44. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/accessors.py +0 -0
  45. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/conflicts.py +0 -0
  46. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/loader.py +0 -0
  47. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/migrate.py +0 -0
  48. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/migrations/__init__.py +0 -0
  49. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
  50. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/runtime_adapter.py +0 -0
  51. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/schema.py +0 -0
  52. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/schemas/__init__.py +0 -0
  53. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
  54. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
  55. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/config/validate.py +0 -0
  56. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/__init__.py +0 -0
  57. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/builder.py +0 -0
  58. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/calf.py +0 -0
  59. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/ce.py +0 -0
  60. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/combine.py +0 -0
  61. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/loss/nll.py +0 -0
  62. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/optimizer/__init__.py +0 -0
  63. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/optimizer/builder.py +0 -0
  64. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/sampler/weighted_sampler.py +0 -0
  65. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/scheduler/__init__.py +0 -0
  66. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/scheduler/builder.py +0 -0
  67. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/trainer/__init__.py +0 -0
  68. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/trainer/classification_trainer.py +0 -0
  69. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/trainer/localization_trainer.py +0 -0
  70. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/trainer/vqa_trainer.py +0 -0
  71. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/checkpoint.py +0 -0
  72. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/config.py +0 -0
  73. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/config_normalize.py +0 -0
  74. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/data.py +0 -0
  75. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/ddp.py +0 -0
  76. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/default_args.py +0 -0
  77. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/hf_runtime.py +0 -0
  78. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/lightning.py +0 -0
  79. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/load_annotations.py +0 -0
  80. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/seed.py +0 -0
  81. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/video_processing.py +0 -0
  82. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/core/utils/wandb.py +0 -0
  83. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/__init__.py +0 -0
  84. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/builder.py +0 -0
  85. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/classification_dataset.py +0 -0
  86. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/utils/__init__.py +0 -0
  87. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/utils/h5_tracking.py +0 -0
  88. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/utils/tracking.py +0 -0
  89. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/datasets/vqa_dataset.py +0 -0
  90. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/classification.yaml +0 -0
  91. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
  92. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
  93. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
  94. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/localization.yaml +0 -0
  95. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
  96. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
  97. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/metrics/classification_metric.py +0 -0
  98. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/metrics/localization_metric.py +0 -0
  99. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/metrics/vqa_metric.py +0 -0
  100. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/__init__.py +0 -0
  101. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/backbones/builder.py +0 -0
  102. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/contextaware.py +0 -0
  103. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/e2e.py +0 -0
  104. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/learnablepooling.py +0 -0
  105. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/qwen_vl_native.py +0 -0
  106. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/qwen_xvars.py +0 -0
  107. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/rule_based.py +0 -0
  108. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/tracking.py +0 -0
  109. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/vars.py +0 -0
  110. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/video.py +0 -0
  111. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
  112. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/video_mae.py +0 -0
  113. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
  114. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/builder.py +0 -0
  115. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/heads/builder.py +0 -0
  116. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/neck/builder.py +0 -0
  117. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/common.py +0 -0
  118. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/__init__.py +0 -0
  119. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/asformer.py +0 -0
  120. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/calf.py +0 -0
  121. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/gsm.py +0 -0
  122. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/gtad.py +0 -0
  123. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/impl/tsm.py +0 -0
  124. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/litebase.py +0 -0
  125. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/modules.py +0 -0
  126. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/shift.py +0 -0
  127. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/utils.py +0 -0
  128. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
  129. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/vqa_prompting.py +0 -0
  130. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/models/utils/xvars_clip_index.py +0 -0
  131. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/setup/setup.py +0 -0
  132. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/tools/__init__.py +0 -0
  133. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/tools/_common.py +0 -0
  134. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/tools/hf_transfer.py +0 -0
  135. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/tools/osl_json_to_parquet.py +0 -0
  136. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib/tools/parquet_to_osl_json.py +0 -0
  137. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib.egg-info/SOURCES.txt +0 -0
  138. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib.egg-info/dependency_links.txt +0 -0
  139. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib.egg-info/entry_points.txt +0 -0
  140. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib.egg-info/requires.txt +0 -0
  141. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/opensportslib.egg-info/top_level.txt +0 -0
  142. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/scripts/run_h5_header_rule_inference.py +0 -0
  143. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/scripts/run_header_spotting_eval.py +0 -0
  144. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/setup.cfg +0 -0
  145. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/conftest.py +0 -0
  146. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_classification_dataset_paths.py +0 -0
  147. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_classification_trainer_dataloader.py +0 -0
  148. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_config_architecture.py +0 -0
  149. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_config_split_override_sync.py +0 -0
  150. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_config_utils_smoke.py +0 -0
  151. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_conversion_tools.py +0 -0
  152. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_extract_xvars_features.py +0 -0
  153. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_h5_header_rule_spotter.py +0 -0
  154. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_h5_header_skeleton_spotter.py +0 -0
  155. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_h5_tracking_dataset.py +0 -0
  156. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_hf_transfer_tools.py +0 -0
  157. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_localization_hf_backend_override.py +0 -0
  158. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_package_smoke.py +0 -0
  159. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_pretrained_config_merge_policy.py +0 -0
  160. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_public_apis_smoke.py +0 -0
  161. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_setup_cli.py +0 -0
  162. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_subset_train_infer_integration.py +0 -0
  163. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_task_model_api_contract.py +0 -0
  164. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_vqa_api.py +0 -0
  165. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_vqa_metrics_semantic.py +0 -0
  166. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_vqa_qwen_xvars.py +0 -0
  167. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_vqa_training_lora.py +0 -0
  168. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tests/test_vqa_xvars_videochatgpt.py +0 -0
  169. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
  170. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/build_soccernet_gar.py +0 -0
  171. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
  172. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/build_soccernet_gar_vqa.py +0 -0
  173. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/build_xvars_indexes.py +0 -0
  174. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/extract_xvars_clip_features.py +0 -0
  175. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
  176. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
  177. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/download/download_hf_repo.py +0 -0
  178. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/download/download_osl_hf.py +0 -0
  179. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/download/upload_osl_hf.py +0 -0
  180. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/training/classification.py +0 -0
  181. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/training/localization.py +0 -0
  182. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/training/vqa.py +0 -0
  183. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev6}/tools/upload/upload_model_hf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensportslib
3
- Version: 0.3.0.dev5
3
+ Version: 0.3.0.dev6
4
4
  Summary: OpenSportsLib is the professional library, designed for advanced video understanding in sports. It provides state-of-the-art tools for action recognition, spotting, retrieval, and captioning, making it ideal for researchers, analysts, and developers working with sports video data.
5
5
  Author: Jeet Vora
6
6
  Requires-Python: >=3.12
@@ -74,6 +74,15 @@ def _build_dali_filenames_and_labels(labels):
74
74
  return filenames, label_indices
75
75
 
76
76
 
77
+ def _normalize_dali_devices(devices, sample_count):
78
+ devices = list(devices or [])
79
+ if not devices:
80
+ return [0]
81
+ if sample_count <= 0:
82
+ return devices[:1]
83
+ return devices[: max(1, min(len(devices), int(sample_count)))]
84
+
85
+
77
86
  def _dali_frame_num_to_local_frame(frame_num, stride):
78
87
  return frame_num // stride + 1
79
88
 
@@ -1538,13 +1547,16 @@ if DALI_AVAILABLE:
1538
1547
  else:
1539
1548
  self.batch_size = batch_size
1540
1549
 
1541
- self.batch_size_per_pipe = distribute_elements(self.batch_size, len(devices))
1550
+ self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1551
+ self._labels
1552
+ )
1553
+ self.devices = _normalize_dali_devices(devices, len(self._filenames))
1554
+ self.batch_size_per_pipe = distribute_elements(self.batch_size, len(self.devices))
1542
1555
 
1543
1556
  self.batch_size = batch_size
1544
1557
  self.nb_videos = dataset_len * 2 if mixup else dataset_len
1545
1558
  self.mixup = mixup
1546
1559
  self.output_map = output_map
1547
- self.devices = devices
1548
1560
  self.is_eval = is_eval
1549
1561
  self.crop_dim = crop_dim
1550
1562
  self.dilate_len = dilate_len
@@ -1555,9 +1567,6 @@ if DALI_AVAILABLE:
1555
1567
  self.TARGET_WIDTH = TARGET_WIDTH
1556
1568
 
1557
1569
  self._stride = get_stride(input_fps, extract_fps)
1558
- self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1559
- self._labels
1560
- )
1561
1570
 
1562
1571
  self.pipes = [
1563
1572
  self.video_pipe(
@@ -1570,9 +1579,9 @@ if DALI_AVAILABLE:
1570
1579
  num_threads=8,
1571
1580
  device_id=i,
1572
1581
  shard_id=index,
1573
- num_shards=len(devices),
1582
+ num_shards=len(self.devices),
1574
1583
  )
1575
- for index, i in enumerate(devices)
1584
+ for index, i in enumerate(self.devices)
1576
1585
  ]
1577
1586
 
1578
1587
  for pipe in self.pipes:
@@ -1931,16 +1940,16 @@ if DALI_AVAILABLE:
1931
1940
  self._stride_dali = stride_dali
1932
1941
  self._flip = flip
1933
1942
  self._multi_crop = multi_crop
1934
- self.batch_size = batch_size // len(devices)
1943
+ self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1944
+ self._labels
1945
+ )
1946
+ self.devices = _normalize_dali_devices(devices, len(self._filenames))
1947
+ self.batch_size = batch_size // len(self.devices)
1935
1948
  self.global_batch_size = batch_size
1936
- self.devices = devices
1937
1949
  self.IMAGENET_MEAN = IMAGENET_MEAN
1938
1950
  self.IMAGENET_STD = IMAGENET_STD
1939
1951
  self.TARGET_HEIGHT = TARGET_HEIGHT
1940
1952
  self.TARGET_WIDTH = TARGET_WIDTH
1941
- self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1942
- self._labels
1943
- )
1944
1953
  clip_count = 0
1945
1954
  for video in self._labels:
1946
1955
  num_clips = _count_dali_video_samples(
@@ -1961,9 +1970,9 @@ if DALI_AVAILABLE:
1961
1970
  num_threads=8,
1962
1971
  device_id=i,
1963
1972
  shard_id=index,
1964
- num_shards=len(devices),
1973
+ num_shards=len(self.devices),
1965
1974
  )
1966
- for index, i in enumerate(devices)
1975
+ for index, i in enumerate(self.devices)
1967
1976
  ]
1968
1977
 
1969
1978
  for pipe in self.pipes:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensportslib
3
- Version: 0.3.0.dev5
3
+ Version: 0.3.0.dev6
4
4
  Summary: OpenSportsLib is the professional library, designed for advanced video understanding in sports. It provides state-of-the-art tools for action recognition, spotting, retrieval, and captioning, making it ideal for researchers, analysts, and developers working with sports video data.
5
5
  Author: Jeet Vora
6
6
  Requires-Python: >=3.12
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "opensportslib"
7
- version = "0.3.0.dev5"
7
+ version = "0.3.0.dev6"
8
8
  description = "OpenSportsLib is the professional library, designed for advanced video understanding in sports. It provides state-of-the-art tools for action recognition, spotting, retrieval, and captioning, making it ideal for researchers, analysts, and developers working with sports video data."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -4,6 +4,7 @@ from opensportslib.datasets.localization_dataset import (
4
4
  _build_dali_filenames_and_labels,
5
5
  _count_dali_video_samples,
6
6
  _dali_frame_num_to_local_frame,
7
+ _normalize_dali_devices,
7
8
  _pad_dali_iterator_size,
8
9
  _resolve_dali_video_sample,
9
10
  )
@@ -56,4 +57,10 @@ def test_resolve_dali_video_sample_uses_relative_path_and_one_based_start():
56
57
  video_name, start = _resolve_dali_video_sample(labels, 0, 24, 12)
57
58
 
58
59
  assert video_name == "train/match one.mp4"
59
- assert start == 3
60
+ assert start == 3
61
+
62
+
63
+ def test_normalize_dali_devices_caps_shards_to_sample_count():
64
+ assert _normalize_dali_devices([0, 1, 2, 3], 1) == [0]
65
+ assert _normalize_dali_devices([0, 1, 2, 3], 2) == [0, 1]
66
+ assert _normalize_dali_devices([], 1) == [0]