supervisely 6.73.357__py3-none-any.whl → 6.73.359__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.
- supervisely/_utils.py +12 -0
- supervisely/api/annotation_api.py +3 -0
- supervisely/api/api.py +2 -2
- supervisely/api/app_api.py +27 -2
- supervisely/api/entity_annotation/tag_api.py +0 -1
- supervisely/api/nn/__init__.py +0 -0
- supervisely/api/nn/deploy_api.py +821 -0
- supervisely/api/nn/neural_network_api.py +248 -0
- supervisely/api/task_api.py +26 -467
- supervisely/app/fastapi/subapp.py +1 -0
- supervisely/nn/__init__.py +2 -1
- supervisely/nn/artifacts/artifacts.py +5 -5
- supervisely/nn/benchmark/object_detection/metric_provider.py +3 -0
- supervisely/nn/experiments.py +28 -5
- supervisely/nn/inference/cache.py +178 -114
- supervisely/nn/inference/gui/gui.py +18 -35
- supervisely/nn/inference/gui/serving_gui.py +3 -1
- supervisely/nn/inference/inference.py +1421 -1265
- supervisely/nn/inference/inference_request.py +412 -0
- supervisely/nn/inference/object_detection_3d/object_detection_3d.py +31 -24
- supervisely/nn/inference/session.py +2 -2
- supervisely/nn/inference/tracking/base_tracking.py +45 -79
- supervisely/nn/inference/tracking/bbox_tracking.py +220 -155
- supervisely/nn/inference/tracking/mask_tracking.py +274 -250
- supervisely/nn/inference/tracking/tracker_interface.py +23 -0
- supervisely/nn/inference/uploader.py +164 -0
- supervisely/nn/model/__init__.py +0 -0
- supervisely/nn/model/model_api.py +259 -0
- supervisely/nn/model/prediction.py +311 -0
- supervisely/nn/model/prediction_session.py +632 -0
- supervisely/nn/tracking/__init__.py +1 -0
- supervisely/nn/tracking/boxmot.py +114 -0
- supervisely/nn/tracking/tracking.py +24 -0
- supervisely/nn/training/train_app.py +61 -19
- supervisely/nn/utils.py +43 -3
- supervisely/task/progress.py +12 -2
- supervisely/video/video.py +107 -1
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.dist-info}/METADATA +2 -1
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.dist-info}/RECORD +43 -32
- supervisely/api/neural_network_api.py +0 -202
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.dist-info}/LICENSE +0 -0
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.dist-info}/WHEEL +0 -0
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.357.dist-info → supervisely-6.73.359.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=
|
|
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=
|
|
25
|
-
supervisely/api/api.py,sha256=
|
|
26
|
-
supervisely/api/app_api.py,sha256
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
743
|
-
supervisely/nn/experiments.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
889
|
-
supervisely/nn/inference/inference.py,sha256=
|
|
890
|
-
supervisely/nn/inference/
|
|
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=
|
|
894
|
-
supervisely/nn/inference/gui/serving_gui.py,sha256=
|
|
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=
|
|
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=
|
|
923
|
-
supervisely/nn/inference/tracking/bbox_tracking.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
1089
|
-
supervisely-6.73.
|
|
1090
|
-
supervisely-6.73.
|
|
1091
|
-
supervisely-6.73.
|
|
1092
|
-
supervisely-6.73.
|
|
1093
|
-
supervisely-6.73.
|
|
1099
|
+
supervisely-6.73.359.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1100
|
+
supervisely-6.73.359.dist-info/METADATA,sha256=z3WHNcDUGQ_GTK4UnOCU9kRioIfn_wiR7VuD1s8ZeVk,33641
|
|
1101
|
+
supervisely-6.73.359.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
1102
|
+
supervisely-6.73.359.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
|
|
1103
|
+
supervisely-6.73.359.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
|
|
1104
|
+
supervisely-6.73.359.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|