supervisely 6.73.301__py3-none-any.whl → 6.73.303__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 supervisely might be problematic. Click here for more details.

@@ -10,6 +10,9 @@ class YOLOv5(BaseTrainArtifacts):
10
10
  super().__init__(team_id)
11
11
 
12
12
  self._app_name = "Train YOLOv5"
13
+ self._slug = "supervisely-ecosystem/yolov5/supervisely/train"
14
+ self._serve_app_name = "Serve YOLOv5"
15
+ self._serve_slug = "supervisely-ecosystem/yolov5/supervisely/serve"
13
16
  self._framework_name = "YOLOv5"
14
17
  self._framework_folder = "/yolov5_train"
15
18
  self._weights_folder = "weights"
@@ -18,6 +21,7 @@ class YOLOv5(BaseTrainArtifacts):
18
21
  self._config_file = None
19
22
  self._pattern = re_compile(r"^/yolov5_train/[^/]+/\d+/?$")
20
23
  self._available_task_types: List[str] = ["object detection"]
24
+ self._require_runtime = False
21
25
 
22
26
  def get_task_id(self, artifacts_folder: str) -> str:
23
27
  return artifacts_folder.split("/")[-1]
@@ -40,6 +44,9 @@ class YOLOv5v2(YOLOv5):
40
44
  super().__init__(team_id)
41
45
 
42
46
  self._app_name = "Train YOLOv5 2.0"
47
+ self._slug = "supervisely-ecosystem/yolov5_2.0/train"
48
+ self._serve_app_name = "Serve YOLOv5 2.0"
49
+ self._serve_slug = "supervisely-ecosystem/yolov5_2.0/serve"
43
50
  self._framework_name = "YOLOv5 2.0"
44
51
  self._framework_folder = "/yolov5_2.0_train"
45
52
  self._weights_folder = "weights"
@@ -10,7 +10,10 @@ class YOLOv8(BaseTrainArtifacts):
10
10
  super().__init__(team_id)
11
11
 
12
12
  self._app_name = "Train YOLOv8 | v9 | v10 | v11"
13
- self._framework_name = "YOLOv8+"
13
+ self._slug = "supervisely-ecosystem/yolov8/train"
14
+ self._serve_app_name = "Serve YOLOv8 | v9 | v10 | v11"
15
+ self._serve_slug = "supervisely-ecosystem/yolov8/serve"
16
+ self._framework_name = "YOLOv8"
14
17
  self._framework_folder = "/yolov8_train"
15
18
  self._weights_folder = "weights"
16
19
  self._task_type = None
@@ -24,6 +27,7 @@ class YOLOv8(BaseTrainArtifacts):
24
27
  "instance segmentation",
25
28
  "pose estimation",
26
29
  ]
30
+ self._require_runtime = True
27
31
 
28
32
  def get_task_id(self, artifacts_folder: str) -> str:
29
33
  parts = artifacts_folder.split("/")
@@ -2,13 +2,15 @@ from concurrent.futures import ThreadPoolExecutor
2
2
  from dataclasses import dataclass, fields
3
3
  from json import JSONDecodeError
4
4
  from os.path import dirname, join
5
- from typing import List, Optional
5
+ from typing import List, Optional, Union
6
6
 
7
7
  import requests
8
8
 
9
9
  from supervisely import logger
10
10
  from supervisely.api.api import Api, ApiField
11
11
 
12
+ EXPERIMENT_INFO_FILENAME = "experiment_info.json"
13
+
12
14
 
13
15
  @dataclass
14
16
  class ExperimentInfo:
@@ -78,7 +80,7 @@ def get_experiment_infos(api: Api, team_id: int, framework_name: str) -> List[Ex
78
80
 
79
81
  api = sly.Api.from_env()
80
82
  team_id = sly.env.team_id()
81
- framework_name = "rt-detr"
83
+ framework_name = "RT-DETRv2"
82
84
  experiment_infos = sly.nn.training.experiments.get_experiment_infos(api, team_id, framework_name)
83
85
  """
84
86
  metadata_name = "experiment_info.json"
@@ -140,3 +142,84 @@ def get_experiment_infos(api: Api, team_id: int, framework_name: str) -> List[Ex
140
142
 
141
143
  experiment_infos = [info for info in experiment_infos if info is not None]
142
144
  return experiment_infos
145
+
146
+
147
+ def _fetch_experiment_data(api, team_id: int, experiment_path: str) -> Union[ExperimentInfo, None]:
148
+ """
149
+ Fetch experiment data from the specified path in Supervisely Team Files
150
+
151
+ :param api: Supervisely API client
152
+ :type api: Api
153
+ :param team_id: Team ID
154
+ :type team_id: int
155
+ :param experiment_path: Path to the experiment data
156
+ :type experiment_path: str
157
+ :return: ExperimentInfo object
158
+ :rtype: Union[ExperimentInfo, None]
159
+ """
160
+ try:
161
+ response = api.post(
162
+ "file-storage.download",
163
+ {ApiField.TEAM_ID: team_id, ApiField.PATH: experiment_path},
164
+ stream=True,
165
+ )
166
+ response.raise_for_status()
167
+ response_json = response.json()
168
+ required_fields = {
169
+ field.name for field in fields(ExperimentInfo) if field.default is not None
170
+ }
171
+ optional_fields = {field.name for field in fields(ExperimentInfo) if field.default is None}
172
+
173
+ missing_optional_fields = optional_fields - response_json.keys()
174
+ if missing_optional_fields:
175
+ logger.debug(
176
+ f"Missing optional fields: {missing_optional_fields} for '{experiment_path}'"
177
+ )
178
+ for field in missing_optional_fields:
179
+ response_json[field] = None
180
+
181
+ missing_required_fields = required_fields - response_json.keys()
182
+ if missing_required_fields:
183
+ logger.debug(
184
+ f"Missing required fields: {missing_required_fields} for '{experiment_path}'. Skipping."
185
+ )
186
+ return None
187
+ return ExperimentInfo(**{k: v for k, v in response_json.items() if k in required_fields})
188
+ except requests.exceptions.RequestException as e:
189
+ logger.debug(f"Request failed for '{experiment_path}': {e}")
190
+ except JSONDecodeError as e:
191
+ logger.debug(f"JSON decode failed for '{experiment_path}': {e}")
192
+ except TypeError as e:
193
+ logger.error(f"TypeError for '{experiment_path}': {e}")
194
+ return None
195
+
196
+
197
+ def get_experiment_info_by_artifacts_dir(
198
+ api: Api, team_id: int, artifacts_dir: str
199
+ ) -> Union[ExperimentInfo, None]:
200
+ """
201
+ Get experiment info by artifacts directory
202
+
203
+ :param api: Supervisely API client
204
+ :type api: Api
205
+ :param team_id: Team ID
206
+ :type team_id: int
207
+ :param artifacts_dir: Path to the directory with artifacts
208
+ :type artifacts_dir: str
209
+ :return: ExperimentInfo object
210
+ :rtype: Optional[ExperimentInfo]
211
+ :Usage example:
212
+
213
+ .. code-block:: python
214
+
215
+ import supervisely as sly
216
+
217
+ api = sly.Api.from_env()
218
+ team_id = sly.env.team_id()
219
+ artifacts_dir = "/experiments/27_Lemons (Rectangle)/265_RT-DETRv2/"
220
+ experiment_info = sly.nn.training.experiments.get_experiment_info_by_artifacts_dir(api, team_id, artifacts_dir)
221
+ """
222
+ if not artifacts_dir.startswith("/experiments"):
223
+ raise ValueError("Artifacts directory should start with '/experiments'")
224
+ experiment_path = join(artifacts_dir, EXPERIMENT_INFO_FILENAME)
225
+ return _fetch_experiment_data(api, team_id, experiment_path)
@@ -670,16 +670,20 @@ class Inference:
670
670
  self.update_gui(self._model_served)
671
671
  self.gui.show_deployed_model_info(self)
672
672
 
673
- def load_custom_checkpoint(self, model_files: dict, model_meta: dict, device: str = "cuda"):
673
+ def load_custom_checkpoint(
674
+ self, model_files: dict, model_meta: dict, device: str = "cuda", **kwargs
675
+ ):
674
676
  """
675
677
  Loads local custom model checkpoint.
676
678
 
677
- :param: model_files: dict with paths to model files
679
+ :param: model_files: dict with local paths to model files
678
680
  :type: model_files: dict
679
681
  :param: model_meta: dict with model meta
680
682
  :type: model_meta: dict
681
683
  :param: device: device to load model on
682
684
  :type: device: str
685
+ :param: kwargs: additional parameters will be passed to load_model method.
686
+ :type: kwargs: dict
683
687
  :return: None
684
688
  :rtype: None
685
689
 
@@ -717,6 +721,9 @@ class Inference:
717
721
  "device": device,
718
722
  "runtime": RuntimeType.PYTORCH,
719
723
  }
724
+ deploy_params.update(kwargs)
725
+
726
+ # TODO: add support for **kwargs (user arguments)
720
727
  self._set_model_meta_custom_model({"model_meta": model_meta})
721
728
  self._load_model(deploy_params)
722
729
 
@@ -1013,7 +1020,7 @@ class Inference:
1013
1020
  self,
1014
1021
  source: Union[str, int, np.ndarray, List[str], List[int], List[np.ndarray]],
1015
1022
  settings: dict = None,
1016
- ) -> Union[Annotation, List[Annotation], dict, List[dict]]:
1023
+ ) -> Union[Annotation, List[Annotation]]:
1017
1024
  """
1018
1025
  Inference method for images. Provide image path or numpy array of image.
1019
1026
 
@@ -1022,7 +1029,7 @@ class Inference:
1022
1029
  :param: settings: inference settings
1023
1030
  :type: settings: dict
1024
1031
  :return: annotation or list of annotations
1025
- :rtype: Union[Annotation, List[Annotation], dict, List[dict]]
1032
+ :rtype: Union[Annotation, List[Annotation]]
1026
1033
 
1027
1034
  :Usage Example:
1028
1035
 
@@ -697,7 +697,7 @@ class TrainApp:
697
697
  if model_files is None:
698
698
  raise ValueError(
699
699
  "Model files not found in model metadata. "
700
- "Please update provided models oarameter to include key 'model_files' in 'meta' key."
700
+ "Please update provided models parameter to include key 'model_files' in 'meta' key."
701
701
  )
702
702
  return models
703
703
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.301
3
+ Version: 6.73.303
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -42,7 +42,7 @@ supervisely/api/remote_storage_api.py,sha256=qTuPhPsstgEjRm1g-ZInddik8BNC_38YvBB
42
42
  supervisely/api/report_api.py,sha256=Om7CGulUbQ4BuJ16eDtz7luLe0JQNqab-LoLpUXu7YE,7123
43
43
  supervisely/api/role_api.py,sha256=aBL4mxtn08LDPXQuS153-lQFN6N2kcwiz8MbescZ8Gk,3044
44
44
  supervisely/api/storage_api.py,sha256=FPGYf3Rn3LBoe38RBNdoiURs306oshzvKOEOQ56XAbs,13030
45
- supervisely/api/task_api.py,sha256=JD3I2RiN1g_I8nSZRN7nbFOhPEuLvgk_r2K2rW5hzlI,42357
45
+ supervisely/api/task_api.py,sha256=AizcgOA0kJNaDRbI6MW4w2GiJ4E99L48J3WcxyvQkM0,53435
46
46
  supervisely/api/team_api.py,sha256=bEoz3mrykvliLhKnzEy52vzdd_H8VBJCpxF-Bnek9Q8,19467
47
47
  supervisely/api/user_api.py,sha256=4S97yIc6AMTZCa0N57lzETnpIE8CeqClvCb6kjUkgfc,24940
48
48
  supervisely/api/video_annotation_tool_api.py,sha256=3A9-U8WJzrTShP_n9T8U01M9FzGYdeS51CCBTzUnooo,6686
@@ -564,7 +564,7 @@ supervisely/cli/teamfiles/teamfiles_upload.py,sha256=xnsW2rvdq1e-KGjF1tMBu7Oxh3n
564
564
  supervisely/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
565
565
  supervisely/collection/key_indexed_collection.py,sha256=x2UVlkprspWhhae9oLUzjTWBoIouiWY9UQSS_MozfH0,37643
566
566
  supervisely/collection/str_enum.py,sha256=Zp29yFGvnxC6oJRYNNlXhO2lTSdsriU1wiGHj6ahEJE,1250
567
- supervisely/convert/__init__.py,sha256=pF1bOrg8SzkdFn90AWGRmVa9OQrHABY0gTlgurJ86Tw,962
567
+ supervisely/convert/__init__.py,sha256=ropgB1eebG2bfLoJyf2jp8Vv9UkFujaW3jVX-71ho1g,1353
568
568
  supervisely/convert/base_converter.py,sha256=eCFnvyoMI96rWjB5amFPZX2fI_TSdr__ruqxwQIbfFo,18537
569
569
  supervisely/convert/converter.py,sha256=tWxTDfFv7hwzQhUQrBxzfr6WP8FUGFX_ewg5T2HbUYo,8959
570
570
  supervisely/convert/image/__init__.py,sha256=JEuyaBiiyiYmEUYqdn8Mog5FVXpz0H1zFubKkOOm73I,1395
@@ -576,7 +576,7 @@ supervisely/convert/image/cityscapes/cityscapes_helper.py,sha256=in5nR7__q_u5dCk
576
576
  supervisely/convert/image/coco/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
577
577
  supervisely/convert/image/coco/coco_anntotation_converter.py,sha256=O1PQbwrbnpQBks2pcz2nbAnhSqpKqNk13B2ARk_roFM,7078
578
578
  supervisely/convert/image/coco/coco_converter.py,sha256=7dW7vE6yTRz7O31vTVSnEA4MDCc_UXTqc2UFEqaKorI,5650
579
- supervisely/convert/image/coco/coco_helper.py,sha256=ykZe_M_yfDqJT9FoQXQ3zuLbQMO0l1WP75QMbvKEx5Y,32866
579
+ supervisely/convert/image/coco/coco_helper.py,sha256=heJcaptN9nX8BEB3ZYiFEQvPfylUCmw3g4pGxlNt_sk,39265
580
580
  supervisely/convert/image/csv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
581
581
  supervisely/convert/image/csv/csv_converter.py,sha256=iLyc2PAVtlsAq7blnGH4iS1_D7Ai6-4UsdI_RlDVB9Q,11677
582
582
  supervisely/convert/image/csv/csv_helper.py,sha256=-nR192IfMU0vTlNRoKXu5FS6tTs9fENqySyeKKyemRs,8409
@@ -601,7 +601,7 @@ supervisely/convert/image/multispectral/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
601
601
  supervisely/convert/image/multispectral/multispectral_converter.py,sha256=T3etYVNI0AUUrQsQhxw_r85NthXrqhqmdZQfz8kUY0g,5194
602
602
  supervisely/convert/image/pascal_voc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
603
603
  supervisely/convert/image/pascal_voc/pascal_voc_converter.py,sha256=h5Q3qW4riUCXPo5535wuKGurlLvPfKbWGML0RGnMxyg,7648
604
- supervisely/convert/image/pascal_voc/pascal_voc_helper.py,sha256=j-ybuBG4bWQVPSAGTxTgNrBxHFXxnroAzTapngADqfI,24011
604
+ supervisely/convert/image/pascal_voc/pascal_voc_helper.py,sha256=oM-HKUePUwB27aQjL-EvyeS7K-GX0X31rms2yOTTnGo,27872
605
605
  supervisely/convert/image/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
606
606
  supervisely/convert/image/pdf/pdf_converter.py,sha256=LKvVng9jPp0cSIjYEjKLOb48wtdOdB7LXS2gjmOdZhE,2442
607
607
  supervisely/convert/image/pdf/pdf_helper.py,sha256=IDwLEvsVy8lu-KC1lXvSRkZZ9BCC6ylebnNEtLQU5L4,1288
@@ -611,7 +611,7 @@ supervisely/convert/image/sly/sly_image_converter.py,sha256=097ijLa_62ZBu0elRx0x
611
611
  supervisely/convert/image/sly/sly_image_helper.py,sha256=5Ri8fKb5dzh5b3v8AJ5u8xVFOQfAtoWqZ7HktPsCjTI,7373
612
612
  supervisely/convert/image/yolo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
613
613
  supervisely/convert/image/yolo/yolo_converter.py,sha256=Wn5dR05y4SEPONcaxWr9ofnbvbf-SbRZN0fkksk5Dps,11391
614
- supervisely/convert/image/yolo/yolo_helper.py,sha256=IwyBMZE_3eblsHhw8egeZUR9h_NciwjrxvVLNuZbxY4,19194
614
+ supervisely/convert/image/yolo/yolo_helper.py,sha256=ePBnt8c52JM-lh-bH7XdIal4_UkjysSK7yVX0qhVqdE,22556
615
615
  supervisely/convert/pointcloud/__init__.py,sha256=WPeIpPoTWDIKAa0lF6t2SMUhFNZ0l-vKujf6yD6w7SA,589
616
616
  supervisely/convert/pointcloud/pointcloud_converter.py,sha256=yCCpzm7GrvL6WT4lNesvtYWWwdO3DO32JIOBBSSQgSA,7130
617
617
  supervisely/convert/pointcloud/bag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -730,23 +730,23 @@ supervisely/metric/pixel_accuracy.py,sha256=qjtxInOTkGDwPeLUnjBdzOrVRT3V6kGGOWjB
730
730
  supervisely/metric/precision_recall_metric.py,sha256=4AQCkcB84mpYQS94yJ-wkG1LBuXlQf3X_tI9f67vtR8,3426
731
731
  supervisely/metric/projects_applier.py,sha256=ORtgLQHYtNi4KYsSGaGPPWiZPexTJF9IWqX_RuLRxPk,3415
732
732
  supervisely/nn/__init__.py,sha256=w2gZ6pCreaTYyhZV8PZrYctqmCu_7sbJ-WGegs7mouw,570
733
- supervisely/nn/experiments.py,sha256=9j15x754yWGA5MMkBl-iTX9FDJj5kM3_D9OAYaqBL-E,5601
733
+ supervisely/nn/experiments.py,sha256=0RFYp-LZTRny9tsyeVV58GKtPWngxTw54abfrk3052g,8742
734
734
  supervisely/nn/prediction_dto.py,sha256=8QQE6h_feOf3bjWtyG_PoU8FIQrr4g8PoMOyoscmqJM,1697
735
735
  supervisely/nn/task_type.py,sha256=UJvSJ4L3I08j_e6sU6Ptu7kS5p1H09rfhfoDUSZ2iys,522
736
736
  supervisely/nn/utils.py,sha256=-Xjv5KLu8CTtyi7acqsIX1E0dDwKZPED4D6b4Z_Ln3k,1451
737
737
  supervisely/nn/artifacts/__init__.py,sha256=m7KYTMzEJnoV9wcU_0xzgLuPz69Dqp9va0fP32tohV4,576
738
- supervisely/nn/artifacts/artifacts.py,sha256=R_UALxl02hclwdcwxGJFlfPiH7EmjYXXH1ecl42quX0,21079
739
- supervisely/nn/artifacts/detectron2.py,sha256=6iu5Yslc-SxCKJVNl6sn84qeXmD-JIQShJIxuLdzf2o,1673
740
- supervisely/nn/artifacts/hrda.py,sha256=3DzbjDIt9YuLozMrKmYYw13oxc14xju2vzbxKVq2G4I,1073
741
- supervisely/nn/artifacts/mmclassification.py,sha256=M0m9HHF5koHsl5RuFkRU0_clckA1sFty3X6awB2eKNo,1527
742
- supervisely/nn/artifacts/mmdetection.py,sha256=RxrCPODJzJqu9rtNtkndiGiHiPnusIRQWmwbAzZ9PGU,4812
743
- supervisely/nn/artifacts/mmsegmentation.py,sha256=VTh0hKgaDeF1SHWWxTTXgt7h_mpLuXER1_2Jeb3ytHI,1331
744
- supervisely/nn/artifacts/ritm.py,sha256=lff_lx8IqmhvE9qF8rtbddGkjgVF-abKCtQEi_kLhkk,1969
745
- supervisely/nn/artifacts/rtdetr.py,sha256=aKNieooBl8VX5BDwaNkr9vj142rquKQU4xPDB31m_Fw,1229
746
- supervisely/nn/artifacts/unet.py,sha256=ifipjAWLANZoZ5Er5qxCykBIV-Zu_NQKtenjFdgpbic,1586
738
+ supervisely/nn/artifacts/artifacts.py,sha256=Ol6Tt3CHGbGm_7rR3iClokOArUj6z4ky92YKozpewRM,22859
739
+ supervisely/nn/artifacts/detectron2.py,sha256=g2F47GS1LryWng1zMAXW5ZLnz0fcRuYAY3sX6LcuHUs,1961
740
+ supervisely/nn/artifacts/hrda.py,sha256=m671dTq10X6IboUL3xed9yuYzH-HP8KDjYAD8-a9CDI,1213
741
+ supervisely/nn/artifacts/mmclassification.py,sha256=Lm-M1OD8-Qjr8xzajrOh53sFGtL-DSI8uSAxwPJJQxQ,1787
742
+ supervisely/nn/artifacts/mmdetection.py,sha256=Pmulm3Ppw6uTUr_TNDCVYFgZXTNS2-69PDR--xTVzcI,5272
743
+ supervisely/nn/artifacts/mmsegmentation.py,sha256=9yls1PUwcTHkeNvdDw4ZclQZxbNW8DYVi5s_yFVvWA0,1561
744
+ supervisely/nn/artifacts/ritm.py,sha256=rnZ8-cWzqYf-cqukdVN0VJhsPG4gXX3KeRODaIZX2Q4,2152
745
+ supervisely/nn/artifacts/rtdetr.py,sha256=lFyWyGMH0jfaUGUIqFGQVSVnG-MkC7u3piAAXyoh99M,1486
746
+ supervisely/nn/artifacts/unet.py,sha256=GmZ947o5Mdys3rqQN8gC7dhGOl1Uo2zWZ_bH9b9FcVI,1810
747
747
  supervisely/nn/artifacts/utils.py,sha256=C4EaMi95MAwtK5TOnhK4sQ1BWvgwYBxXyRStkhYrYv8,1356
748
- supervisely/nn/artifacts/yolov5.py,sha256=slh05EpQsxqgKwB9KMClshdBxPBN3ZWZ6S4B80ECEt4,1724
749
- supervisely/nn/artifacts/yolov8.py,sha256=sFd9kU7Gdowq6WH1S3NdlQeoL9jjQKmRYb51fG_wbDk,1446
748
+ supervisely/nn/artifacts/yolov5.py,sha256=AVRbUSY4gxRz-yXhuP80oDZbtNElblun2Ie6eTOYU5g,2134
749
+ supervisely/nn/artifacts/yolov8.py,sha256=wLefz1CTGghZ8x61L5Oa0pe9nOetZzt4YN8yB9v_Dh8,1667
750
750
  supervisely/nn/benchmark/__init__.py,sha256=7jDezvavJFtO9mDeB2TqW8N4sD8TsHQBPpA9RESleIQ,610
751
751
  supervisely/nn/benchmark/base_benchmark.py,sha256=SltD3T2Nbo3h0RLfPShWmGrpHJOzSmF7IK6G4unXm4c,26055
752
752
  supervisely/nn/benchmark/base_evaluator.py,sha256=MJeZnMcWr_cbeJ2r0GJ4SWgjWX5w33Y3pYVR6kCIQMQ,5246
@@ -875,7 +875,7 @@ supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8
875
875
  supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
876
876
  supervisely/nn/inference/__init__.py,sha256=mtEci4Puu-fRXDnGn8RP47o97rv3VTE0hjbYO34Zwqg,1622
877
877
  supervisely/nn/inference/cache.py,sha256=h-pP_7th0ana3oJ75sFfTbead3hdKUvYA8Iq2OXDx3I,31317
878
- supervisely/nn/inference/inference.py,sha256=jy45Vya994PhW7g0f4tWsbqqjwBx2H87TTLId508rT8,148139
878
+ supervisely/nn/inference/inference.py,sha256=-RXgGv9QUI-hJk1fVDYZVNguLlvSHjCDtElwSIz21Ow,148340
879
879
  supervisely/nn/inference/session.py,sha256=jmkkxbe2kH-lEgUU6Afh62jP68dxfhF5v6OGDfLU62E,35757
880
880
  supervisely/nn/inference/video_inference.py,sha256=8Bshjr6rDyLay5Za8IB8Dr6FURMO2R_v7aELasO8pR4,5746
881
881
  supervisely/nn/inference/gui/__init__.py,sha256=wCxd-lF5Zhcwsis-wScDA8n1Gk_1O00PKgDviUZ3F1U,221
@@ -972,7 +972,7 @@ supervisely/nn/tracker/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
972
972
  supervisely/nn/tracker/utils/gmc.py,sha256=3JX8979H3NA-YHNaRQyj9Z-xb9qtyMittPEjGw8y2Jo,11557
973
973
  supervisely/nn/tracker/utils/kalman_filter.py,sha256=eSFmCjM0mikHCAFvj-KCVzw-0Jxpoc3Cfc2NWEjJC1Q,17268
974
974
  supervisely/nn/training/__init__.py,sha256=gY4PCykJ-42MWKsqb9kl-skemKa8yB6t_fb5kzqR66U,111
975
- supervisely/nn/training/train_app.py,sha256=amEBgXLvrDAk697AjAKjPe1_7ZPvv-F8JSuxRYqlFwU,103947
975
+ supervisely/nn/training/train_app.py,sha256=oFK1lGNmFAWvSel7nxYd-YA54gA0XJXnaZze1B3pqbg,103947
976
976
  supervisely/nn/training/gui/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
977
977
  supervisely/nn/training/gui/classes_selector.py,sha256=8UgzA4aogOAr1s42smwEcDbgaBj_i0JLhjwlZ9bFdIA,3772
978
978
  supervisely/nn/training/gui/gui.py,sha256=CnT_QhihrxdSHKybpI0pXhPLwCaXEana_qdn0DhXByg,25558
@@ -1074,9 +1074,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
1074
1074
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
1075
1075
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
1076
1076
  supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
1077
- supervisely-6.73.301.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1078
- supervisely-6.73.301.dist-info/METADATA,sha256=YYc9p93bTnNVLoDWKZMKwGvePOvD8-GIw8dG--8aNjA,33573
1079
- supervisely-6.73.301.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
1080
- supervisely-6.73.301.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1081
- supervisely-6.73.301.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1082
- supervisely-6.73.301.dist-info/RECORD,,
1077
+ supervisely-6.73.303.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1078
+ supervisely-6.73.303.dist-info/METADATA,sha256=lp4fEJgONs8gIgFKQhiqfctTQcgEzSH1MaDCSoro4RY,33573
1079
+ supervisely-6.73.303.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
1080
+ supervisely-6.73.303.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1081
+ supervisely-6.73.303.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1082
+ supervisely-6.73.303.dist-info/RECORD,,