deepvisiontools 1.0.2__tar.gz → 1.0.4__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 (174) hide show
  1. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/PKG-INFO +8 -4
  2. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/README.md +4 -0
  3. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/pyproject.toml +4 -4
  4. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/__init__.py +1 -1
  5. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/data/data.py +1 -1
  6. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/datasets/base.py +1 -1
  7. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/base/basemodel.py +56 -0
  8. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/commonblocks.py +1 -1
  9. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/smp/smp.py +1 -1
  10. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/yolo/yolo.py +1 -1
  11. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/yoloseg/yoloseg.py +1 -1
  12. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/trainconfig.py +16 -0
  13. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/trainer.py +464 -130
  14. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/PKG-INFO +8 -4
  15. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/requires.txt +3 -3
  16. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/LICENSE.txt +0 -0
  17. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/setup.cfg +0 -0
  18. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/cli.py +0 -0
  19. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/config/__init__.py +0 -0
  20. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/config/config.py +0 -0
  21. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/data/__init__.py +0 -0
  22. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/data/data_registry.py +0 -0
  23. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/data/operators.py +0 -0
  24. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/data/ops_registry.py +0 -0
  25. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/datasets/__init__.py +0 -0
  26. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/datasets/additional_augmentations.py +0 -0
  27. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/datasets/coco_dataset.py +0 -0
  28. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/datasets/semantic_dataset.py +0 -0
  29. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/download_demo_datasets.py +0 -0
  30. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/download_tutorials.py +0 -0
  31. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/evaluation/__init__.py +0 -0
  32. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/evaluation/evaluator.py +0 -0
  33. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/evaluation/writers.py +0 -0
  34. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/__init__.py +0 -0
  35. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/nms.py +0 -0
  36. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/predictor.py +0 -0
  37. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/strategies/__init__.py +0 -0
  38. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/strategies/base.py +0 -0
  39. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/strategies/detection.py +0 -0
  40. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/strategies/instance.py +0 -0
  41. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/strategies/semantic.py +0 -0
  42. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/inference/tiling.py +0 -0
  43. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/install_dcnv3.py +0 -0
  44. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/__init__.py +0 -0
  45. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/accumulators.py +0 -0
  46. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/engines.py +0 -0
  47. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/factories.py +0 -0
  48. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/metrics_core.py +0 -0
  49. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/per_sample_engine.py +0 -0
  50. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/metrics/suites.py +0 -0
  51. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/__init__.py +0 -0
  52. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/base/__init__.py +0 -0
  53. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/base/checkpoints.py +0 -0
  54. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/base/protocols.py +0 -0
  55. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/__init__.py +0 -0
  56. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/detector.py +0 -0
  57. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/detector_seg.py +0 -0
  58. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/__init__.py +0 -0
  59. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/backbones/__init__.py +0 -0
  60. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/backbones/backbones.py +0 -0
  61. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/__init__.py +0 -0
  62. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/headregistry.py +0 -0
  63. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/neckregistry.py +0 -0
  64. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/outputs.py +0 -0
  65. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/specs.py +0 -0
  66. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/commons/utils.py +0 -0
  67. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/__init__.py +0 -0
  68. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/config.py +0 -0
  69. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/__init__.py +0 -0
  70. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/__init__.py +0 -0
  71. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-base_cascade_maskrcnn.yaml +0 -0
  72. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-base_cascade_rcnn.yaml +0 -0
  73. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-base_vfnet_stardcn.yaml +0 -0
  74. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-huge_cascade_maskrcnn.yaml +0 -0
  75. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-huge_cascade_rcnn.yaml +0 -0
  76. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-huge_vfnet_stardcn.yaml +0 -0
  77. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-large_cascade_maskrcnn.yaml +0 -0
  78. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-large_cascade_rcnn.yaml +0 -0
  79. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_convnextv2-large_vfnet_stardcn.yaml +0 -0
  80. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-b-1k-224_cascade_maskrcnn.yaml +0 -0
  81. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-b-1k-224_cascade_rcnn.yaml +0 -0
  82. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-b-1k-224_vfnet_stardcn.yaml +0 -0
  83. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-h-22kto1k-640_cascade_maskrcnn.yaml +0 -0
  84. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-h-22kto1k-640_cascade_rcnn.yaml +0 -0
  85. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-h-22kto1k-640_vfnet_stardcn.yaml +0 -0
  86. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-xl-22kto1k-384_cascade_maskrcnn.yaml +0 -0
  87. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-xl-22kto1k-384_cascade_rcnn.yaml +0 -0
  88. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_detector_internimage-xl-22kto1k-384_vfnet_stardcn.yaml +0 -0
  89. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-base-patch16-dinov3_cascade_maskrcnn.yaml +0 -0
  90. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-base-patch16-dinov3_cascade_rcnn.yaml +0 -0
  91. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-base-patch16-dinov3_vfnet_stardcn.yaml +0 -0
  92. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-giant-patch16-dinov3_cascade_maskrcnn.yaml +0 -0
  93. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-giant-patch16-dinov3_cascade_rcnn.yaml +0 -0
  94. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-huge-plus-patch16-dinov3_cascade_maskrcnn.yaml +0 -0
  95. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/cocopretrained/default_tabdet_vit-huge-plus-patch16-dinov3_cascade_rcnn.yaml +0 -0
  96. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/default_detector_cascade_maskrcnn.yaml +0 -0
  97. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/default_detector_cascade_rcnn.yaml +0 -0
  98. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/default_detector_vfnet.yaml +0 -0
  99. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/default_tabdet_cascade_rcnn.yaml +0 -0
  100. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/model_configs/default_tabdet_vfnet.yaml +0 -0
  101. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/config/yamlutils.py +0 -0
  102. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/facades/__init__.py +0 -0
  103. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/facades/detectors.py +0 -0
  104. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/facades/tabdets.py +0 -0
  105. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/heads/__init__.py +0 -0
  106. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/heads/headblocks.py +0 -0
  107. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/heads/heads.py +0 -0
  108. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/losses/__init__.py +0 -0
  109. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/losses/losses.py +0 -0
  110. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/losses/lossutils.py +0 -0
  111. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/necks/__init__.py +0 -0
  112. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/necks/neckblocks.py +0 -0
  113. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/necks/necks.py +0 -0
  114. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/tiling/__init__.py +0 -0
  115. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/models/tiling/tiling.py +0 -0
  116. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/tab_seg.py +0 -0
  117. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/detectors/tabdet.py +0 -0
  118. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/helpers/__init__.py +0 -0
  119. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/helpers/device_amp_helpers.py +0 -0
  120. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/helpers/preprocess_helpers.py +0 -0
  121. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/smp/__init__.py +0 -0
  122. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/yolo/__init__.py +0 -0
  123. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/models/yoloseg/__init__.py +0 -0
  124. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/__init__.py +0 -0
  125. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/__init__.py +0 -0
  126. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/configregistry.py +0 -0
  127. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/__init__.py +0 -0
  128. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-base_cascade_maskrcnn_default_config.yaml +0 -0
  129. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-base_cascade_rcnn_default_config.yaml +0 -0
  130. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-base_vfnet_stardcn_default_config.yaml +0 -0
  131. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-huge_cascade_maskrcnn_default_config.yaml +0 -0
  132. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-huge_cascade_rcnn_default_config.yaml +0 -0
  133. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-huge_vfnet_stardcn_default_config.yaml +0 -0
  134. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-large_cascade_maskrcnn_default_config.yaml +0 -0
  135. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-large_cascade_rcnn_default_config.yaml +0 -0
  136. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_convnextv2-large_vfnet_stardcn_default_config.yaml +0 -0
  137. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-b-1k-224_cascade_maskrcnn_default_config.yaml +0 -0
  138. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-b-1k-224_cascade_rcnn_default_config.yaml +0 -0
  139. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-b-1k-224_vfnet_stardcn_default_config.yaml +0 -0
  140. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-h-22kto1k-640_cascade_maskrcnn_default_config.yaml +0 -0
  141. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-h-22kto1k-640_cascade_rcnn_default_config.yaml +0 -0
  142. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-h-22kto1k-640_vfnet_stardcn_default_config.yaml +0 -0
  143. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-xl-22kto1k-384_cascade_maskrcnn_default_config.yaml +0 -0
  144. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-xl-22kto1k-384_cascade_rcnn_default_config.yaml +0 -0
  145. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/detector_internimage-xl-22kto1k-384_vfnet_stardcn_default_config.yaml +0 -0
  146. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-base-patch16-dinov3_cascade_maskrcnn_default_config.yaml +0 -0
  147. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-base-patch16-dinov3_cascade_rcnn_default_config.yaml +0 -0
  148. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-base-patch16-dinov3_vfnet_stardcn_default_config.yaml +0 -0
  149. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-giant-patch16-gap-224_cascade_maskrcnn_default_config.yaml +0 -0
  150. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-giant-patch16-gap-224_cascade_rcnn_default_config.yaml +0 -0
  151. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-huge-plus-patch16-dinov3_cascade_maskrcnn_default_config.yaml +0 -0
  152. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/detectors_cocopretrained/tabdet_vit-huge-plus-patch16-dinov3_cascade_rcnn_default_config.yaml +0 -0
  153. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/smp_unet_resnet50_default_config.yaml +0 -0
  154. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11l-seg_default_config.yaml +0 -0
  155. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11l_default_config.yaml +0 -0
  156. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11m-seg_default_config.yaml +0 -0
  157. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11m_default_config.yaml +0 -0
  158. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11n-seg_default_config.yaml +0 -0
  159. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11n_default_config.yaml +0 -0
  160. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11x-seg_default_config.yaml +0 -0
  161. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/availableconfigs/yolo11x_default_config.yaml +0 -0
  162. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/ema.py +0 -0
  163. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/hooks.py +0 -0
  164. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/llrd.py +0 -0
  165. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/loggers.py +0 -0
  166. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/train/optuna_wrapper.py +0 -0
  167. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/utils/__init__.py +0 -0
  168. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/utils/image_and_mask.py +0 -0
  169. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/utils/logging.py +0 -0
  170. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools/utils/preprocessing.py +0 -0
  171. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/SOURCES.txt +0 -0
  172. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/dependency_links.txt +0 -0
  173. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/entry_points.txt +0 -0
  174. {deepvisiontools-1.0.2 → deepvisiontools-1.0.4}/src/deepvisiontools.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepvisiontools
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: deepvisiontools is a library built on torch for training and inference processes for deep learning computer vision tasks.
5
5
  Author-email: Lucas Bernigaud Samatan <lucas.bernigaud-samatan@inrae.fr>, Jordan Bernigaud Samatan <jordan.bernigaud-samatan@inrae.fr>
6
6
  Maintainer-email: Jordan Bernigaud Samatan <jordan.bernigaud-samatan@inrae.fr>, Lucas Bernigaud Samatan <lucas.bernigaud-samatan@inrae.fr>
@@ -688,7 +688,7 @@ Requires-Dist: torch-tb-profiler<1.0,>=0.4.0
688
688
  Requires-Dist: mlflow<4.0,>=3.1.0
689
689
  Requires-Dist: fastapi!=0.136.3,<1.0
690
690
  Requires-Dist: starlette<2.0,>=1.0.1
691
- Requires-Dist: ultralytics<8.5.0,>=8.3.28
691
+ Requires-Dist: ultralytics<8.4.57,>=8.3.28
692
692
  Requires-Dist: transformers<6.0,>=5.0.0
693
693
  Requires-Dist: colorcet<4.0,>=3.1.0
694
694
  Requires-Dist: segmentation-models-pytorch<1.0,>=0.4.1
@@ -696,8 +696,8 @@ Requires-Dist: openpyxl<4.0,>=3.1.5
696
696
  Requires-Dist: optuna<5.0,>=4.0.0
697
697
  Requires-Dist: optuna-dashboard<1.0,>=0.20.0
698
698
  Requires-Dist: huggingface_hub<2.0,>=1.5.0
699
- Requires-Dist: pillow<13.0,>=12.2.0
700
- Requires-Dist: setuptools<82,>=78.1.1
699
+ Requires-Dist: pillow<13.0,>=12.3.0
700
+ Requires-Dist: setuptools<84,>=83.0.0
701
701
  Provides-Extra: dev
702
702
  Requires-Dist: pytest<10.0,>=9.0; extra == "dev"
703
703
  Requires-Dist: pytest-cov<8.0,>=7.0; extra == "dev"
@@ -729,10 +729,14 @@ Dynamic: license-file
729
729
 
730
730
  ## News
731
731
 
732
+ - Note that some error may occur while using yolo models. If so, check the ultralytics version and downgrade it to below or equal to 8.4.56. Otherwise simply upgrade deepvisiontools above or equal to 1.0.4.
733
+
732
734
  - *release 1.0.0: detector / detector-seg / tabdet / tabdet-seg model wrappers are heavy but powerful models for detection and instance segmentation. However, they are not fully pretrained (only backbone on imagenet). Therefore, on small datasets (< 1000 images ish, but depend on the dataset ...) they can be slightly less competitive than yolo models (also included in the library) that were fully pretrained on coco. We are currently pretraining some of the models but it takes time. We are goind to update the weights once done, so keep tuned for new releases. We suggest you always train a yolo model as well for a baseline comparison. However, on larger datasets they can significantly outperform yolo11x, but again it depends on the dataset ...*
733
735
 
734
736
  ### patchs
735
737
 
738
+ - *1.0.4: fixed inconsistency for yolo wrappers due to modified behaviour in ultralytics forward above 8.4.56 versions. Setting stricted dependency on ultralytics*
739
+ - *1.0.3: fixed ddp desynchronization during validation, made ddp more robust, added ddp timeout control*
736
740
  - *1.0.2: added option to concat datasets for deepvisiondataset (DeepVisionDataset.concat)*
737
741
  - *1.0.1: fixed inconsistency for yolo wrappers due to modified behaviour in ultralytics between 8.3 and 8.4 versions. Fixed and compatible with both.*
738
742
 
@@ -12,10 +12,14 @@
12
12
 
13
13
  ## News
14
14
 
15
+ - Note that some error may occur while using yolo models. If so, check the ultralytics version and downgrade it to below or equal to 8.4.56. Otherwise simply upgrade deepvisiontools above or equal to 1.0.4.
16
+
15
17
  - *release 1.0.0: detector / detector-seg / tabdet / tabdet-seg model wrappers are heavy but powerful models for detection and instance segmentation. However, they are not fully pretrained (only backbone on imagenet). Therefore, on small datasets (< 1000 images ish, but depend on the dataset ...) they can be slightly less competitive than yolo models (also included in the library) that were fully pretrained on coco. We are currently pretraining some of the models but it takes time. We are goind to update the weights once done, so keep tuned for new releases. We suggest you always train a yolo model as well for a baseline comparison. However, on larger datasets they can significantly outperform yolo11x, but again it depends on the dataset ...*
16
18
 
17
19
  ### patchs
18
20
 
21
+ - *1.0.4: fixed inconsistency for yolo wrappers due to modified behaviour in ultralytics forward above 8.4.56 versions. Setting stricted dependency on ultralytics*
22
+ - *1.0.3: fixed ddp desynchronization during validation, made ddp more robust, added ddp timeout control*
19
23
  - *1.0.2: added option to concat datasets for deepvisiondataset (DeepVisionDataset.concat)*
20
24
  - *1.0.1: fixed inconsistency for yolo wrappers due to modified behaviour in ultralytics between 8.3 and 8.4 versions. Fixed and compatible with both.*
21
25
 
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=78.1.1,<82"]
2
+ requires = ["setuptools>=83.0.0,<84"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
@@ -44,7 +44,7 @@ dependencies = [
44
44
  "fastapi!=0.136.3,<1.0",
45
45
  "starlette>=1.0.1,<2.0",
46
46
 
47
- "ultralytics>=8.3.28,<8.5.0",
47
+ "ultralytics>=8.3.28,<8.4.57",
48
48
  "transformers>=5.0.0,<6.0",
49
49
  "colorcet>=3.1.0,<4.0",
50
50
  "segmentation-models-pytorch>=0.4.1,<1.0",
@@ -52,8 +52,8 @@ dependencies = [
52
52
  "optuna>=4.0.0,<5.0",
53
53
  "optuna-dashboard>=0.20.0,<1.0",
54
54
  "huggingface_hub>=1.5.0,<2.0",
55
- "pillow>=12.2.0,<13.0",
56
- "setuptools>=78.1.1,<82",
55
+ "pillow>=12.3.0,<13.0",
56
+ "setuptools>=83.0.0,<84",
57
57
  ]
58
58
 
59
59
  [project.urls]
@@ -1,4 +1,4 @@
1
- __version__ = "1.0.2"
1
+ __version__ = "1.0.4"
2
2
 
3
3
  from .config import current, set_current, use_config
4
4
  from .datasets import DeepVisionDataset, DeepVisionLoader
@@ -1887,7 +1887,7 @@ class BatchData:
1887
1887
  """
1888
1888
  return [d.value for d in self.datas]
1889
1889
 
1890
- def scores(self) -> list[torch.Tensor | None | SemanticLogits]:
1890
+ def scores(self) -> list[torch.Tensor | SemanticLogits | None]:
1891
1891
  """
1892
1892
  Return scores tensors for each item as a list.
1893
1893
  """
@@ -1273,7 +1273,7 @@ class DeepVisionLoader(DataLoader):
1273
1273
  persistent_workers=False,
1274
1274
  pin_memory_device="",
1275
1275
  in_order=True,
1276
- batch_augmenter: None | BatchAugmenter = None,
1276
+ batch_augmenter: BatchAugmenter | None = None,
1277
1277
  ) -> None:
1278
1278
  self.batch_augmenter = batch_augmenter
1279
1279
  self.base_collate_fn = collate_fn
@@ -243,6 +243,62 @@ class DeepVisionModel(torch.nn.Module):
243
243
 
244
244
  # ----------------------------- core steps -----------------------------
245
245
 
246
+ def forward(
247
+ self,
248
+ images: torch.Tensor,
249
+ targets: BatchData | None = None,
250
+ *,
251
+ extra_args: dict[str, Any] | None = None,
252
+ mode: Literal["train", "eval", "valid", "predict"] = "train",
253
+ ) -> ModelOutput:
254
+ """
255
+ DDP-compatible forward dispatcher.
256
+
257
+ `DeepVisionModel` keeps the public high-level façade methods
258
+ `train_step`, `eval_step`, and `predict`. This `forward` method is the
259
+ module-level entrypoint used by wrappers such as
260
+ `torch.nn.parallel.DistributedDataParallel`, and dispatches to the same
261
+ façade methods without changing their behavior.
262
+
263
+ Args:
264
+ images (`torch.Tensor`): Image batch.
265
+ targets (`BatchData | None`): Optional target batch data.
266
+ extra_args (`dict[str, Any] | None`): Optional backend-specific
267
+ keyword payload forwarded to the selected façade method.
268
+ mode (`Literal["train", "eval", "valid", "predict"]`): Execution
269
+ path. `"train"` calls `train_step`, `"eval"` and `"valid"` call
270
+ `eval_step`, and `"predict"` calls `predict`.
271
+
272
+ Returns:
273
+ `ModelOutput`: Standard DeepVisionTools model output.
274
+
275
+ ???+ note "DDP note"
276
+ ```
277
+ In DDP, the Trainer must call the DDP wrapper itself, not
278
+ ddp.module.train_step(...). Calling the wrapper triggers PyTorch's
279
+ distributed forward/backward bookkeeping, while this dispatcher keeps
280
+ the DeepVisionTools façade API unchanged.
281
+ ```
282
+ """
283
+ if mode == "train":
284
+ return self.train_step(images, targets, extra_args=extra_args)
285
+
286
+ if mode in {"eval", "valid"}:
287
+ return self.eval_step(images, targets, extra_args=extra_args)
288
+
289
+ if mode == "predict":
290
+ if targets is not None:
291
+ raise ValueError(
292
+ "DeepVisionModel.forward(mode='predict') expects targets=None."
293
+ )
294
+ return self.predict(images, extra_args=extra_args)
295
+
296
+ raise ValueError(
297
+ "Unsupported DeepVisionModel.forward mode. "
298
+ "Expected one of {'train', 'eval', 'valid', 'predict'}, "
299
+ f"got {mode!r}."
300
+ )
301
+
246
302
  def train_step(
247
303
  self,
248
304
  images: torch.Tensor,
@@ -135,7 +135,7 @@ class ConvBNAct(nn.Module):
135
135
  g: int = 1,
136
136
  bias: bool = False,
137
137
  act: bool = True,
138
- norm: Literal["gn", "bn", "none"] | None | bool = "gn",
138
+ norm: Literal["gn", "bn", "none"] | bool | None = "gn",
139
139
  ):
140
140
  super().__init__()
141
141
 
@@ -56,7 +56,7 @@ class SMPBackend(Module):
56
56
  else:
57
57
  self.model = arch # already constructed
58
58
 
59
- def forward(self, x: torch.Tensor, extra_args: None | dict = None) -> torch.Tensor:
59
+ def forward(self, x: torch.Tensor, extra_args: dict | None = None) -> torch.Tensor:
60
60
  """
61
61
  Forward once through the SMP model.
62
62
 
@@ -412,7 +412,7 @@ class YOLOBackend(Module):
412
412
 
413
413
  self.pad_mult = _stride_from_arch(arch)
414
414
 
415
- def forward(self, x: torch.Tensor, extra_args: None | dict = None):
415
+ def forward(self, x: torch.Tensor, extra_args: dict | None = None):
416
416
  """
417
417
  Single forward for train/eval.
418
418
 
@@ -366,7 +366,7 @@ class YOLOSEGBackend(Module):
366
366
 
367
367
  self.pad_mult = _stride_from_arch(arch)
368
368
 
369
- def forward(self, x: torch.Tensor, extra_args: None | dict = None):
369
+ def forward(self, x: torch.Tensor, extra_args: dict | None = None):
370
370
  """
371
371
  Single forward for train/eval.
372
372
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import copy
4
4
  import datetime as _dt
5
5
  import importlib
6
+ import math
6
7
  import platform
7
8
  import sys
8
9
  from collections.abc import Callable, Sequence
@@ -371,6 +372,9 @@ class DevicesConfig:
371
372
  ```
372
373
  - device=None + strategy="auto": choose "cuda" if available, else "cpu" with warning.
373
374
  - strategy="auto" matches trainer logic (DDP if >1 GPU).
375
+ - ddp_timeout_seconds controls the distributed process-group timeout for
376
+ DDP collectives. If None, DDPStrategy reads DVT_DDP_TIMEOUT_SECONDS
377
+ when present, otherwise it uses its internal default.
374
378
  ```
375
379
  """
376
380
 
@@ -381,6 +385,9 @@ class DevicesConfig:
381
385
  num_workers: int | None = None
382
386
  pin_memory: bool | None = None
383
387
 
388
+ # None -> DDPStrategy env/default policy
389
+ ddp_timeout_seconds: float | None = None
390
+
384
391
  def __post_init__(self) -> None:
385
392
  if self.device is not None:
386
393
  dev = str(self.device).strip().lower()
@@ -400,6 +407,15 @@ class DevicesConfig:
400
407
  if self.pin_memory is not None:
401
408
  self.pin_memory = bool(self.pin_memory)
402
409
 
410
+ if self.ddp_timeout_seconds is not None:
411
+ timeout = float(self.ddp_timeout_seconds)
412
+ if not math.isfinite(timeout) or timeout <= 0.0:
413
+ raise ValueError(
414
+ "DevicesConfig.ddp_timeout_seconds must be a positive finite "
415
+ f"number of seconds. Got {self.ddp_timeout_seconds!r}."
416
+ )
417
+ self.ddp_timeout_seconds = timeout
418
+
403
419
 
404
420
  @dataclass
405
421
  class WarmupConfig: