supervisely 6.73.357__py3-none-any.whl → 6.73.358__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.
Files changed (44) hide show
  1. supervisely/_utils.py +12 -0
  2. supervisely/api/annotation_api.py +3 -0
  3. supervisely/api/api.py +2 -2
  4. supervisely/api/app_api.py +27 -2
  5. supervisely/api/entity_annotation/tag_api.py +0 -1
  6. supervisely/api/nn/__init__.py +0 -0
  7. supervisely/api/nn/deploy_api.py +821 -0
  8. supervisely/api/nn/neural_network_api.py +248 -0
  9. supervisely/api/task_api.py +26 -467
  10. supervisely/app/fastapi/subapp.py +1 -0
  11. supervisely/nn/__init__.py +2 -1
  12. supervisely/nn/artifacts/artifacts.py +5 -5
  13. supervisely/nn/benchmark/object_detection/metric_provider.py +3 -0
  14. supervisely/nn/experiments.py +28 -5
  15. supervisely/nn/inference/cache.py +178 -114
  16. supervisely/nn/inference/gui/gui.py +18 -35
  17. supervisely/nn/inference/gui/serving_gui.py +3 -1
  18. supervisely/nn/inference/inference.py +1421 -1265
  19. supervisely/nn/inference/inference_request.py +412 -0
  20. supervisely/nn/inference/object_detection_3d/object_detection_3d.py +31 -24
  21. supervisely/nn/inference/session.py +2 -2
  22. supervisely/nn/inference/tracking/base_tracking.py +45 -79
  23. supervisely/nn/inference/tracking/bbox_tracking.py +220 -155
  24. supervisely/nn/inference/tracking/mask_tracking.py +274 -250
  25. supervisely/nn/inference/tracking/tracker_interface.py +23 -0
  26. supervisely/nn/inference/uploader.py +164 -0
  27. supervisely/nn/model/__init__.py +0 -0
  28. supervisely/nn/model/model_api.py +259 -0
  29. supervisely/nn/model/prediction.py +311 -0
  30. supervisely/nn/model/prediction_session.py +632 -0
  31. supervisely/nn/tracking/__init__.py +1 -0
  32. supervisely/nn/tracking/boxmot.py +114 -0
  33. supervisely/nn/tracking/tracking.py +24 -0
  34. supervisely/nn/training/train_app.py +61 -19
  35. supervisely/nn/utils.py +43 -3
  36. supervisely/task/progress.py +12 -2
  37. supervisely/video/video.py +107 -1
  38. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/METADATA +2 -1
  39. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/RECORD +43 -32
  40. supervisely/api/neural_network_api.py +0 -202
  41. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/LICENSE +0 -0
  42. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/WHEEL +0 -0
  43. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/entry_points.txt +0 -0
  44. {supervisely-6.73.357.dist-info → supervisely-6.73.358.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  supervisely/README.md,sha256=XM-DiMC6To3I9RjQZ0c61905EFRR_jnCUx2q3uNR-X8,3331
2
2
  supervisely/__init__.py,sha256=_qphKFT0_toEQmF5IjB1sWjztbF4lP1tLY29PBJhArY,10917
3
- supervisely/_utils.py,sha256=DA-sPMk68GyInrc4DMxO-Azp5-uWkwZx_NAr8mXVI0o,18280
3
+ supervisely/_utils.py,sha256=8R1XgIPwBG7pqwyk93nYExd7SkSyXx9VbQvseQNiT3M,18621
4
4
  supervisely/function_wrapper.py,sha256=R5YajTQ0GnRp2vtjwfC9hINkzQc0JiyGsu8TER373xY,1912
5
5
  supervisely/sly_logger.py,sha256=z92Vu5hmC0GgTIJO1n6kPDayRW9__8ix8hL6poDZj-Y,6274
6
6
  supervisely/tiny_timer.py,sha256=hkpe_7FE6bsKL79blSs7WBaktuPavEVu67IpEPrfmjE,183
@@ -21,9 +21,9 @@ supervisely/annotation/tag_meta_mapper.py,sha256=RWeTrxJ64syodyhXIRSH007bX6Hr3B4
21
21
  supervisely/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  supervisely/api/advanced_api.py,sha256=Nd5cCnHFWc3PSUrCtENxTGtDjS37_lCHXsgXvUI3Ti8,2054
23
23
  supervisely/api/agent_api.py,sha256=ShWAIlXcWXcyI9fqVuP5GZVCigCMJmjnvdGUfLspD6Y,8890
24
- supervisely/api/annotation_api.py,sha256=XE3Sr_oQOMraZ9NlWs9ZqUsff1j47XRDh9Fy8rW4ubw,82763
25
- supervisely/api/api.py,sha256=zAYool7iuceIaCVl_CGflp9KVGwnKf5z6BUagxEZA_w,67695
26
- supervisely/api/app_api.py,sha256=5lU3EU2NIwcatB6Uj3JUg_y-Qohsm6tfWK6M7MqEYKU,72442
24
+ supervisely/api/annotation_api.py,sha256=iNgdCk3-VtL2a9pyNsoRVjZOJEjZatB6LbVbTZ9rsas,82873
25
+ supervisely/api/api.py,sha256=HyW8K0AEsiFf3HV2o9HbS-UJZfuMwWGIJPERbNifgWg,67695
26
+ supervisely/api/app_api.py,sha256=-nj-1yvuaj4CSlzUR_YKpTJZpupg56QxLhtSIph_u40,73420
27
27
  supervisely/api/constants.py,sha256=WfqIcEpRnU4Mcfb6q0njeRs2VVSoTAJaIyrqBkBjP8I,253
28
28
  supervisely/api/dataset_api.py,sha256=c6rEVySSxbyDB5fUCilsc5AKk0pWN_5vVN6OceDbEvc,47918
29
29
  supervisely/api/entities_collection_api.py,sha256=lIF10PVgdUOEjcG7dJuxgpN30cnmxw9-UNc6tEmukKo,9957
@@ -36,7 +36,6 @@ supervisely/api/issues_api.py,sha256=BqDJXmNoTzwc3xe6_-mA7FDFC5QQ-ahGbXk_HmpkSeQ
36
36
  supervisely/api/labeling_job_api.py,sha256=5xorizIYJlyBi-XtPiMyFz-COKR0V_KR5zVhd1kutSM,55187
37
37
  supervisely/api/labeling_queue_api.py,sha256=svQKbHtt8304FCFw_ZUoAHrCj3Yetj2RTdgTP_xTGks,28424
38
38
  supervisely/api/module_api.py,sha256=8lhsLIvZluHCB23MerHGdENWlfsj5gHIVwUVzMAkwgU,45283
39
- supervisely/api/neural_network_api.py,sha256=ktPVRO4Jeulougio8F0mioJJHwRJcX250Djp1wBoQ9c,7620
40
39
  supervisely/api/object_class_api.py,sha256=hBcQuKi9ouoiR7f99eot6vXHvqbzmal3IrHjJxuoFXg,10396
41
40
  supervisely/api/plugin_api.py,sha256=TlfrosdRuYG4NUxk92QiQoVaOdztFspPpygyVa3M3zk,5283
42
41
  supervisely/api/project_api.py,sha256=EfZPRxh02BpB-yzw2xD83EfTAS8RPM9uPIxQ-0LLfOQ,80297
@@ -45,7 +44,7 @@ supervisely/api/remote_storage_api.py,sha256=qTuPhPsstgEjRm1g-ZInddik8BNC_38YvBB
45
44
  supervisely/api/report_api.py,sha256=Om7CGulUbQ4BuJ16eDtz7luLe0JQNqab-LoLpUXu7YE,7123
46
45
  supervisely/api/role_api.py,sha256=aBL4mxtn08LDPXQuS153-lQFN6N2kcwiz8MbescZ8Gk,3044
47
46
  supervisely/api/storage_api.py,sha256=FPGYf3Rn3LBoe38RBNdoiURs306oshzvKOEOQ56XAbs,13030
48
- supervisely/api/task_api.py,sha256=ZuPXAfHO5WwWRfR0f93iprkcGlqRMK0q2UXF55dGneo,53873
47
+ supervisely/api/task_api.py,sha256=4F0vXX6qij_6Gdv9uMx0svOLjdxVPxw7s2sIFrJMs2k,36675
49
48
  supervisely/api/team_api.py,sha256=bEoz3mrykvliLhKnzEy52vzdd_H8VBJCpxF-Bnek9Q8,19467
50
49
  supervisely/api/user_api.py,sha256=4S97yIc6AMTZCa0N57lzETnpIE8CeqClvCb6kjUkgfc,24940
51
50
  supervisely/api/video_annotation_tool_api.py,sha256=3A9-U8WJzrTShP_n9T8U01M9FzGYdeS51CCBTzUnooo,6686
@@ -54,7 +53,10 @@ supervisely/api/entity_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
54
53
  supervisely/api/entity_annotation/entity_annotation_api.py,sha256=K79KdDyepQv4FiNQHBj9V4-zLIemxK9WG1ig1bfBKb8,3083
55
54
  supervisely/api/entity_annotation/figure_api.py,sha256=rmsE3L_JfqN94sLN637pQ0syiBAXPd8RyAwhl41j1xs,35318
56
55
  supervisely/api/entity_annotation/object_api.py,sha256=gbcNvN_KY6G80Me8fHKQgryc2Co7VU_kfFd1GYILZ4E,8875
57
- supervisely/api/entity_annotation/tag_api.py,sha256=M-28m9h8R4k9Eqo6P1S0UH8_D5kqCwAvQLYY6_Yz4oM,11161
56
+ supervisely/api/entity_annotation/tag_api.py,sha256=h19YsJzJLDp0VIicQzoYCRyVhY149KY7pUysb4XX0RI,11114
57
+ supervisely/api/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
+ supervisely/api/nn/deploy_api.py,sha256=2n0dKGfgte4Hh5WnYQTNhuUE2PjPgr5REqT5J6XkJXQ,34267
59
+ supervisely/api/nn/neural_network_api.py,sha256=GqdrfwSNfES7JiVCL0hJZsDJ_lXGGkWJmAarq8lkyDE,10395
58
60
  supervisely/api/pointcloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
61
  supervisely/api/pointcloud/pointcloud_annotation_api.py,sha256=x2Bw_1ZaGZffc89k670LWQiwMhlb4CbB-6suDpHJRgg,11256
60
62
  supervisely/api/pointcloud/pointcloud_api.py,sha256=pn72znCr5hkAfgniXxfD6Vi8-HqRb1Nrf6l23-HQ7Bc,53277
@@ -96,7 +98,7 @@ supervisely/app/fastapi/index.html,sha256=Rw-Tkob0zZ97Q-4C8XgTEjox9UwwKi5C3K4qWi
96
98
  supervisely/app/fastapi/no_html_main.html,sha256=NhQP7noyORBx72lFh1CQKgBRupkWjiq6Gaw-9Hkvg7c,37
97
99
  supervisely/app/fastapi/offline.py,sha256=CwMMkJ1frD6wiZS-SEoNDtQ1UJcJe1Ob6ohE3r4CQL8,7414
98
100
  supervisely/app/fastapi/request.py,sha256=NU7rKmxJ1pfkDZ7_yHckRcRAueJRQIqCor11UO2OHr8,766
99
- supervisely/app/fastapi/subapp.py,sha256=5lMfFLYBfHzE1OmITHsogB9hScyTJFjGV45AKY67Hkg,45647
101
+ supervisely/app/fastapi/subapp.py,sha256=wMyPPjUuWU5VFzAnjk3yLkaMiYYNQLPmYB2tEqiqvbU,45681
100
102
  supervisely/app/fastapi/templating.py,sha256=pcghBW2OWVrNtplZuYa-mx04ektLiSvnBg-mhmyCoJc,2929
101
103
  supervisely/app/fastapi/utils.py,sha256=t_UquzlFrdkKtAJmH6eJ279pE8Aa3BaIu4XjX-SEaIE,946
102
104
  supervisely/app/fastapi/websocket.py,sha256=TlRSPOAhRItTv1HGvdukK1ZvhRjMUxRa-lJlsRR9rJw,1308
@@ -739,13 +741,13 @@ supervisely/metric/metrics_tests.py,sha256=59L-J9ihYZdX5we8z_qMPZKKUxEPGTgVJqPgJ
739
741
  supervisely/metric/pixel_accuracy.py,sha256=qjtxInOTkGDwPeLUnjBdzOrVRT3V6kGGOWjBZMqMJhw,3273
740
742
  supervisely/metric/precision_recall_metric.py,sha256=4AQCkcB84mpYQS94yJ-wkG1LBuXlQf3X_tI9f67vtR8,3426
741
743
  supervisely/metric/projects_applier.py,sha256=ORtgLQHYtNi4KYsSGaGPPWiZPexTJF9IWqX_RuLRxPk,3415
742
- supervisely/nn/__init__.py,sha256=bG1CTEriUn31-lqGeYF4yUO0MtfYN68zdsObmEFPFZ8,617
743
- supervisely/nn/experiments.py,sha256=0RFYp-LZTRny9tsyeVV58GKtPWngxTw54abfrk3052g,8742
744
+ supervisely/nn/__init__.py,sha256=ZGCDjx_cGIW8CxIWNCzVDRVfAzt7QzlkcvKvLBE8wMc,669
745
+ supervisely/nn/experiments.py,sha256=6jCVGQTd6CIf1M3Ef_Vo4NvxSBJQiQVoXoWcp0w0hiI,9685
744
746
  supervisely/nn/prediction_dto.py,sha256=oi146DJpUUBDbR-b-vYkL5WAhCZQYOGomqBDEQGbPdY,2700
745
747
  supervisely/nn/task_type.py,sha256=UJvSJ4L3I08j_e6sU6Ptu7kS5p1H09rfhfoDUSZ2iys,522
746
- supervisely/nn/utils.py,sha256=b2ckqZKa3se9wATE7OSa6bZcTMcvHoZJGoRYddE4dTI,1722
748
+ supervisely/nn/utils.py,sha256=WoEidpLo5__R6eXsvEFH7VRxb4MtXCr9H-kchg25FDY,2965
747
749
  supervisely/nn/artifacts/__init__.py,sha256=m7KYTMzEJnoV9wcU_0xzgLuPz69Dqp9va0fP32tohV4,576
748
- supervisely/nn/artifacts/artifacts.py,sha256=Ol6Tt3CHGbGm_7rR3iClokOArUj6z4ky92YKozpewRM,22859
750
+ supervisely/nn/artifacts/artifacts.py,sha256=nbLx0MBuU3xx2NEgjqgPmOewGgVLazym3HhA2SjJTQc,22899
749
751
  supervisely/nn/artifacts/detectron2.py,sha256=g2F47GS1LryWng1zMAXW5ZLnz0fcRuYAY3sX6LcuHUs,1961
750
752
  supervisely/nn/artifacts/hrda.py,sha256=m671dTq10X6IboUL3xed9yuYzH-HP8KDjYAD8-a9CDI,1213
751
753
  supervisely/nn/artifacts/mmclassification.py,sha256=Lm-M1OD8-Qjr8xzajrOh53sFGtL-DSI8uSAxwPJJQxQ,1787
@@ -800,7 +802,7 @@ supervisely/nn/benchmark/object_detection/base_vis_metric.py,sha256=44Em214YPxZg
800
802
  supervisely/nn/benchmark/object_detection/benchmark.py,sha256=Wb4xlFXilIMVfsifNNQY25uE52NeEDLzQpnq8QPYq9U,1086
801
803
  supervisely/nn/benchmark/object_detection/evaluation_params.yaml,sha256=fEYA-ExmxDiSzRl7YfBMpF6LZui0tcDgZyC-YUvmmqg,367
802
804
  supervisely/nn/benchmark/object_detection/evaluator.py,sha256=s-hPBm5BmoCgwoozVyDacum4kVLNtYK6I6NCt_L_LSA,7278
803
- supervisely/nn/benchmark/object_detection/metric_provider.py,sha256=59UnOX7VuYvVQFeUJy5v6EFIpqSDNgx5wMp9qyVixgM,23686
805
+ supervisely/nn/benchmark/object_detection/metric_provider.py,sha256=_fxS24Q8KhE2n2HknMnt86xVPYEDFw5atxsvXRnCl4w,23855
804
806
  supervisely/nn/benchmark/object_detection/text_templates.py,sha256=4BgTIX1Co4WK9_VSUa1qWCmh5OJzo3_opVU6LOjKSjc,25842
805
807
  supervisely/nn/benchmark/object_detection/visualizer.py,sha256=0eJ-ATDVMyjMRInoEK604vL3vJPN5Ge1HjarS11CS0A,32365
806
808
  supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py,sha256=AXCLHEySEdR-B-5sfDoWBmmOLBVlyW2U_xr8Ta42sQI,2096
@@ -885,13 +887,15 @@ supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py,sha256=tKPURRS
885
887
  supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
886
888
  supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
887
889
  supervisely/nn/inference/__init__.py,sha256=QFukX2ip-U7263aEPCF_UCFwj6EujbMnsgrXp5Bbt8I,1623
888
- supervisely/nn/inference/cache.py,sha256=LAirR5mFHCtK59EO1lefQ2qhpp0vBvRTH26EVrs13Y0,32073
889
- supervisely/nn/inference/inference.py,sha256=6rwm4Xbar-acekOV26k0JRsKR7u9zexayOEWg6IM-yY,171299
890
- supervisely/nn/inference/session.py,sha256=jmkkxbe2kH-lEgUU6Afh62jP68dxfhF5v6OGDfLU62E,35757
890
+ supervisely/nn/inference/cache.py,sha256=rc_CRlCuTCzLDtcl1paTJib7ALTer0ge9o32WtoUMkY,34795
891
+ supervisely/nn/inference/inference.py,sha256=XfBdDA60sU53s7433eH5Q0S-6PFm1-lV1XOa5UT9MYY,177329
892
+ supervisely/nn/inference/inference_request.py,sha256=y6yw0vbaRRcEBS27nq3y0sL6Gmq2qLA_Bm0GrnJGegE,14267
893
+ supervisely/nn/inference/session.py,sha256=dIg2F-OBl68pUzcmtmcI0YQIp1WWNnrJTVMjwFN91Q4,35824
894
+ supervisely/nn/inference/uploader.py,sha256=21a9coOimCHhEqAbV-llZWcp12847DEMoQp3N16bpK0,5425
891
895
  supervisely/nn/inference/video_inference.py,sha256=8Bshjr6rDyLay5Za8IB8Dr6FURMO2R_v7aELasO8pR4,5746
892
896
  supervisely/nn/inference/gui/__init__.py,sha256=wCxd-lF5Zhcwsis-wScDA8n1Gk_1O00PKgDviUZ3F1U,221
893
- supervisely/nn/inference/gui/gui.py,sha256=5xoPmBrCcIAIgh_RFe9qi488MzRRDwLgUmmGiH--q_I,20274
894
- supervisely/nn/inference/gui/serving_gui.py,sha256=MCGyN-ASusn0vAug24AWEmmKF8qwvo-Pk3WQSJGX8ec,8446
897
+ supervisely/nn/inference/gui/gui.py,sha256=0OjGcU0KGZgWfLVQkBbljNy-QV22pdZ0bbpPvao5fx0,20143
898
+ supervisely/nn/inference/gui/serving_gui.py,sha256=JCIVp3B_tX0VKMMBJ-TdRzzAMnAL-sdqHnb1vd28r50,8596
895
899
  supervisely/nn/inference/gui/serving_gui_template.py,sha256=LkKnhZGqCPtW5nI2ACR_3T4rn4t1kF4__tPQMPgXqIc,7142
896
900
  supervisely/nn/inference/instance_segmentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
897
901
  supervisely/nn/inference/instance_segmentation/instance_segmentation.py,sha256=TWasw61P4CDiWi2zWuIYJLZ9woLA5IxWtUNRn9u6qEU,2211
@@ -907,7 +911,7 @@ supervisely/nn/inference/interactive_segmentation/interactive_segmentation.py,sh
907
911
  supervisely/nn/inference/object_detection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
908
912
  supervisely/nn/inference/object_detection/object_detection.py,sha256=Ki4updsAid1KOI2ahcdVVZ9lzdyRcYKyuQyzSz_9sXQ,1746
909
913
  supervisely/nn/inference/object_detection_3d/__init__.py,sha256=1N1fTXgJ6zbTVhM4CXwyobQy5pe1Sb1tNm8vm-i6DaE,94
910
- supervisely/nn/inference/object_detection_3d/object_detection_3d.py,sha256=XgJd1DgaaEEUdps1ZAgNArHLqVGf66YnMPyQ5j9LLLs,5539
914
+ supervisely/nn/inference/object_detection_3d/object_detection_3d.py,sha256=GmBz7VQ9-nl6EGrTb0b6Icm-TVdXT0qLiKg1pbvCUws,5601
911
915
  supervisely/nn/inference/pose_estimation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
912
916
  supervisely/nn/inference/pose_estimation/pose_estimation.py,sha256=oI-zWO7zY0-tHwGhSFmno3eSwE5I0BDKRDrZBoU9jPY,6452
913
917
  supervisely/nn/inference/prompt_based_object_detection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -919,14 +923,14 @@ supervisely/nn/inference/salient_object_segmentation/salient_object_segmentation
919
923
  supervisely/nn/inference/semantic_segmentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
920
924
  supervisely/nn/inference/semantic_segmentation/semantic_segmentation.py,sha256=xpmViSYm1v_ZxlYyqiD_DiB7_LEynv9ZoU0t2QHEx8A,3370
921
925
  supervisely/nn/inference/tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
922
- supervisely/nn/inference/tracking/base_tracking.py,sha256=OW7Rt7MIoyKvMEFBMpdCp80Kj7cLoZ3bkYE4YaYtN0I,13865
923
- supervisely/nn/inference/tracking/bbox_tracking.py,sha256=sPE-jZjSKf5QuMXmYUOkP1N6guOHK1_MvXK30MapB8A,21090
926
+ supervisely/nn/inference/tracking/base_tracking.py,sha256=pAxmuiPyuMuwSaOkLedqSVnqiZjk2Wlt03kyiLl5oxA,12434
927
+ supervisely/nn/inference/tracking/bbox_tracking.py,sha256=nE8Vtd4sxu07eSa2bUcTwIo6WmB4bIelKvTh5gjA1ns,23765
924
928
  supervisely/nn/inference/tracking/functional.py,sha256=LpVu2gvOOpr9D_uvwTPZey1wUCAhV-E20RPKmCSIrK4,1774
925
- supervisely/nn/inference/tracking/mask_tracking.py,sha256=1G0yHMw5BSzDGD4Ps-yRhr50ZeB88pMY6b-rmg2FFHw,25576
929
+ supervisely/nn/inference/tracking/mask_tracking.py,sha256=Sl7HzznNIvUmCfPporOqDa2kbSmeTvU1hSkLgeWg3kc,25499
926
930
  supervisely/nn/inference/tracking/object_tracking_3d.py,sha256=Kqvx1qe1G8F1VtdBiy2HJ251rJU6s3LWhj0ZedhrmUw,4327
927
931
  supervisely/nn/inference/tracking/point_tracking.py,sha256=jQduMpFrntITDRCNb2q93TwSfkge4T_2nMJ71iJtzqM,24799
928
932
  supervisely/nn/inference/tracking/tracker3d_interface.py,sha256=7yIkNO9rgkzQuyXUUccLwqlv5k7RPbxTqz9uI4FylLE,2781
929
- supervisely/nn/inference/tracking/tracker_interface.py,sha256=BrzddovTBxSsVt6eVa-v-6J7qYttK7S0JgJfd83M_eI,23070
933
+ supervisely/nn/inference/tracking/tracker_interface.py,sha256=nk2mhJXg4Xj5i5kWOoSzJ8w4N51RGA7GCGLcUbdVDR4,24038
930
934
  supervisely/nn/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
931
935
  supervisely/nn/legacy/config.py,sha256=TKdyGtURJKzKoyydCZAfujoUnbC0SO8GeVLTSnoyS_w,2994
932
936
  supervisely/nn/legacy/dataset.py,sha256=-56EI6OYbkTWx4y8hOgD76y47zUoJNjGFyZ6JaP8iqg,6055
@@ -958,6 +962,10 @@ supervisely/nn/legacy/pytorch/metrics.py,sha256=3jjkZpMP8bqFjOXzyNATxcXA8X4NjfHG
958
962
  supervisely/nn/legacy/pytorch/weights.py,sha256=Zb9kcpUCg6ykr7seO53CkKSQa2K44wo8l27D3sc_Gbo,3354
959
963
  supervisely/nn/legacy/training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
960
964
  supervisely/nn/legacy/training/eval_planner.py,sha256=zN9b0_CX7sWGdC8e6riTvD-NOUc3_Xduyhj00S7PEIo,1311
965
+ supervisely/nn/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
966
+ supervisely/nn/model/model_api.py,sha256=3dh0rLVT_u7B_ZDdt7kmYGVTmmetwTIRcmGYHg3VGj4,9617
967
+ supervisely/nn/model/prediction.py,sha256=2Skw5bd5OXrDYS_6-TuxDIfNum8qNFzTExJJGZsC-EA,11259
968
+ supervisely/nn/model/prediction_session.py,sha256=3a3seJ7vCVfoUbbSqLxfomqYqUffpEkkeT11YRnBA3o,24438
961
969
  supervisely/nn/tracker/__init__.py,sha256=LiojByb5kGsTQ49lWuboEh7B4JUwM1vfz81J8kJlLYo,337
962
970
  supervisely/nn/tracker/tracker.py,sha256=Hs0c07l9IVF86jvjloNAGJsSZAHuNQZf0kVaUHfw3Fs,9694
963
971
  supervisely/nn/tracker/bot_sort/__init__.py,sha256=zEs5eT8NQMrM5dtSn7kbI2aWpgS2rvO7aNmrAB8v0VU,632
@@ -982,8 +990,11 @@ supervisely/nn/tracker/deep_sort/deep_sort/tracker.py,sha256=cz--uel4ROLHPem8dOo
982
990
  supervisely/nn/tracker/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
983
991
  supervisely/nn/tracker/utils/gmc.py,sha256=3JX8979H3NA-YHNaRQyj9Z-xb9qtyMittPEjGw8y2Jo,11557
984
992
  supervisely/nn/tracker/utils/kalman_filter.py,sha256=eSFmCjM0mikHCAFvj-KCVzw-0Jxpoc3Cfc2NWEjJC1Q,17268
993
+ supervisely/nn/tracking/__init__.py,sha256=Ld1ed7ZZQZPkhX-5Xr-UbHZx5zLCm2-tInHnPhioOak,50
994
+ supervisely/nn/tracking/boxmot.py,sha256=H9cQjYGL9nX_TLrfKDChhljTIiE9lffcgbwWCf_4PJU,4277
995
+ supervisely/nn/tracking/tracking.py,sha256=WNrNm02B1pspA3d_AmzSJ-54RZTqWV2NZiC7FHe88bo,857
985
996
  supervisely/nn/training/__init__.py,sha256=gY4PCykJ-42MWKsqb9kl-skemKa8yB6t_fb5kzqR66U,111
986
- supervisely/nn/training/train_app.py,sha256=GsE8uh_PnExFceEyrmy0ubccbgSf96KCToyP8BXodI0,106666
997
+ supervisely/nn/training/train_app.py,sha256=MK8T2EKQx7Z3B6I5yWkmRUdjA3nxXE37yxJVo5qFwRM,108696
987
998
  supervisely/nn/training/gui/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
988
999
  supervisely/nn/training/gui/classes_selector.py,sha256=Bpp-RFDQqcZ0kLJmS6ZnExkdscWwRusvF4vbWjEsKlQ,3926
989
1000
  supervisely/nn/training/gui/gui.py,sha256=QDeWa6iow3z3EwLZcHlQ48d4Ur6hCmedNvCod-8qZ-k,27978
@@ -1039,7 +1050,7 @@ supervisely/script/__init__.py,sha256=pG-YPVG0gJIJ6s4xcAz9S_CnUxpUcz33wl9eNUSgxG
1039
1050
  supervisely/script/utils.py,sha256=9ZP0yelTIJgjmzrKjpm2JRED0ll-pGEwKIV4b87RCww,54
1040
1051
  supervisely/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1041
1052
  supervisely/task/paths.py,sha256=Zk9zPhuJuq2eZnb8rLt1ED6sbwX6ikHYRSZQvDP0OBg,1197
1042
- supervisely/task/progress.py,sha256=Cl-wiHf3m8jw7-odnc1kZxCewS8_cePijo2k0nZKx14,27667
1053
+ supervisely/task/progress.py,sha256=MLXZTQIPXi5hxVrx1V-q7GPFKpOeqwq3-s9q9zi1-_I,28027
1043
1054
  supervisely/task/task_logger.py,sha256=_uDfqEtiwetga6aDAqcTKCKqHjZJSuUXTsHSQFNxAvI,3531
1044
1055
  supervisely/team_files/__init__.py,sha256=mtz0Z7eFvsykOcEnSVZ-5bNHsq0_YsNBjZK3qngO-DY,149
1045
1056
  supervisely/team_files/team_files_path.py,sha256=dSqz-bycImQYwAs62TD1zCD1NQdysqCQIBhEVh9EDjw,177
@@ -1047,7 +1058,7 @@ supervisely/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
1047
1058
  supervisely/user/user.py,sha256=4GSVIupPAxWjIxZmUtH3Dtms_vGV82-49kM_aaR2gBI,319
1048
1059
  supervisely/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1049
1060
  supervisely/video/import_utils.py,sha256=b1Nl0gscNsV0iB9nWPeqt8GrkhOeuTZsN1p-d3gDUmE,544
1050
- supervisely/video/video.py,sha256=4dHlMYvXtiMQYqrCnF-u61C6bmfnXfOyCTdISMlsxWM,16629
1061
+ supervisely/video/video.py,sha256=QGV1R3qNOJ0zgsfItqv-e7mbEnWqFpE3rcJwt7izC28,20206
1051
1062
  supervisely/video_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1052
1063
  supervisely/video_annotation/constants.py,sha256=_gW9iMhVk1w_dUaFiaiyXn66mt13S6bkxC64xpjP-CU,529
1053
1064
  supervisely/video_annotation/frame.py,sha256=H1G7Wl4LEEmQE-E0B2QWD8kyzZ4-w-GJSUdq7v_Qs2g,10568
@@ -1085,9 +1096,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
1085
1096
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
1086
1097
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
1087
1098
  supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
1088
- supervisely-6.73.357.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1089
- supervisely-6.73.357.dist-info/METADATA,sha256=DdNugcuaOhnUNQMeJOHhj7x80PAPBkxnyKQencTMt-Q,33598
1090
- supervisely-6.73.357.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1091
- supervisely-6.73.357.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1092
- supervisely-6.73.357.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1093
- supervisely-6.73.357.dist-info/RECORD,,
1099
+ supervisely-6.73.358.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1100
+ supervisely-6.73.358.dist-info/METADATA,sha256=c7AqZbmkpnvb4BwmWvyt8T_3RlYBQA_ufdkEKwsUWIU,33641
1101
+ supervisely-6.73.358.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1102
+ supervisely-6.73.358.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1103
+ supervisely-6.73.358.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1104
+ supervisely-6.73.358.dist-info/RECORD,,
@@ -1,202 +0,0 @@
1
- # coding: utf-8
2
- """download/upload/manipulate neural networks"""
3
-
4
- import os
5
- import tarfile
6
- from requests_toolbelt import MultipartEncoder, MultipartEncoderMonitor
7
- import numpy as np
8
- import json
9
-
10
- from supervisely.api.module_api import ApiField, CloneableModuleApi, RemoveableModuleApi
11
- from supervisely._utils import rand_str
12
- from supervisely.io.fs import ensure_base_path, silent_remove
13
- from supervisely.imaging import image as sly_image
14
- from supervisely.project.project_meta import ProjectMeta
15
-
16
-
17
- class NeuralNetworkApi(CloneableModuleApi, RemoveableModuleApi):
18
- """
19
- """
20
- @staticmethod
21
- def info_sequence():
22
- """
23
- """
24
- return [ApiField.ID,
25
- ApiField.NAME,
26
- ApiField.DESCRIPTION,
27
- ApiField.CONFIG,
28
- ApiField.HASH,
29
- ApiField.ONLY_TRAIN,
30
- ApiField.PLUGIN_ID,
31
- ApiField.PLUGIN_VERSION,
32
- ApiField.SIZE,
33
- ApiField.WEIGHTS_LOCATION,
34
- ApiField.README,
35
- ApiField.TASK_ID,
36
- ApiField.USER_ID,
37
- ApiField.TEAM_ID,
38
- ApiField.WORKSPACE_ID,
39
- ApiField.CREATED_AT,
40
- ApiField.UPDATED_AT]
41
-
42
- @staticmethod
43
- def info_tuple_name():
44
- """
45
- """
46
- return 'ModelInfo'
47
-
48
- def get_list(self, workspace_id, filters=None):
49
- """
50
- """
51
- return self.get_list_all_pages('models.list', {ApiField.WORKSPACE_ID: workspace_id, ApiField.FILTER: filters or []})
52
-
53
- def get_info_by_id(self, id):
54
- """
55
- """
56
- return self._get_info_by_id(id, 'models.info')
57
-
58
- def download(self, id):
59
- """
60
- """
61
- response = self._api.post('models.download', {ApiField.ID: id}, stream=True)
62
- return response
63
-
64
- def download_to_tar(self, workspace_id, name, tar_path, progress_cb=None):
65
- """
66
- """
67
- model = self.get_info_by_name(workspace_id, name)
68
- response = self.download(model.id)
69
- ensure_base_path(tar_path)
70
- with open(tar_path, 'wb') as fd:
71
- for chunk in response.iter_content(chunk_size=1024*1024):
72
- fd.write(chunk)
73
- if progress_cb is not None:
74
- read_mb = len(chunk) / 1024.0 / 1024.0
75
- progress_cb(read_mb)
76
-
77
- def download_to_dir(self, workspace_id, name, directory, progress_cb=None):
78
- """
79
- """
80
- model_tar = os.path.join(directory, rand_str(10) + '.tar')
81
- self.download_to_tar(workspace_id, name, model_tar, progress_cb)
82
- model_dir = os.path.join(directory, name)
83
- with tarfile.open(model_tar) as archive:
84
- archive.extractall(model_dir)
85
- silent_remove(model_tar)
86
- return model_dir
87
-
88
- def generate_hash(self, task_id):
89
- """"""
90
- response = self._api.post('models.hash.create', {ApiField.TASK_ID: task_id})
91
- return response.json()
92
-
93
- def upload(self, hash, archive_path, progress_cb=None):
94
- """
95
- """
96
- encoder = MultipartEncoder({'hash': hash,
97
- 'weights': (os.path.basename(archive_path), open(archive_path, 'rb'), 'application/x-tar')})
98
-
99
- def callback(monitor_instance):
100
- read_mb = monitor_instance.bytes_read / 1024.0 / 1024.0
101
- if progress_cb is not None:
102
- progress_cb(read_mb)
103
- monitor = MultipartEncoderMonitor(encoder, callback)
104
- self._api.post('models.upload', monitor)
105
-
106
- def inference_remote_image(self, id, image_hash, ann=None, meta=None, mode=None):
107
- """
108
- """
109
- data = {
110
- "request_type": "inference",
111
- "meta": meta or ProjectMeta().to_json(),
112
- "annotation": ann or None,
113
- "mode": mode or {},
114
- "image_hash": image_hash
115
- }
116
- fake_img_data = sly_image.write_bytes(np.zeros([5, 5, 3]), '.jpg')
117
- encoder = MultipartEncoder({'id': str(id).encode('utf-8'),
118
- 'data': json.dumps(data),
119
- 'image': ("img", fake_img_data, "")})
120
- response = self._api.post('models.infer', MultipartEncoderMonitor(encoder))
121
- return response.json()
122
-
123
- def inference(self, id, img, ann=None, meta=None, mode=None, ext=None):
124
- """
125
- """
126
- data = {
127
- "request_type": "inference",
128
- "meta": meta or ProjectMeta().to_json(),
129
- "annotation": ann or None,
130
- "mode": mode or {},
131
- }
132
- img_data = sly_image.write_bytes(img, ext or '.jpg')
133
- encoder = MultipartEncoder({'id': str(id).encode('utf-8'),
134
- 'data': json.dumps(data),
135
- 'image': ("img", img_data, "")})
136
-
137
- response = self._api.post('models.infer', MultipartEncoderMonitor(encoder))
138
- return response.json()
139
-
140
- def get_output_meta(self, id, input_meta=None, inference_mode=None):
141
- """
142
- """
143
- data = {
144
- "request_type": "get_out_meta",
145
- "meta": input_meta or ProjectMeta().to_json(),
146
- "mode": inference_mode or {}
147
- }
148
- encoder = MultipartEncoder({'id': str(id).encode('utf-8'),
149
- 'data': json.dumps(data)})
150
- response = self._api.post('models.infer', MultipartEncoderMonitor(encoder))
151
- response_json = response.json()
152
- if 'out_meta' in response_json:
153
- return response_json['out_meta']
154
- if 'output_meta' in response_json:
155
- return response_json['output_meta']
156
- return response.json()
157
-
158
- def get_deploy_tasks(self, model_id):
159
- """
160
- """
161
- response = self._api.post('models.info.deployed', {'id': model_id})
162
- return [task[ApiField.ID] for task in response.json()]
163
-
164
- def get_training_metrics(self, model_id):
165
- """
166
- """
167
- response = self._get_response_by_id(id=model_id, method='tasks.train-metrics', id_field=ApiField.MODEL_ID)
168
- return response.json() if (response is not None) else None
169
-
170
- def _clone_api_method_name(self):
171
- """
172
- """
173
- return 'models.clone'
174
-
175
- def _remove_api_method_name(self):
176
- """
177
- """
178
- return 'models.remove'
179
-
180
- def create_from_checkpoint(self, task_id, checkpoint_id, model_name, change_name_if_conflict=True):
181
- """
182
- """
183
- # FYI: checkpoint has these fields
184
- # 'modelTitle': 'my_model_name_006',
185
- # 'status': 'uploaded'
186
-
187
- self._api.task._validate_checkpoints_support(task_id)
188
- task_info = self._api.task.get_info_by_id(task_id)
189
- workspace_id = task_info[ApiField.WORKSPACE_ID]
190
- new_model_name = self.get_free_name(workspace_id, model_name)
191
- if new_model_name != model_name and change_name_if_conflict is False:
192
- raise KeyError("Model name={!r} already exists in workspace id={!r}".format(model_name, workspace_id))
193
- resp = self._api.post("models.create-from-checkpoint", {ApiField.ID: checkpoint_id,
194
- ApiField.TASK_ID: task_id,
195
- ApiField.NAME: new_model_name})
196
- process_task_id = resp.json()[ApiField.TASK_ID]
197
- if process_task_id is not None:
198
- self._api.task.wait(process_task_id, self._api.task.Status.FINISHED)
199
- else:
200
- # upload process skipped because checkpoint is already uploaded to server, just new model will be created
201
- pass
202
- return new_model_name