dnt 0.2.4__py3-none-any.whl → 0.3.1.3__py3-none-any.whl

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.

Potentially problematic release.


This version of dnt might be problematic. Click here for more details.

Files changed (305) hide show
  1. dnt/__init__.py +3 -2
  2. dnt/analysis/__init__.py +3 -2
  3. dnt/analysis/interaction.py +503 -0
  4. dnt/analysis/stop.py +22 -17
  5. dnt/analysis/stop2.py +289 -0
  6. dnt/analysis/stop3.py +754 -0
  7. dnt/detect/signal/detector.py +317 -0
  8. dnt/detect/yolov8/detector.py +116 -16
  9. dnt/engine/__init__.py +8 -0
  10. dnt/engine/bbox_interp.py +83 -0
  11. dnt/engine/bbox_iou.py +20 -0
  12. dnt/engine/cluster.py +31 -0
  13. dnt/engine/iob.py +66 -0
  14. dnt/filter/filter.py +321 -1
  15. dnt/label/labeler.py +4 -4
  16. dnt/label/labeler2.py +502 -0
  17. dnt/shared/__init__.py +2 -1
  18. dnt/shared/data/coco.names +0 -0
  19. dnt/shared/data/openimages.names +0 -0
  20. dnt/shared/data/voc.names +0 -0
  21. dnt/shared/download.py +12 -0
  22. dnt/shared/synhcro.py +150 -0
  23. dnt/shared/util.py +17 -4
  24. dnt/third_party/fast-reid/__init__.py +1 -0
  25. dnt/third_party/fast-reid/configs/Base-AGW.yml +19 -0
  26. dnt/third_party/fast-reid/configs/Base-MGN.yml +12 -0
  27. dnt/third_party/fast-reid/configs/Base-SBS.yml +63 -0
  28. dnt/third_party/fast-reid/configs/Base-bagtricks.yml +76 -0
  29. dnt/third_party/fast-reid/configs/DukeMTMC/AGW_R101-ibn.yml +12 -0
  30. dnt/third_party/fast-reid/configs/DukeMTMC/AGW_R50-ibn.yml +11 -0
  31. dnt/third_party/fast-reid/configs/DukeMTMC/AGW_R50.yml +7 -0
  32. dnt/third_party/fast-reid/configs/DukeMTMC/AGW_S50.yml +11 -0
  33. dnt/third_party/fast-reid/configs/DukeMTMC/bagtricks_R101-ibn.yml +12 -0
  34. dnt/third_party/fast-reid/configs/DukeMTMC/bagtricks_R50-ibn.yml +11 -0
  35. dnt/third_party/fast-reid/configs/DukeMTMC/bagtricks_R50.yml +7 -0
  36. dnt/third_party/fast-reid/configs/DukeMTMC/bagtricks_S50.yml +11 -0
  37. dnt/third_party/fast-reid/configs/DukeMTMC/mgn_R50-ibn.yml +11 -0
  38. dnt/third_party/fast-reid/configs/DukeMTMC/sbs_R101-ibn.yml +12 -0
  39. dnt/third_party/fast-reid/configs/DukeMTMC/sbs_R50-ibn.yml +11 -0
  40. dnt/third_party/fast-reid/configs/DukeMTMC/sbs_R50.yml +7 -0
  41. dnt/third_party/fast-reid/configs/DukeMTMC/sbs_S50.yml +11 -0
  42. dnt/third_party/fast-reid/configs/MOT17/AGW_R101-ibn.yml +12 -0
  43. dnt/third_party/fast-reid/configs/MOT17/AGW_R50-ibn.yml +11 -0
  44. dnt/third_party/fast-reid/configs/MOT17/AGW_R50.yml +7 -0
  45. dnt/third_party/fast-reid/configs/MOT17/AGW_S50.yml +11 -0
  46. dnt/third_party/fast-reid/configs/MOT17/bagtricks_R101-ibn.yml +12 -0
  47. dnt/third_party/fast-reid/configs/MOT17/bagtricks_R50-ibn.yml +11 -0
  48. dnt/third_party/fast-reid/configs/MOT17/bagtricks_R50.yml +7 -0
  49. dnt/third_party/fast-reid/configs/MOT17/bagtricks_S50.yml +11 -0
  50. dnt/third_party/fast-reid/configs/MOT17/mgn_R50-ibn.yml +11 -0
  51. dnt/third_party/fast-reid/configs/MOT17/sbs_R101-ibn.yml +12 -0
  52. dnt/third_party/fast-reid/configs/MOT17/sbs_R50-ibn.yml +11 -0
  53. dnt/third_party/fast-reid/configs/MOT17/sbs_R50.yml +7 -0
  54. dnt/third_party/fast-reid/configs/MOT17/sbs_S50.yml +11 -0
  55. dnt/third_party/fast-reid/configs/MOT20/AGW_R101-ibn.yml +12 -0
  56. dnt/third_party/fast-reid/configs/MOT20/AGW_R50-ibn.yml +11 -0
  57. dnt/third_party/fast-reid/configs/MOT20/AGW_R50.yml +7 -0
  58. dnt/third_party/fast-reid/configs/MOT20/AGW_S50.yml +11 -0
  59. dnt/third_party/fast-reid/configs/MOT20/bagtricks_R101-ibn.yml +12 -0
  60. dnt/third_party/fast-reid/configs/MOT20/bagtricks_R50-ibn.yml +11 -0
  61. dnt/third_party/fast-reid/configs/MOT20/bagtricks_R50.yml +7 -0
  62. dnt/third_party/fast-reid/configs/MOT20/bagtricks_S50.yml +11 -0
  63. dnt/third_party/fast-reid/configs/MOT20/mgn_R50-ibn.yml +11 -0
  64. dnt/third_party/fast-reid/configs/MOT20/sbs_R101-ibn.yml +12 -0
  65. dnt/third_party/fast-reid/configs/MOT20/sbs_R50-ibn.yml +11 -0
  66. dnt/third_party/fast-reid/configs/MOT20/sbs_R50.yml +7 -0
  67. dnt/third_party/fast-reid/configs/MOT20/sbs_S50.yml +11 -0
  68. dnt/third_party/fast-reid/configs/MSMT17/AGW_R101-ibn.yml +12 -0
  69. dnt/third_party/fast-reid/configs/MSMT17/AGW_R50-ibn.yml +11 -0
  70. dnt/third_party/fast-reid/configs/MSMT17/AGW_R50.yml +7 -0
  71. dnt/third_party/fast-reid/configs/MSMT17/AGW_S50.yml +11 -0
  72. dnt/third_party/fast-reid/configs/MSMT17/bagtricks_R101-ibn.yml +13 -0
  73. dnt/third_party/fast-reid/configs/MSMT17/bagtricks_R50-ibn.yml +12 -0
  74. dnt/third_party/fast-reid/configs/MSMT17/bagtricks_R50.yml +7 -0
  75. dnt/third_party/fast-reid/configs/MSMT17/bagtricks_S50.yml +12 -0
  76. dnt/third_party/fast-reid/configs/MSMT17/mgn_R50-ibn.yml +11 -0
  77. dnt/third_party/fast-reid/configs/MSMT17/sbs_R101-ibn.yml +12 -0
  78. dnt/third_party/fast-reid/configs/MSMT17/sbs_R50-ibn.yml +11 -0
  79. dnt/third_party/fast-reid/configs/MSMT17/sbs_R50.yml +7 -0
  80. dnt/third_party/fast-reid/configs/MSMT17/sbs_S50.yml +11 -0
  81. dnt/third_party/fast-reid/configs/Market1501/AGW_R101-ibn.yml +12 -0
  82. dnt/third_party/fast-reid/configs/Market1501/AGW_R50-ibn.yml +11 -0
  83. dnt/third_party/fast-reid/configs/Market1501/AGW_R50.yml +7 -0
  84. dnt/third_party/fast-reid/configs/Market1501/AGW_S50.yml +11 -0
  85. dnt/third_party/fast-reid/configs/Market1501/bagtricks_R101-ibn.yml +12 -0
  86. dnt/third_party/fast-reid/configs/Market1501/bagtricks_R50-ibn.yml +11 -0
  87. dnt/third_party/fast-reid/configs/Market1501/bagtricks_R50.yml +7 -0
  88. dnt/third_party/fast-reid/configs/Market1501/bagtricks_S50.yml +11 -0
  89. dnt/third_party/fast-reid/configs/Market1501/bagtricks_vit.yml +88 -0
  90. dnt/third_party/fast-reid/configs/Market1501/mgn_R50-ibn.yml +11 -0
  91. dnt/third_party/fast-reid/configs/Market1501/sbs_R101-ibn.yml +12 -0
  92. dnt/third_party/fast-reid/configs/Market1501/sbs_R50-ibn.yml +11 -0
  93. dnt/third_party/fast-reid/configs/Market1501/sbs_R50.yml +7 -0
  94. dnt/third_party/fast-reid/configs/Market1501/sbs_S50.yml +11 -0
  95. dnt/third_party/fast-reid/configs/VERIWild/bagtricks_R50-ibn.yml +35 -0
  96. dnt/third_party/fast-reid/configs/VeRi/sbs_R50-ibn.yml +35 -0
  97. dnt/third_party/fast-reid/configs/VehicleID/bagtricks_R50-ibn.yml +36 -0
  98. dnt/third_party/fast-reid/configs/__init__.py +0 -0
  99. dnt/third_party/fast-reid/fast_reid_interfece.py +175 -0
  100. dnt/third_party/fast-reid/fastreid/__init__.py +6 -0
  101. dnt/third_party/fast-reid/fastreid/config/__init__.py +15 -0
  102. dnt/third_party/fast-reid/fastreid/config/config.py +319 -0
  103. dnt/third_party/fast-reid/fastreid/config/defaults.py +329 -0
  104. dnt/third_party/fast-reid/fastreid/data/__init__.py +17 -0
  105. dnt/third_party/fast-reid/fastreid/data/build.py +194 -0
  106. dnt/third_party/fast-reid/fastreid/data/common.py +58 -0
  107. dnt/third_party/fast-reid/fastreid/data/data_utils.py +202 -0
  108. dnt/third_party/fast-reid/fastreid/data/datasets/AirportALERT.py +50 -0
  109. dnt/third_party/fast-reid/fastreid/data/datasets/__init__.py +43 -0
  110. dnt/third_party/fast-reid/fastreid/data/datasets/bases.py +183 -0
  111. dnt/third_party/fast-reid/fastreid/data/datasets/caviara.py +44 -0
  112. dnt/third_party/fast-reid/fastreid/data/datasets/cuhk03.py +274 -0
  113. dnt/third_party/fast-reid/fastreid/data/datasets/cuhk_sysu.py +58 -0
  114. dnt/third_party/fast-reid/fastreid/data/datasets/dukemtmcreid.py +70 -0
  115. dnt/third_party/fast-reid/fastreid/data/datasets/grid.py +44 -0
  116. dnt/third_party/fast-reid/fastreid/data/datasets/iLIDS.py +45 -0
  117. dnt/third_party/fast-reid/fastreid/data/datasets/lpw.py +49 -0
  118. dnt/third_party/fast-reid/fastreid/data/datasets/market1501.py +89 -0
  119. dnt/third_party/fast-reid/fastreid/data/datasets/msmt17.py +114 -0
  120. dnt/third_party/fast-reid/fastreid/data/datasets/pes3d.py +44 -0
  121. dnt/third_party/fast-reid/fastreid/data/datasets/pku.py +44 -0
  122. dnt/third_party/fast-reid/fastreid/data/datasets/prai.py +43 -0
  123. dnt/third_party/fast-reid/fastreid/data/datasets/prid.py +41 -0
  124. dnt/third_party/fast-reid/fastreid/data/datasets/saivt.py +47 -0
  125. dnt/third_party/fast-reid/fastreid/data/datasets/sensereid.py +47 -0
  126. dnt/third_party/fast-reid/fastreid/data/datasets/shinpuhkan.py +48 -0
  127. dnt/third_party/fast-reid/fastreid/data/datasets/sysu_mm.py +47 -0
  128. dnt/third_party/fast-reid/fastreid/data/datasets/thermalworld.py +43 -0
  129. dnt/third_party/fast-reid/fastreid/data/datasets/vehicleid.py +126 -0
  130. dnt/third_party/fast-reid/fastreid/data/datasets/veri.py +69 -0
  131. dnt/third_party/fast-reid/fastreid/data/datasets/veriwild.py +140 -0
  132. dnt/third_party/fast-reid/fastreid/data/datasets/viper.py +45 -0
  133. dnt/third_party/fast-reid/fastreid/data/datasets/wildtracker.py +59 -0
  134. dnt/third_party/fast-reid/fastreid/data/samplers/__init__.py +18 -0
  135. dnt/third_party/fast-reid/fastreid/data/samplers/data_sampler.py +85 -0
  136. dnt/third_party/fast-reid/fastreid/data/samplers/imbalance_sampler.py +67 -0
  137. dnt/third_party/fast-reid/fastreid/data/samplers/triplet_sampler.py +260 -0
  138. dnt/third_party/fast-reid/fastreid/data/transforms/__init__.py +11 -0
  139. dnt/third_party/fast-reid/fastreid/data/transforms/autoaugment.py +806 -0
  140. dnt/third_party/fast-reid/fastreid/data/transforms/build.py +100 -0
  141. dnt/third_party/fast-reid/fastreid/data/transforms/functional.py +180 -0
  142. dnt/third_party/fast-reid/fastreid/data/transforms/transforms.py +161 -0
  143. dnt/third_party/fast-reid/fastreid/engine/__init__.py +15 -0
  144. dnt/third_party/fast-reid/fastreid/engine/defaults.py +490 -0
  145. dnt/third_party/fast-reid/fastreid/engine/hooks.py +534 -0
  146. dnt/third_party/fast-reid/fastreid/engine/launch.py +103 -0
  147. dnt/third_party/fast-reid/fastreid/engine/train_loop.py +357 -0
  148. dnt/third_party/fast-reid/fastreid/evaluation/__init__.py +6 -0
  149. dnt/third_party/fast-reid/fastreid/evaluation/clas_evaluator.py +81 -0
  150. dnt/third_party/fast-reid/fastreid/evaluation/evaluator.py +176 -0
  151. dnt/third_party/fast-reid/fastreid/evaluation/query_expansion.py +46 -0
  152. dnt/third_party/fast-reid/fastreid/evaluation/rank.py +200 -0
  153. dnt/third_party/fast-reid/fastreid/evaluation/rank_cylib/__init__.py +20 -0
  154. dnt/third_party/fast-reid/fastreid/evaluation/rank_cylib/setup.py +32 -0
  155. dnt/third_party/fast-reid/fastreid/evaluation/rank_cylib/test_cython.py +106 -0
  156. dnt/third_party/fast-reid/fastreid/evaluation/reid_evaluation.py +143 -0
  157. dnt/third_party/fast-reid/fastreid/evaluation/rerank.py +73 -0
  158. dnt/third_party/fast-reid/fastreid/evaluation/roc.py +90 -0
  159. dnt/third_party/fast-reid/fastreid/evaluation/testing.py +88 -0
  160. dnt/third_party/fast-reid/fastreid/layers/__init__.py +19 -0
  161. dnt/third_party/fast-reid/fastreid/layers/activation.py +59 -0
  162. dnt/third_party/fast-reid/fastreid/layers/any_softmax.py +80 -0
  163. dnt/third_party/fast-reid/fastreid/layers/batch_norm.py +205 -0
  164. dnt/third_party/fast-reid/fastreid/layers/context_block.py +113 -0
  165. dnt/third_party/fast-reid/fastreid/layers/drop.py +161 -0
  166. dnt/third_party/fast-reid/fastreid/layers/frn.py +199 -0
  167. dnt/third_party/fast-reid/fastreid/layers/gather_layer.py +30 -0
  168. dnt/third_party/fast-reid/fastreid/layers/helpers.py +31 -0
  169. dnt/third_party/fast-reid/fastreid/layers/non_local.py +54 -0
  170. dnt/third_party/fast-reid/fastreid/layers/pooling.py +124 -0
  171. dnt/third_party/fast-reid/fastreid/layers/se_layer.py +25 -0
  172. dnt/third_party/fast-reid/fastreid/layers/splat.py +109 -0
  173. dnt/third_party/fast-reid/fastreid/layers/weight_init.py +122 -0
  174. dnt/third_party/fast-reid/fastreid/modeling/__init__.py +23 -0
  175. dnt/third_party/fast-reid/fastreid/modeling/backbones/__init__.py +18 -0
  176. dnt/third_party/fast-reid/fastreid/modeling/backbones/build.py +27 -0
  177. dnt/third_party/fast-reid/fastreid/modeling/backbones/mobilenet.py +195 -0
  178. dnt/third_party/fast-reid/fastreid/modeling/backbones/mobilenetv3.py +283 -0
  179. dnt/third_party/fast-reid/fastreid/modeling/backbones/osnet.py +525 -0
  180. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/__init__.py +4 -0
  181. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/config.py +396 -0
  182. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B0_dds_8gpu.yaml +27 -0
  183. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B1_dds_8gpu.yaml +27 -0
  184. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B2_dds_8gpu.yaml +27 -0
  185. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B3_dds_8gpu.yaml +27 -0
  186. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B4_dds_8gpu.yaml +27 -0
  187. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet/EN-B5_dds_8gpu.yaml +27 -0
  188. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/effnet.py +281 -0
  189. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnet.py +596 -0
  190. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-1.6GF_dds_8gpu.yaml +26 -0
  191. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-12GF_dds_8gpu.yaml +26 -0
  192. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-16GF_dds_8gpu.yaml +26 -0
  193. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-200MF_dds_8gpu.yaml +26 -0
  194. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-3.2GF_dds_8gpu.yaml +26 -0
  195. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-32GF_dds_8gpu.yaml +26 -0
  196. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-4.0GF_dds_8gpu.yaml +26 -0
  197. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-400MF_dds_8gpu.yaml +26 -0
  198. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-6.4GF_dds_8gpu.yaml +26 -0
  199. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-600MF_dds_8gpu.yaml +26 -0
  200. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-8.0GF_dds_8gpu.yaml +26 -0
  201. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnetx/RegNetX-800MF_dds_8gpu.yaml +26 -0
  202. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-1.6GF_dds_8gpu.yaml +27 -0
  203. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-12GF_dds_8gpu.yaml +27 -0
  204. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-16GF_dds_8gpu.yaml +27 -0
  205. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-200MF_dds_8gpu.yaml +26 -0
  206. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-3.2GF_dds_8gpu.yaml +27 -0
  207. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-32GF_dds_8gpu.yaml +27 -0
  208. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-4.0GF_dds_8gpu.yaml +27 -0
  209. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-400MF_dds_8gpu.yaml +27 -0
  210. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-6.4GF_dds_8gpu.yaml +27 -0
  211. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-600MF_dds_8gpu.yaml +27 -0
  212. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-8.0GF_dds_8gpu.yaml +27 -0
  213. dnt/third_party/fast-reid/fastreid/modeling/backbones/regnet/regnety/RegNetY-800MF_dds_8gpu.yaml +27 -0
  214. dnt/third_party/fast-reid/fastreid/modeling/backbones/repvgg.py +309 -0
  215. dnt/third_party/fast-reid/fastreid/modeling/backbones/resnest.py +365 -0
  216. dnt/third_party/fast-reid/fastreid/modeling/backbones/resnet.py +364 -0
  217. dnt/third_party/fast-reid/fastreid/modeling/backbones/resnext.py +335 -0
  218. dnt/third_party/fast-reid/fastreid/modeling/backbones/shufflenet.py +203 -0
  219. dnt/third_party/fast-reid/fastreid/modeling/backbones/vision_transformer.py +399 -0
  220. dnt/third_party/fast-reid/fastreid/modeling/heads/__init__.py +11 -0
  221. dnt/third_party/fast-reid/fastreid/modeling/heads/build.py +25 -0
  222. dnt/third_party/fast-reid/fastreid/modeling/heads/clas_head.py +36 -0
  223. dnt/third_party/fast-reid/fastreid/modeling/heads/embedding_head.py +151 -0
  224. dnt/third_party/fast-reid/fastreid/modeling/losses/__init__.py +12 -0
  225. dnt/third_party/fast-reid/fastreid/modeling/losses/circle_loss.py +71 -0
  226. dnt/third_party/fast-reid/fastreid/modeling/losses/cross_entroy_loss.py +54 -0
  227. dnt/third_party/fast-reid/fastreid/modeling/losses/focal_loss.py +92 -0
  228. dnt/third_party/fast-reid/fastreid/modeling/losses/triplet_loss.py +113 -0
  229. dnt/third_party/fast-reid/fastreid/modeling/losses/utils.py +48 -0
  230. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/__init__.py +14 -0
  231. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/baseline.py +188 -0
  232. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/build.py +26 -0
  233. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/distiller.py +140 -0
  234. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/mgn.py +394 -0
  235. dnt/third_party/fast-reid/fastreid/modeling/meta_arch/moco.py +126 -0
  236. dnt/third_party/fast-reid/fastreid/solver/__init__.py +8 -0
  237. dnt/third_party/fast-reid/fastreid/solver/build.py +348 -0
  238. dnt/third_party/fast-reid/fastreid/solver/lr_scheduler.py +66 -0
  239. dnt/third_party/fast-reid/fastreid/solver/optim/__init__.py +10 -0
  240. dnt/third_party/fast-reid/fastreid/solver/optim/lamb.py +123 -0
  241. dnt/third_party/fast-reid/fastreid/solver/optim/radam.py +149 -0
  242. dnt/third_party/fast-reid/fastreid/solver/optim/swa.py +246 -0
  243. dnt/third_party/fast-reid/fastreid/utils/__init__.py +6 -0
  244. dnt/third_party/fast-reid/fastreid/utils/checkpoint.py +503 -0
  245. dnt/third_party/fast-reid/fastreid/utils/collect_env.py +158 -0
  246. dnt/third_party/fast-reid/fastreid/utils/comm.py +255 -0
  247. dnt/third_party/fast-reid/fastreid/utils/compute_dist.py +200 -0
  248. dnt/third_party/fast-reid/fastreid/utils/env.py +119 -0
  249. dnt/third_party/fast-reid/fastreid/utils/events.py +461 -0
  250. dnt/third_party/fast-reid/fastreid/utils/faiss_utils.py +127 -0
  251. dnt/third_party/fast-reid/fastreid/utils/file_io.py +520 -0
  252. dnt/third_party/fast-reid/fastreid/utils/history_buffer.py +71 -0
  253. dnt/third_party/fast-reid/fastreid/utils/logger.py +211 -0
  254. dnt/third_party/fast-reid/fastreid/utils/params.py +103 -0
  255. dnt/third_party/fast-reid/fastreid/utils/precision_bn.py +94 -0
  256. dnt/third_party/fast-reid/fastreid/utils/registry.py +66 -0
  257. dnt/third_party/fast-reid/fastreid/utils/summary.py +120 -0
  258. dnt/third_party/fast-reid/fastreid/utils/timer.py +68 -0
  259. dnt/third_party/fast-reid/fastreid/utils/visualizer.py +278 -0
  260. dnt/track/__init__.py +2 -0
  261. dnt/track/botsort/__init__.py +4 -0
  262. dnt/track/botsort/bot_tracker/__init__.py +3 -0
  263. dnt/track/botsort/bot_tracker/basetrack.py +60 -0
  264. dnt/track/botsort/bot_tracker/bot_sort.py +473 -0
  265. dnt/track/botsort/bot_tracker/gmc.py +316 -0
  266. dnt/track/botsort/bot_tracker/kalman_filter.py +269 -0
  267. dnt/track/botsort/bot_tracker/matching.py +194 -0
  268. dnt/track/botsort/bot_tracker/mc_bot_sort.py +505 -0
  269. dnt/track/{dsort/utils → botsort/bot_tracker/tracking_utils}/evaluation.py +14 -4
  270. dnt/track/{dsort/utils → botsort/bot_tracker/tracking_utils}/io.py +19 -36
  271. dnt/track/botsort/bot_tracker/tracking_utils/timer.py +37 -0
  272. dnt/track/botsort/inference.py +96 -0
  273. dnt/track/config.py +120 -0
  274. dnt/track/dsort/configs/bagtricks_R50.yml +7 -0
  275. dnt/track/dsort/configs/deep_sort.yaml +0 -0
  276. dnt/track/dsort/configs/fastreid.yaml +1 -1
  277. dnt/track/dsort/deep_sort/deep/checkpoint/ckpt.t7 +0 -0
  278. dnt/track/dsort/deep_sort/deep/feature_extractor.py +87 -8
  279. dnt/track/dsort/deep_sort/deep_sort.py +28 -18
  280. dnt/track/dsort/deep_sort/sort/iou_matching.py +0 -2
  281. dnt/track/dsort/deep_sort/sort/linear_assignment.py +0 -3
  282. dnt/track/dsort/deep_sort/sort/nn_matching.py +5 -5
  283. dnt/track/dsort/deep_sort/sort/preprocessing.py +1 -2
  284. dnt/track/dsort/dsort.py +21 -28
  285. dnt/track/re_class.py +94 -0
  286. dnt/track/sort/sort.py +5 -1
  287. dnt/track/tracker.py +207 -30
  288. {dnt-0.2.4.dist-info → dnt-0.3.1.3.dist-info}/METADATA +30 -10
  289. dnt-0.3.1.3.dist-info/RECORD +314 -0
  290. {dnt-0.2.4.dist-info → dnt-0.3.1.3.dist-info}/WHEEL +1 -1
  291. dnt/analysis/yield.py +0 -9
  292. dnt/track/dsort/deep_sort/deep/evaluate.py +0 -15
  293. dnt/track/dsort/deep_sort/deep/original_model.py +0 -106
  294. dnt/track/dsort/deep_sort/deep/test.py +0 -77
  295. dnt/track/dsort/deep_sort/deep/train.py +0 -189
  296. dnt/track/dsort/utils/asserts.py +0 -13
  297. dnt/track/dsort/utils/draw.py +0 -36
  298. dnt/track/dsort/utils/json_logger.py +0 -383
  299. dnt/track/dsort/utils/log.py +0 -17
  300. dnt/track/dsort/utils/parser.py +0 -35
  301. dnt/track/dsort/utils/tools.py +0 -39
  302. dnt-0.2.4.dist-info/RECORD +0 -64
  303. /dnt/{track/dsort/utils → third_party/fast-reid/checkpoint}/__init__.py +0 -0
  304. {dnt-0.2.4.dist-info → dnt-0.3.1.3.dist-info}/LICENSE +0 -0
  305. {dnt-0.2.4.dist-info → dnt-0.3.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,188 @@
1
+ # encoding: utf-8
2
+ """
3
+ @author: liaoxingyu
4
+ @contact: sherlockliao01@gmail.com
5
+ """
6
+
7
+ import torch
8
+ from torch import nn
9
+
10
+ from fastreid.config import configurable
11
+ from fastreid.modeling.backbones import build_backbone
12
+ from fastreid.modeling.heads import build_heads
13
+ from fastreid.modeling.losses import *
14
+ from .build import META_ARCH_REGISTRY
15
+
16
+
17
+ @META_ARCH_REGISTRY.register()
18
+ class Baseline(nn.Module):
19
+ """
20
+ Baseline architecture. Any models that contains the following two components:
21
+ 1. Per-image feature extraction (aka backbone)
22
+ 2. Per-image feature aggregation and loss computation
23
+ """
24
+
25
+ @configurable
26
+ def __init__(
27
+ self,
28
+ *,
29
+ backbone,
30
+ heads,
31
+ pixel_mean,
32
+ pixel_std,
33
+ loss_kwargs=None
34
+ ):
35
+ """
36
+ NOTE: this interface is experimental.
37
+
38
+ Args:
39
+ backbone:
40
+ heads:
41
+ pixel_mean:
42
+ pixel_std:
43
+ """
44
+ super().__init__()
45
+ # backbone
46
+ self.backbone = backbone
47
+
48
+ # head
49
+ self.heads = heads
50
+
51
+ self.loss_kwargs = loss_kwargs
52
+
53
+ self.register_buffer('pixel_mean', torch.Tensor(pixel_mean).view(1, -1, 1, 1), False)
54
+ self.register_buffer('pixel_std', torch.Tensor(pixel_std).view(1, -1, 1, 1), False)
55
+
56
+ @classmethod
57
+ def from_config(cls, cfg):
58
+ backbone = build_backbone(cfg)
59
+ heads = build_heads(cfg)
60
+ return {
61
+ 'backbone': backbone,
62
+ 'heads': heads,
63
+ 'pixel_mean': cfg.MODEL.PIXEL_MEAN,
64
+ 'pixel_std': cfg.MODEL.PIXEL_STD,
65
+ 'loss_kwargs':
66
+ {
67
+ # loss name
68
+ 'loss_names': cfg.MODEL.LOSSES.NAME,
69
+
70
+ # loss hyperparameters
71
+ 'ce': {
72
+ 'eps': cfg.MODEL.LOSSES.CE.EPSILON,
73
+ 'alpha': cfg.MODEL.LOSSES.CE.ALPHA,
74
+ 'scale': cfg.MODEL.LOSSES.CE.SCALE
75
+ },
76
+ 'tri': {
77
+ 'margin': cfg.MODEL.LOSSES.TRI.MARGIN,
78
+ 'norm_feat': cfg.MODEL.LOSSES.TRI.NORM_FEAT,
79
+ 'hard_mining': cfg.MODEL.LOSSES.TRI.HARD_MINING,
80
+ 'scale': cfg.MODEL.LOSSES.TRI.SCALE
81
+ },
82
+ 'circle': {
83
+ 'margin': cfg.MODEL.LOSSES.CIRCLE.MARGIN,
84
+ 'gamma': cfg.MODEL.LOSSES.CIRCLE.GAMMA,
85
+ 'scale': cfg.MODEL.LOSSES.CIRCLE.SCALE
86
+ },
87
+ 'cosface': {
88
+ 'margin': cfg.MODEL.LOSSES.COSFACE.MARGIN,
89
+ 'gamma': cfg.MODEL.LOSSES.COSFACE.GAMMA,
90
+ 'scale': cfg.MODEL.LOSSES.COSFACE.SCALE
91
+ }
92
+ }
93
+ }
94
+
95
+ @property
96
+ def device(self):
97
+ return self.pixel_mean.device
98
+
99
+ def forward(self, batched_inputs):
100
+ images = self.preprocess_image(batched_inputs)
101
+ features = self.backbone(images)
102
+
103
+ if self.training:
104
+ assert "targets" in batched_inputs, "Person ID annotation are missing in training!"
105
+ targets = batched_inputs["targets"]
106
+
107
+ # PreciseBN flag, When do preciseBN on different dataset, the number of classes in new dataset
108
+ # may be larger than that in the original dataset, so the circle/arcface will
109
+ # throw an error. We just set all the targets to 0 to avoid this problem.
110
+ if targets.sum() < 0: targets.zero_()
111
+
112
+ outputs = self.heads(features, targets)
113
+ losses = self.losses(outputs, targets)
114
+ return losses
115
+ else:
116
+ outputs = self.heads(features)
117
+ return outputs
118
+
119
+ def preprocess_image(self, batched_inputs):
120
+ """
121
+ Normalize and batch the input images.
122
+ """
123
+ if isinstance(batched_inputs, dict):
124
+ images = batched_inputs['images']
125
+ elif isinstance(batched_inputs, torch.Tensor):
126
+ images = batched_inputs
127
+ else:
128
+ raise TypeError("batched_inputs must be dict or torch.Tensor, but get {}".format(type(batched_inputs)))
129
+
130
+ images.sub_(self.pixel_mean).div_(self.pixel_std)
131
+ return images
132
+
133
+ def losses(self, outputs, gt_labels):
134
+ """
135
+ Compute loss from modeling's outputs, the loss function input arguments
136
+ must be the same as the outputs of the model forwarding.
137
+ """
138
+ # model predictions
139
+ # fmt: off
140
+ pred_class_logits = outputs['pred_class_logits'].detach()
141
+ cls_outputs = outputs['cls_outputs']
142
+ pred_features = outputs['features']
143
+ # fmt: on
144
+
145
+ # Log prediction accuracy
146
+ log_accuracy(pred_class_logits, gt_labels)
147
+
148
+ loss_dict = {}
149
+ loss_names = self.loss_kwargs['loss_names']
150
+
151
+ if 'CrossEntropyLoss' in loss_names:
152
+ ce_kwargs = self.loss_kwargs.get('ce')
153
+ loss_dict['loss_cls'] = cross_entropy_loss(
154
+ cls_outputs,
155
+ gt_labels,
156
+ ce_kwargs.get('eps'),
157
+ ce_kwargs.get('alpha')
158
+ ) * ce_kwargs.get('scale')
159
+
160
+ if 'TripletLoss' in loss_names:
161
+ tri_kwargs = self.loss_kwargs.get('tri')
162
+ loss_dict['loss_triplet'] = triplet_loss(
163
+ pred_features,
164
+ gt_labels,
165
+ tri_kwargs.get('margin'),
166
+ tri_kwargs.get('norm_feat'),
167
+ tri_kwargs.get('hard_mining')
168
+ ) * tri_kwargs.get('scale')
169
+
170
+ if 'CircleLoss' in loss_names:
171
+ circle_kwargs = self.loss_kwargs.get('circle')
172
+ loss_dict['loss_circle'] = pairwise_circleloss(
173
+ pred_features,
174
+ gt_labels,
175
+ circle_kwargs.get('margin'),
176
+ circle_kwargs.get('gamma')
177
+ ) * circle_kwargs.get('scale')
178
+
179
+ if 'Cosface' in loss_names:
180
+ cosface_kwargs = self.loss_kwargs.get('cosface')
181
+ loss_dict['loss_cosface'] = pairwise_cosface(
182
+ pred_features,
183
+ gt_labels,
184
+ cosface_kwargs.get('margin'),
185
+ cosface_kwargs.get('gamma'),
186
+ ) * cosface_kwargs.get('scale')
187
+
188
+ return loss_dict
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+ """
3
+ @author: liaoxingyu
4
+ @contact: sherlockliao01@gmail.com
5
+ """
6
+ import torch
7
+
8
+ from fastreid.utils.registry import Registry
9
+
10
+ META_ARCH_REGISTRY = Registry("META_ARCH") # noqa F401 isort:skip
11
+ META_ARCH_REGISTRY.__doc__ = """
12
+ Registry for meta-architectures, i.e. the whole model.
13
+ The registered object will be called with `obj(cfg)`
14
+ and expected to return a `nn.Module` object.
15
+ """
16
+
17
+
18
+ def build_model(cfg):
19
+ """
20
+ Build the whole model architecture, defined by ``cfg.MODEL.META_ARCHITECTURE``.
21
+ Note that it does not load any weights from ``cfg``.
22
+ """
23
+ meta_arch = cfg.MODEL.META_ARCHITECTURE
24
+ model = META_ARCH_REGISTRY.get(meta_arch)(cfg)
25
+ model.to(torch.device(cfg.MODEL.DEVICE))
26
+ return model
@@ -0,0 +1,140 @@
1
+ # encoding: utf-8
2
+ """
3
+ @author: l1aoxingyu
4
+ @contact: sherlockliao01@gmail.com
5
+ """
6
+
7
+ import logging
8
+
9
+ import torch
10
+ import torch.nn.functional as F
11
+
12
+ from fastreid.config import get_cfg
13
+ from fastreid.modeling.meta_arch import META_ARCH_REGISTRY, build_model, Baseline
14
+ from fastreid.utils.checkpoint import Checkpointer
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+
19
+ @META_ARCH_REGISTRY.register()
20
+ class Distiller(Baseline):
21
+ def __init__(self, cfg):
22
+ super().__init__(cfg)
23
+
24
+ # Get teacher model config
25
+ model_ts = []
26
+ for i in range(len(cfg.KD.MODEL_CONFIG)):
27
+ cfg_t = get_cfg()
28
+ cfg_t.merge_from_file(cfg.KD.MODEL_CONFIG[i])
29
+ cfg_t.defrost()
30
+ cfg_t.MODEL.META_ARCHITECTURE = "Baseline"
31
+ # Change syncBN to BN due to no DDP wrapper
32
+ if cfg_t.MODEL.BACKBONE.NORM == "syncBN":
33
+ cfg_t.MODEL.BACKBONE.NORM = "BN"
34
+ if cfg_t.MODEL.HEADS.NORM == "syncBN":
35
+ cfg_t.MODEL.HEADS.NORM = "BN"
36
+
37
+ model_t = build_model(cfg_t)
38
+
39
+ # No gradients for teacher model
40
+ for param in model_t.parameters():
41
+ param.requires_grad_(False)
42
+
43
+ logger.info("Loading teacher model weights ...")
44
+ Checkpointer(model_t).load(cfg.KD.MODEL_WEIGHTS[i])
45
+
46
+ model_ts.append(model_t)
47
+
48
+ self.ema_enabled = cfg.KD.EMA.ENABLED
49
+ self.ema_momentum = cfg.KD.EMA.MOMENTUM
50
+ if self.ema_enabled:
51
+ cfg_self = cfg.clone()
52
+ cfg_self.defrost()
53
+ cfg_self.MODEL.META_ARCHITECTURE = "Baseline"
54
+ if cfg_self.MODEL.BACKBONE.NORM == "syncBN":
55
+ cfg_self.MODEL.BACKBONE.NORM = "BN"
56
+ if cfg_self.MODEL.HEADS.NORM == "syncBN":
57
+ cfg_self.MODEL.HEADS.NORM = "BN"
58
+ model_self = build_model(cfg_self)
59
+ # No gradients for self model
60
+ for param in model_self.parameters():
61
+ param.requires_grad_(False)
62
+
63
+ if cfg_self.MODEL.WEIGHTS != '':
64
+ logger.info("Loading self distillation model weights ...")
65
+ Checkpointer(model_self).load(cfg_self.MODEL.WEIGHTS)
66
+ else:
67
+ # Make sure the initial state is same
68
+ for param_q, param_k in zip(self.parameters(), model_self.parameters()):
69
+ param_k.data.copy_(param_q.data)
70
+
71
+ model_ts.insert(0, model_self)
72
+
73
+ # Not register teacher model as `nn.Module`, this is
74
+ # make sure teacher model weights not saved
75
+ self.model_ts = model_ts
76
+
77
+ @torch.no_grad()
78
+ def _momentum_update_key_encoder(self, m=0.999):
79
+ """
80
+ Momentum update of the key encoder
81
+ """
82
+ for param_q, param_k in zip(self.parameters(), self.model_ts[0].parameters()):
83
+ param_k.data = param_k.data * m + param_q.data * (1. - m)
84
+
85
+ def forward(self, batched_inputs):
86
+ if self.training:
87
+ images = self.preprocess_image(batched_inputs)
88
+ # student model forward
89
+ s_feat = self.backbone(images)
90
+ assert "targets" in batched_inputs, "Labels are missing in training!"
91
+ targets = batched_inputs["targets"].to(self.device)
92
+
93
+ if targets.sum() < 0: targets.zero_()
94
+
95
+ s_outputs = self.heads(s_feat, targets)
96
+
97
+ t_outputs = []
98
+ # teacher model forward
99
+ with torch.no_grad():
100
+ if self.ema_enabled:
101
+ self._momentum_update_key_encoder(self.ema_momentum) # update self distill model
102
+ for model_t in self.model_ts:
103
+ t_feat = model_t.backbone(images)
104
+ t_output = model_t.heads(t_feat, targets)
105
+ t_outputs.append(t_output)
106
+
107
+ losses = self.losses(s_outputs, t_outputs, targets)
108
+ return losses
109
+
110
+ # Eval mode, just conventional reid feature extraction
111
+ else:
112
+ return super().forward(batched_inputs)
113
+
114
+ def losses(self, s_outputs, t_outputs, gt_labels):
115
+ """
116
+ Compute loss from modeling's outputs, the loss function input arguments
117
+ must be the same as the outputs of the model forwarding.
118
+ """
119
+ loss_dict = super().losses(s_outputs, gt_labels)
120
+
121
+ s_logits = s_outputs['pred_class_logits']
122
+ loss_jsdiv = 0.
123
+ for t_output in t_outputs:
124
+ t_logits = t_output['pred_class_logits'].detach()
125
+ loss_jsdiv += self.jsdiv_loss(s_logits, t_logits)
126
+
127
+ loss_dict["loss_jsdiv"] = loss_jsdiv / len(t_outputs)
128
+
129
+ return loss_dict
130
+
131
+ @staticmethod
132
+ def _kldiv(y_s, y_t, t):
133
+ p_s = F.log_softmax(y_s / t, dim=1)
134
+ p_t = F.softmax(y_t / t, dim=1)
135
+ loss = F.kl_div(p_s, p_t, reduction="sum") * (t ** 2) / y_s.shape[0]
136
+ return loss
137
+
138
+ def jsdiv_loss(self, y_s, y_t, t=16):
139
+ loss = (self._kldiv(y_s, y_t, t) + self._kldiv(y_t, y_s, t)) / 2
140
+ return loss