supervisely 6.73.394__tar.gz → 6.73.395__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {supervisely-6.73.394/supervisely.egg-info → supervisely-6.73.395}/PKG-INFO +1 -1
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/inference.py +274 -35
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/train_app.py +19 -20
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/experiment.html.jinja +4 -4
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/experiment_generator.py +1 -1
- {supervisely-6.73.394 → supervisely-6.73.395/supervisely.egg-info}/PKG-INFO +1 -1
- {supervisely-6.73.394 → supervisely-6.73.395}/LICENSE +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/README.md +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/pyproject.toml +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/setup.cfg +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/setup.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/README.md +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/annotation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/annotation_transforms.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/json_geometries_map.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/label.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/obj_class.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/obj_class_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/obj_class_mapper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/renamer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/tag_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/tag_meta.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/tag_meta_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/tag_meta_mapper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/advanced_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/agent_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/app_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/dataset_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entities_collection_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entity_annotation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entity_annotation/entity_annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entity_annotation/figure_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entity_annotation/object_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/entity_annotation/tag_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/file_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/github_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/image_annotation_tool_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/image_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/import_storage_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/issues_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/labeling_job_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/labeling_queue_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/module_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/nn/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/nn/deploy_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/nn/neural_network_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/object_class_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/plugin_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_episode_annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_episode_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_episode_object_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_episode_tag_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_figure_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_object_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/pointcloud/pointcloud_tag_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/project_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/project_class_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/remote_storage_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/report_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/role_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/storage_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/task_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/team_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/user_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_figure_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_frame_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_object_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video/video_tag_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/video_annotation_tool_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/volume_annotation_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/volume_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/volume_figure_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/volume_object_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/volume/volume_tag_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/api/workspace_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/content.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/development/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/development/development.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/development/sly-net.sh +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/exceptions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/export_template.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/custom_static_files.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/dialog_window.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/index.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/no_html_main.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/offline.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/request.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/subapp.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/templating.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/fastapi/websocket.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/import_template.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/jinja2.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/singleton.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/app_config.md +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/app_service.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/sly-icon-example.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/compare_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/empty_grid_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/grid_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/predictions_dynamics_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/progress_bar.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/v1/widgets/single_image_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/agent_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/agent_selector/agent_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/agent_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/apexchart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/apexchart/apexchart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/apexchart/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/augmentations/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/augmentations/augmentations.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/augmentations/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/badge/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/badge/badge.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/badge/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/binded_input_number/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/binded_input_number/binded_input_number.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/binded_input_number/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/bokeh/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/bokeh/bokeh.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/bokeh/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/button/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/button/button.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/button/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/button/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/card/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/card/card.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/card/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/card/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/carousel/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/carousel/carousel.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/carousel/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/cascader/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/cascader/cascader.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/cascader/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox/checkbox.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox_field/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox_field/checkbox_field.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/checkbox_field/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/circle_progress/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/circle_progress/circle_progress.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/circle_progress/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/class_balance/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/class_balance/class_balance.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/class_balance/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_color_mapping/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_color_mapping/classes_color_mapping.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_color_mapping/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_color_mapping/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_preview/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_preview/classes_list_preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_preview/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_preview/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_selector/classes_list_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_list_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping/classes_mapping.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping_preview/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping_preview/classes_mapping_preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping_preview/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_mapping_preview/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_table/classes_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_table/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classes_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classic_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classic_table/classic_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/classic_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/collapse/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/collapse/collapse.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/collapse/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/color_picker/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/color_picker/color_picker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/color_picker/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/color_picker/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/compare_annotations/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/compare_annotations/compare_annotations.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/confusion_matrix/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/confusion_matrix/confusion_matrix.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/confusion_matrix/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/container.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/old_container.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/old_template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/container/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/copy_to_clipboard/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/copy_to_clipboard/copy_to_clipboard.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/copy_to_clipboard/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/custom_models_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/custom_models_selector/custom_models_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/custom_models_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/custom_models_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dataset_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dataset_thumbnail/dataset_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dataset_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/date_picker/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/date_picker/date_picker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/date_picker/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/datetime_picker/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/datetime_picker/datetime_picker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/datetime_picker/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/destination_project/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/destination_project/destination_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/destination_project/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dialog/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dialog/dialog.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dialog/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/done_label/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/done_label/done_label.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/done_label/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/draggable/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/draggable/draggable.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/draggable/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/draggable/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dropdown/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dropdown/dropdown.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/dropdown/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/editor/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/editor/editor.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/editor/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_button/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_button/element_button.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_button/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_button/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tag/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tag/element_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tag/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tags_list/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tags_list/element_tags_list.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/element_tags_list/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/empty/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/empty/empty.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/empty/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/experiment_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/experiment_selector/experiment_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/experiment_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/experiment_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/fast_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/fast_table/fast_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/fast_table/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/fast_table/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/fast_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/field/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/field/field.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/field/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/field/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_storage_upload/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_storage_upload/file_storage_upload.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_storage_upload/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_thumbnail/file_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_viewer/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_viewer/file_viewer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/file_viewer/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/flexbox/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/flexbox/flexbox.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/flexbox/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/folder_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/folder_thumbnail/folder_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/folder_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid/grid.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_chart/grid_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_chart/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery/grid_gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery_v2/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery_v2/grid_gallery_v2.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_gallery_v2/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_plot/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_plot/grid_plot.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/grid_plot/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/heatmap_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/heatmap_chart/heatmap_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/icons/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/icons/icons.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/icons/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/identity/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/identity/identity.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/identity/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/iframe/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/iframe/iframe.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/iframe/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image/image.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_annotation_preview/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_annotation_preview/image_annotation_preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_annotation_preview/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_annotation_preview/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_annotation_preview/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_pair_sequence/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_pair_sequence/image_pair_sequence.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_pair_sequence/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_region_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_region_selector/image_region_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_region_selector/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_region_selector/styles.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_region_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_slider/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_slider/image_slider.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/image_slider/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input/input.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_number/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_number/input_number.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_number/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_tag/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_tag/input_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/input_tag/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/labeled_image/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/labeled_image/labeled_image.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/line_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/line_chart/line_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/line_plot/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/line_plot/line_plot.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/line_plot/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/markdown/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/markdown/markdown.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/markdown/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/markdown/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_datasets/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_datasets/match_datasets.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_datasets/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_tags_or_classes/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_tags_or_classes/match_tags_or_classes.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/match_tags_or_classes/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_preview/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_preview/members_list_preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_preview/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_selector/members_list_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/members_list_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/menu/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/menu/menu.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/menu/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/model_info/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/model_info/model_info.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/model_info/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/nodes_flow/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/nodes_flow/nodes_flow.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/nodes_flow/option_components.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/nodes_flow/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/notification_box/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/notification_box/notification_box.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/notification_box/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/notification_box/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_class_view/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_class_view/object_class_view.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_class_view/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_class_view/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_classes_list/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_classes_list/object_classes_list.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/object_classes_list/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/one_of/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/one_of/one_of.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/one_of/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pagination/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pagination/pagination.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pagination/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pie_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pie_chart/pie_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pretrained_models_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pretrained_models_selector/pretrained_models_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pretrained_models_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/pretrained_models_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_selector/project_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_thumbnail/project_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_thumbnail/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/project_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_group/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_group/radio_group.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_group/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_table/radio_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_table/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_tabs/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_tabs/radio_tabs.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_tabs/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/radio_tabs/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/random_splits_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/random_splits_table/random_splits_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/random_splits_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/rate/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/rate/rate.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/rate/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/reloadable_area/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/reloadable_area/reloadable_area.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/reloadable_area/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/reloadable_area/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/report_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/report_thumbnail/report_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/report_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/run_app_button/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/run_app_button/run_app_button.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/run_app_button/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/run_app_button/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sampling/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sampling/sampling.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/scatter_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/scatter_chart/scatter_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select/select.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_app_session/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_app_session/select_app_session.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_app_session/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_collection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_collection/select_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_collection/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_cuda/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_cuda/select_cuda.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_cuda/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset/select_dataset.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset_tree/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset_tree/select_dataset_tree.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_dataset_tree/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_item/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_item/select_item.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_item/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_project/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_project/select_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_project/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_sly_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_tag_meta/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_tag_meta/select_tag_meta.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_tag_meta/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_team/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_team/select_team.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_team/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_workspace/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_workspace/select_workspace.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/select_workspace/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sidebar/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sidebar/sidebar.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sidebar/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sidebar/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/slider/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/slider/slider.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/slider/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sly_tqdm/README.md +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sly_tqdm/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sly_tqdm/sly_tqdm.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sly_tqdm/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/sly_tqdm/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/stepper/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/stepper/stepper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/stepper/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/switch/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/switch/switch.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/switch/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/table/table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs/tabs.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs_dynamic/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs_dynamic/tabs_dynamic.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tabs_dynamic/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_meta_view/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_meta_view/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_meta_view/tag_meta_view.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_meta_view/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_metas_list/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_metas_list/tag_metas_list.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tag_metas_list/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_preview/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_preview/tags_list_preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_preview/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_selector/style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_selector/tags_list_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_list_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_table/tags_table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tags_table/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/task_logs/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/task_logs/task_logs.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/task_logs/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/team_files_selector/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/team_files_selector/team_files_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/team_files_selector/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/text/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/text/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/text/text.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/textarea/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/textarea/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/textarea/textarea.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/time_picker/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/time_picker/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/time_picker/time_picker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/timeline/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/timeline/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/timeline/timeline.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tooltip/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tooltip/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tooltip/tooltip.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/train_val_splits/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/train_val_splits/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/train_val_splits/train_val_splits.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/transfer/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/transfer/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/transfer/transfer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tree_select/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tree_select/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/tree_select/tree_select.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/treemap_chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/treemap_chart/treemap_chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video/video.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_player/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_player/script.js +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_player/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_player/video_player.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_thumbnail/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_thumbnail/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/video_thumbnail/video_thumbnail.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets/widget.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/app/widgets_context.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/aug/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/aug/aug.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/aug/imgaug_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/cli.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/project/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/project/project_download.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/project/project_get.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/project/project_upload.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/release/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/release/release.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/release/run.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/task/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/task/task_set.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/teamfiles/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/teamfiles/teamfiles_download.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/teamfiles/teamfiles_remove.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/cli/teamfiles/teamfiles_upload.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/collection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/collection/key_indexed_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/collection/str_enum.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/base_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/cityscapes/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/cityscapes/cityscapes_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/cityscapes/cityscapes_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/coco/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/coco/coco_anntotation_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/coco/coco_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/coco/coco_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/csv/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/csv/csv_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/csv/csv_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/high_color/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/high_color/high_color_depth.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/high_color/high_color_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/image_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/image_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_me/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_me/label_me_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_me/label_me_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_studio/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_studio/label_studio_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/label_studio/label_studio_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/masks/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/masks/image_with_masks_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/masks/images_with_masks_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/medical2d/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/medical2d/medical2d_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/medical2d/medical2d_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/multi_view/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/multi_view/multi_view.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/multispectral/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/multispectral/multispectral_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pascal_voc/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pascal_voc/pascal_voc_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pascal_voc/pascal_voc_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pdf/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pdf/pdf_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/pdf/pdf_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/sly/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/sly/fast_sly_image_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/sly/sly_image_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/sly/sly_image_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/yolo/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/yolo/yolo_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/image/yolo/yolo_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/bag/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/bag/bag_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/bag/bag_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/kitti_3d/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/kitti_3d/kitti_3d_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/kitti_3d/kitti_3d_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/las/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/las/las_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/las/las_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/lyft/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/lyft/lyft_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/lyft/lyft_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/nuscenes_conv/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/nuscenes_conv/nuscenes_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/ply/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/ply/ply_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/ply/ply_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/pointcloud_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/sly/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud/sly/sly_pointcloud_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/bag/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/bag/bag_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/kitti_360/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/kitti_360/kitti_360_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/kitti_360/kitti_360_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/lyft/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/lyft/lyft_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/nuscenes_conv/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/sly/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/davis/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/davis/davis_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/mot/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/mot/mot_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/sly/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/sly/sly_video_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/sly/sly_video_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/video/video_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/dicom/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/dicom/dicom_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/dicom/dicom_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/nii/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/nii/nii_planes_volume_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/nii/nii_volume_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/nii/nii_volume_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/sly/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/sly/sly_volume_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/sly/sly_volume_helper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/convert/volume/volume_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/decorators/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/decorators/inference.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/decorators/profile.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/delme_fastapi_helpers/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/export/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/export/pascal_voc.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/function_wrapper.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/alpha_mask.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/any_geometry.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/bitmap.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/bitmap_base.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/closed_surface_mesh.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/conversions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/cuboid.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/cuboid_2d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/cuboid_3d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/geometry.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/graph.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/helpers.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/image_rotator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/main_tests.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/mask_3d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/multichannel_bitmap.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/point.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/point_3d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/point_location.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/pointcloud.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/polygon.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/polyline.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/rectangle.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/sliding_windows.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/sliding_windows_fuzzy.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/validation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/geometry/vector_geometry.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/_video.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/color.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/colors.json.gz +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/font.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/imaging/image.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/docker_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/env.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/exception_handlers.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/fs.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/fs_cache.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/github_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/json.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/multipart_stream_decoder.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/io/network_exceptions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/labeling_jobs/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/labeling_jobs/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/labeling_jobs/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/classification_metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/common.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/confusion_matrix_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/iou_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/map_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/matching.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/metric_base.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/metrics_tests.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/pixel_accuracy.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/precision_recall_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/metric/projects_applier.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/artifacts.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/detectron2.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/hrda.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/mmclassification.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/mmdetection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/mmsegmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/ritm.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/rtdetr.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/unet.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/yolov5.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/artifacts/yolov8.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/base_benchmark.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/base_evaluator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/base_visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/base_visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/avg_precision_by_class.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/detection_visualization/visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/model_comparison.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/text_templates.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/classwise_error_analysis.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/explore_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/frequently_confused.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/iou_eou.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/overview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/renormalized_error_ou.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/vis_metrics/speedtest.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/comparison/semantic_segmentation/visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/cv_tasks.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/benchmark.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/evaluation_params.yaml +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/evaluator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/text_templates.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/instance_segmentation/visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/base_vis_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/benchmark.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/evaluation_params.yaml +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/evaluator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/metric_provider.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/text_templates.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_distribution.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/confidence_score.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/confusion_matrix.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/explore_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/f1_score_at_different_iou.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/frequently_confused.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/iou_distribution.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/key_metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/model_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts_per_class.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/overview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve_by_class.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/precision.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/precision_avg_per_class.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/recall.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/recall_vs_precision.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/reliability_diagram.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/vis_metrics/speedtest.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/object_detection/visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/base_vis_metric.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/benchmark.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/evaluation_params.yaml +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/evaluator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/metric_provider.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/text_templates.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/acknowledgement.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/classwise_error_analysis.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/confusion_matrix.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/explore_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/frequently_confused.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/iou_eou.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/key_metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/model_predictions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/overview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/renormalized_error_ou.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/speedtest.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/vis_metrics/vis_texts.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/semantic_segmentation/visualizer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/calculate_metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/coco_eval.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/sly2coco.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/detection/utlis.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/semantic_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/semantic_segmentation/calculate_metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/semantic_segmentation/evaluator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/semantic_segmentation/loader.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/utils/semantic_segmentation/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/evaluation_result.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/renderer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/report_template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/vis_click_data.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/chart/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/chart/chart.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/chart/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/collapse/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/collapse/collapse.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/container/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/container/container.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/gallery/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/gallery/template.html +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/markdown/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/notification/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/notification/notification.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/radio_group/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/radio_group/radio_group.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/sidebar/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/table/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/table/table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/benchmark/visualization/widgets/widget.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/experiments.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/cache.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/gui/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/gui/gui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/gui/serving_gui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/gui/serving_gui_template.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/inference_request.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/classes_ui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/deploy_ui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/main_ui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/preview.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/dashboard/preview_image.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/instance_segmentation/instance_segmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/interactive_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/interactive_segmentation/functional.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/interactive_segmentation/interactive_segmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/object_detection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/object_detection/object_detection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/object_detection_3d/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/object_detection_3d/object_detection_3d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/pose_estimation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/pose_estimation/pose_estimation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/prompt_based_object_detection/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/prompt_based_object_detection/propmt_based_object_detection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/promptable_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/promptable_segmentation/promptable_segmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/salient_object_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/salient_object_segmentation/salient_object_segmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/semantic_segmentation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/semantic_segmentation/semantic_segmentation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/session.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/base_tracking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/bbox_tracking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/functional.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/mask_tracking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/object_tracking_3d.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/point_tracking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/tracker3d_interface.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/tracking/tracker_interface.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/uploader.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/inference/video_inference.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/config.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/dataset.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/class_indexing.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/deploy.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/inference_batch.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/inference_batch_multiprocess.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/inference_modes.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/inference_single_image.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/legacy/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/legacy/inference_config.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/pytorch/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/pytorch/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/pytorch/inference_applier.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/pytorch/trainer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/hosted/trainer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/inference/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/inference/rest_client.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/inference/rest_constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/inference/rest_server.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/cuda.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/dataset.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/inference.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/metrics.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/pytorch/weights.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/raw_to_labels.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/training/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/legacy/training/eval_planner.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/model/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/model/model_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/model/prediction.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/model/prediction_session.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/prediction_dto.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/task_type.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/basetrack.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/bot_sort.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/fast_reid_interface.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/matching.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/bot_sort/sly_tracker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/detection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/iou_matching.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/kalman_filter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/linear_assignment.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/nn_matching.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/track.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort/tracker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/deep_sort.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/generate_clip_detections.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/preprocessing.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/deep_sort/sly_tracker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/tracker.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/utils/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/utils/gmc.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracker/utils/kalman_filter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracking/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracking/boxmot.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/tracking/tracking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/classes_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/gui.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/hyperparameters_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/input_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/model_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/tags_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/train_val_splits_selector.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/training_artifacts.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/training_logs.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/training_process.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/gui/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/loggers/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/loggers/base_train_logger.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/training/loggers/tensorboard_logger.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/nn/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/output/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud/pointcloud.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_annotation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_annotation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_frame.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_frame_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_object.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_object_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_episode_tag_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_figure.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_object.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_object_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_annotation/pointcloud_tag_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_episodes/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pointcloud_episodes/pointcloud_episodes.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/data_version.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/download.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/pointcloud_episode_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/pointcloud_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/project_meta.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/project_settings.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/project_type.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/readme_template.md +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/upload.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/video_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/project/volume_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pyscripts_utils/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/pyscripts_utils/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/report/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/report/table.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/script/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/script/utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/sly_logger.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/task/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/task/paths.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/task/progress.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/task/task_logger.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/team_files/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/team_files/team_files_path.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/base_generator.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/header.html.jinja +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/sidebar.html.jinja +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/sly-style.css +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/template.html.jinja +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/extensions.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/template_renderer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/tiny_timer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/user/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/user/user.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video/import_utils.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video/sampling.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video/video.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/frame.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/frame_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/key_id_map.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_annotation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_figure.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_object.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_object_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/video_annotation/video_tag_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume/nrrd_encoder.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume/nrrd_loader.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume/stl_converter.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume/volume.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/constants.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/plane.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/slice.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_annotation.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_figure.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_object.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_object_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_tag.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/volume_annotation/volume_tag_collection.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/agent_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/agent_rpc.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/chunking.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/interfaces.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/retriers.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_api/rpc_servicer.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_proto/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_proto/worker_api_pb2.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely/worker_proto/worker_api_pb2_grpc.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely.egg-info/SOURCES.txt +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely.egg-info/dependency_links.txt +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely.egg-info/entry_points.txt +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely.egg-info/requires.txt +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely.egg-info/top_level.txt +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/supervisely_lib/__init__.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test-api-file-list.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_api_video.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_file_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_image_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_pcd_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_project.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_project_video.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_video_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_async_volume_api.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_output.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_setup.py +0 -0
- {supervisely-6.73.394 → supervisely-6.73.395}/tests/test_video_rotations.py +0 -0
|
@@ -93,6 +93,7 @@ from supervisely.project.project_meta import ProjectMeta
|
|
|
93
93
|
from supervisely.sly_logger import logger
|
|
94
94
|
from supervisely.task.progress import Progress
|
|
95
95
|
from supervisely.video.video import ALLOWED_VIDEO_EXTENSIONS, VideoFrameReader
|
|
96
|
+
from supervisely.nn.model.model_api import ModelAPI
|
|
96
97
|
|
|
97
98
|
try:
|
|
98
99
|
from typing import Literal
|
|
@@ -150,12 +151,15 @@ class Inference:
|
|
|
150
151
|
use_gui: Optional[bool] = False,
|
|
151
152
|
multithread_inference: Optional[bool] = True,
|
|
152
153
|
use_serving_gui_template: Optional[bool] = False,
|
|
154
|
+
model: Optional[str] = None,
|
|
155
|
+
device: Optional[str] = None,
|
|
156
|
+
runtime: Optional[str] = None,
|
|
153
157
|
):
|
|
154
158
|
|
|
155
159
|
self.pretrained_models = self._load_models_json_file(self.MODELS) if self.MODELS else None
|
|
156
|
-
self._args, self.
|
|
160
|
+
self._args, self._is_cli_deploy = self._parse_cli_deploy_args()
|
|
157
161
|
if model_dir is None:
|
|
158
|
-
if self.
|
|
162
|
+
if self._is_cli_deploy is True:
|
|
159
163
|
try:
|
|
160
164
|
model_dir = get_data_dir()
|
|
161
165
|
except:
|
|
@@ -165,8 +169,12 @@ class Inference:
|
|
|
165
169
|
sly_fs.mkdir(model_dir)
|
|
166
170
|
|
|
167
171
|
self.autorestart = None
|
|
172
|
+
_deploy_model = model
|
|
173
|
+
_deploy_device = device
|
|
174
|
+
_deploy_runtime = runtime
|
|
168
175
|
self.device: str = None
|
|
169
176
|
self.runtime: str = None
|
|
177
|
+
self._is_quick_deploy = False
|
|
170
178
|
self.model_precision: str = None
|
|
171
179
|
self.model_source: str = None
|
|
172
180
|
self.checkpoint_info: CheckpointInfo = None
|
|
@@ -208,12 +216,14 @@ class Inference:
|
|
|
208
216
|
|
|
209
217
|
self.load_model = LOAD_MODEL_DECORATOR(self.load_model)
|
|
210
218
|
|
|
211
|
-
if self.
|
|
219
|
+
if self._is_cli_deploy:
|
|
212
220
|
self._use_gui = False
|
|
213
221
|
deploy_params, need_download = self._get_deploy_params_from_args()
|
|
214
222
|
if need_download:
|
|
223
|
+
logger.debug("Downloading model files")
|
|
215
224
|
local_model_files = self._download_model_files(deploy_params, False)
|
|
216
225
|
deploy_params["model_files"] = local_model_files
|
|
226
|
+
logger.debug("Loading model...")
|
|
217
227
|
self._load_model_headless(**deploy_params)
|
|
218
228
|
|
|
219
229
|
if self._use_gui:
|
|
@@ -307,6 +317,97 @@ class Inference:
|
|
|
307
317
|
)
|
|
308
318
|
|
|
309
319
|
self.inference_requests_manager = InferenceRequestsManager(executor=self._executor)
|
|
320
|
+
if _deploy_model is not None and not self._model_served:
|
|
321
|
+
self._is_quick_deploy = True
|
|
322
|
+
self.serve()
|
|
323
|
+
self._deploy_headless(_deploy_model, _deploy_device, _deploy_runtime)
|
|
324
|
+
|
|
325
|
+
def __call__(
|
|
326
|
+
self,
|
|
327
|
+
input: Union[np.ndarray, str, os.PathLike, list] = None,
|
|
328
|
+
image_id: Union[List[int], int] = None,
|
|
329
|
+
video_id: Union[List[int], int] = None,
|
|
330
|
+
dataset_id: Union[List[int], int] = None,
|
|
331
|
+
project_id: Union[List[int], int] = None,
|
|
332
|
+
batch_size: int = None,
|
|
333
|
+
conf: float = None,
|
|
334
|
+
img_size: int = None,
|
|
335
|
+
classes: List[str] = None,
|
|
336
|
+
upload_mode: str = None,
|
|
337
|
+
recursive: bool = None,
|
|
338
|
+
**kwargs,
|
|
339
|
+
):
|
|
340
|
+
return ModelAPI(api=self._api, url="http://0.0.0.0:8000").predict(
|
|
341
|
+
input,
|
|
342
|
+
image_id,
|
|
343
|
+
video_id,
|
|
344
|
+
dataset_id,
|
|
345
|
+
project_id,
|
|
346
|
+
batch_size,
|
|
347
|
+
conf,
|
|
348
|
+
img_size,
|
|
349
|
+
classes,
|
|
350
|
+
upload_mode,
|
|
351
|
+
recursive,
|
|
352
|
+
**kwargs,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
def _deploy_headless(self, model: str, device: str, runtime: Optional[str] = None):
|
|
356
|
+
"""Deploy model immediately from constructor arguments."""
|
|
357
|
+
# Clean model_dir before deploying
|
|
358
|
+
sly_fs.mkdir(self._model_dir, True)
|
|
359
|
+
|
|
360
|
+
def get_runtime(runtime: Optional[str]) -> str:
|
|
361
|
+
if runtime is None:
|
|
362
|
+
runtime = RuntimeType.PYTORCH
|
|
363
|
+
else:
|
|
364
|
+
if runtime.lower() in ["torch", RuntimeType.PYTORCH.lower()]:
|
|
365
|
+
runtime = RuntimeType.PYTORCH
|
|
366
|
+
elif runtime.lower() in ["onnx", RuntimeType.ONNXRUNTIME.lower()]:
|
|
367
|
+
runtime = RuntimeType.ONNXRUNTIME
|
|
368
|
+
elif runtime.lower() in ["trt", RuntimeType.TENSORRT.lower()]:
|
|
369
|
+
runtime = RuntimeType.TENSORRT
|
|
370
|
+
else:
|
|
371
|
+
raise ValueError(f"Invalid runtime: {runtime}. Please use one of the following values: {RuntimeType.PYTORCH}, {RuntimeType.ONNXRUNTIME}, {RuntimeType.TENSORRT}.")
|
|
372
|
+
return runtime
|
|
373
|
+
|
|
374
|
+
def get_pretrained_model(model: str) -> dict:
|
|
375
|
+
if self.pretrained_models is not None:
|
|
376
|
+
for m in self.pretrained_models:
|
|
377
|
+
m_name = _get_model_name(m)
|
|
378
|
+
if m_name and m_name.lower() == model.lower():
|
|
379
|
+
return m
|
|
380
|
+
return None
|
|
381
|
+
|
|
382
|
+
runtime = get_runtime(runtime)
|
|
383
|
+
logger.debug(f"Runtime: {runtime}")
|
|
384
|
+
|
|
385
|
+
# Pretrained models
|
|
386
|
+
selected_pretrained = get_pretrained_model(model)
|
|
387
|
+
if selected_pretrained is not None:
|
|
388
|
+
logger.debug("Pretrained model found")
|
|
389
|
+
model_files_remote = selected_pretrained["meta"]["model_files"]
|
|
390
|
+
model_files_local = self._download_pretrained_model(model_files_remote, headless=True)
|
|
391
|
+
|
|
392
|
+
deploy_params = {
|
|
393
|
+
"model_source": ModelSource.PRETRAINED,
|
|
394
|
+
"model_files": model_files_local,
|
|
395
|
+
"model_info": selected_pretrained,
|
|
396
|
+
"device": device,
|
|
397
|
+
"runtime": runtime,
|
|
398
|
+
}
|
|
399
|
+
logger.debug(f"Deploying pretrained model '{model}' ...")
|
|
400
|
+
logger.debug(f"Deploy parameters: {deploy_params}")
|
|
401
|
+
self._load_model_headless(**deploy_params)
|
|
402
|
+
return self
|
|
403
|
+
|
|
404
|
+
# Custom Models
|
|
405
|
+
checkpoint_path = model
|
|
406
|
+
checkpoint_name = sly_fs.get_file_name_with_ext(checkpoint_path)
|
|
407
|
+
deploy_params = self._get_deploy_parameters_from_custom_checkpoint(checkpoint_path, device, runtime)
|
|
408
|
+
logger.debug(f"Deploying custom model '{checkpoint_name}'...")
|
|
409
|
+
self._load_model_headless(**deploy_params)
|
|
410
|
+
return self
|
|
310
411
|
|
|
311
412
|
def get_batch_size(self):
|
|
312
413
|
if self.max_batch_size is not None:
|
|
@@ -808,6 +909,101 @@ class Inference:
|
|
|
808
909
|
if log_progress:
|
|
809
910
|
self.gui.download_progress.hide()
|
|
810
911
|
return local_model_files
|
|
912
|
+
|
|
913
|
+
def _get_deploy_parameters_from_custom_checkpoint(self, checkpoint_path: str, device: str, runtime: str) -> dict:
|
|
914
|
+
def _read_experiment_info(artifacts_dir: str) -> Optional[dict]:
|
|
915
|
+
exp_path = os.path.join(artifacts_dir, "experiment_info.json")
|
|
916
|
+
if sly_fs.file_exists(exp_path):
|
|
917
|
+
return self._load_json_file(exp_path)
|
|
918
|
+
return None
|
|
919
|
+
|
|
920
|
+
def _compose_model_files(artifacts_dir: str, checkpoint_path: str, files_map: dict) -> dict:
|
|
921
|
+
model_files = {k: os.path.join(artifacts_dir, v) for k, v in files_map.items()}
|
|
922
|
+
model_files["checkpoint"] = checkpoint_path
|
|
923
|
+
return model_files
|
|
924
|
+
|
|
925
|
+
is_local = sly_fs.file_exists(checkpoint_path)
|
|
926
|
+
if not is_local:
|
|
927
|
+
team_id = sly_env.team_id()
|
|
928
|
+
if self.api is None:
|
|
929
|
+
raise ValueError(
|
|
930
|
+
f"File: '{checkpoint_path}' not found in local storage. "
|
|
931
|
+
"Initialize API by providing 'API_TOKEN' and 'SERVER_ADDRESS' "
|
|
932
|
+
"environment variables to use remote checkpoint."
|
|
933
|
+
)
|
|
934
|
+
if not self.api.file.exists(team_id, checkpoint_path):
|
|
935
|
+
raise FileNotFoundError(
|
|
936
|
+
f"Checkpoint '{checkpoint_path}' not found locally and remotely. "
|
|
937
|
+
"Make sure you have provided correct checkpoint path."
|
|
938
|
+
)
|
|
939
|
+
|
|
940
|
+
artifacts_dir = os.path.dirname(os.path.dirname(checkpoint_path))
|
|
941
|
+
if not is_local:
|
|
942
|
+
logger.debug("Remote checkpoint found")
|
|
943
|
+
# --- REMOTE ---
|
|
944
|
+
# experiment_info.json
|
|
945
|
+
logger.debug("Getting experiment_info.json...")
|
|
946
|
+
remote_exp_info = os.path.join(artifacts_dir, "experiment_info.json")
|
|
947
|
+
local_exp_info = os.path.join(self.model_dir, "experiment_info.json")
|
|
948
|
+
self.download(remote_exp_info, local_exp_info)
|
|
949
|
+
experiment_info = self._load_json_file(local_exp_info)
|
|
950
|
+
|
|
951
|
+
# model_meta.json
|
|
952
|
+
logger.debug("Getting model_meta.json...")
|
|
953
|
+
meta_name = experiment_info.get("model_meta") or "model_meta.json"
|
|
954
|
+
remote_meta = os.path.join(artifacts_dir, meta_name)
|
|
955
|
+
local_meta = os.path.join(self.model_dir, meta_name)
|
|
956
|
+
self.download(remote_meta, local_meta)
|
|
957
|
+
model_meta = self._load_json_file(local_meta)
|
|
958
|
+
experiment_info["model_meta"] = model_meta
|
|
959
|
+
|
|
960
|
+
# model files
|
|
961
|
+
logger.debug("Getting model files...")
|
|
962
|
+
remote_files_rel = experiment_info.get("model_files", {})
|
|
963
|
+
remote_files_full = _compose_model_files(artifacts_dir, checkpoint_path, remote_files_rel)
|
|
964
|
+
local_model_files = self._download_custom_model(remote_files_full, False)
|
|
965
|
+
model_files = local_model_files
|
|
966
|
+
model_info = experiment_info
|
|
967
|
+
logger.debug("Deploy parameters extracted from remote checkpoint successfully")
|
|
968
|
+
else:
|
|
969
|
+
logger.debug("Local checkpoint found")
|
|
970
|
+
# --- LOCAL ---
|
|
971
|
+
try:
|
|
972
|
+
logger.debug("Reading state dict...")
|
|
973
|
+
import torch # pylint: disable=import-error
|
|
974
|
+
ckpt = torch.load(checkpoint_path, map_location="cpu")
|
|
975
|
+
model_info = ckpt.get("model_info", {})
|
|
976
|
+
model_files = self._extract_model_files_from_checkpoint(checkpoint_path)
|
|
977
|
+
model_files["checkpoint"] = checkpoint_path
|
|
978
|
+
meta_path = os.path.join(self.model_dir, "model_meta.json")
|
|
979
|
+
if sly_fs.file_exists(meta_path):
|
|
980
|
+
model_info["model_meta"] = self._load_json_file(meta_path)
|
|
981
|
+
logger.debug("Deploy parameters extracted from state dict successfully")
|
|
982
|
+
except:
|
|
983
|
+
logger.debug(f"Failed to read model metadata from checkpoint '{checkpoint_path}'. Trying to find local files...")
|
|
984
|
+
experiment_info = _read_experiment_info(artifacts_dir)
|
|
985
|
+
if experiment_info:
|
|
986
|
+
logger.debug("Reading experiment_info.json...")
|
|
987
|
+
model_files = _compose_model_files(artifacts_dir, checkpoint_path, experiment_info.get("model_files", {}))
|
|
988
|
+
meta_name = experiment_info.get("model_meta") or "model_meta.json"
|
|
989
|
+
meta_path = os.path.join(artifacts_dir, meta_name)
|
|
990
|
+
if not sly_fs.file_exists(meta_path):
|
|
991
|
+
raise FileNotFoundError(f"Model meta file not found: '{meta_path}'")
|
|
992
|
+
experiment_info["model_meta"] = self._load_json_file(meta_path)
|
|
993
|
+
model_info = experiment_info
|
|
994
|
+
logger.debug("Deploy parameters extracted from experiment_info.json successfully")
|
|
995
|
+
else:
|
|
996
|
+
raise FileNotFoundError(f"'experiment_info.json' not found in '{artifacts_dir}'")
|
|
997
|
+
|
|
998
|
+
deploy_params = {
|
|
999
|
+
"model_source": ModelSource.CUSTOM,
|
|
1000
|
+
"model_files": model_files,
|
|
1001
|
+
"model_info": model_info,
|
|
1002
|
+
"device": device,
|
|
1003
|
+
"runtime": runtime,
|
|
1004
|
+
}
|
|
1005
|
+
logger.debug(f"Deploy parameters: {deploy_params}")
|
|
1006
|
+
return deploy_params
|
|
811
1007
|
|
|
812
1008
|
def _extract_model_files_from_checkpoint(self, checkpoint_path: str) -> dict:
|
|
813
1009
|
extracted_files: dict = {}
|
|
@@ -816,7 +1012,6 @@ class Inference:
|
|
|
816
1012
|
return extracted_files
|
|
817
1013
|
|
|
818
1014
|
import torch # pylint: disable=import-error
|
|
819
|
-
|
|
820
1015
|
logger.debug(f"Reading checkpoint: {checkpoint_path}")
|
|
821
1016
|
checkpoint = torch.load(checkpoint_path, map_location="cpu")
|
|
822
1017
|
|
|
@@ -1008,11 +1203,12 @@ class Inference:
|
|
|
1008
1203
|
model_files = deploy_params.get("model_files", {})
|
|
1009
1204
|
if model_info:
|
|
1010
1205
|
checkpoint_name = os.path.basename(model_files.get("checkpoint"))
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1206
|
+
artifacts_dir = model_info.get("artifacts_dir")
|
|
1207
|
+
if artifacts_dir is None:
|
|
1208
|
+
artifacts_dir = os.path.dirname(os.path.dirname(model_files.get("checkpoint")))
|
|
1209
|
+
checkpoint_file_path = os.path.join(artifacts_dir, "checkpoints", checkpoint_name)
|
|
1014
1210
|
checkpoint_file_info = None
|
|
1015
|
-
if not self.
|
|
1211
|
+
if not self._is_cli_deploy:
|
|
1016
1212
|
checkpoint_file_info = self.api.file.get_info_by_path(
|
|
1017
1213
|
sly_env.team_id(), checkpoint_file_path
|
|
1018
1214
|
)
|
|
@@ -1115,7 +1311,7 @@ class Inference:
|
|
|
1115
1311
|
def api(self) -> Api:
|
|
1116
1312
|
if self._api is None:
|
|
1117
1313
|
if (
|
|
1118
|
-
self.
|
|
1314
|
+
self._is_cli_deploy
|
|
1119
1315
|
and os.getenv("SERVER_ADDRESS") is None
|
|
1120
1316
|
and os.getenv("API_TOKEN") is None
|
|
1121
1317
|
):
|
|
@@ -2538,7 +2734,7 @@ class Inference:
|
|
|
2538
2734
|
inference_request.done(len(results))
|
|
2539
2735
|
|
|
2540
2736
|
def serve(self):
|
|
2541
|
-
if not self._use_gui and not self.
|
|
2737
|
+
if not self._use_gui and not self._is_cli_deploy:
|
|
2542
2738
|
Progress("Deploying model ...", 1)
|
|
2543
2739
|
|
|
2544
2740
|
if is_debug_with_sly_net():
|
|
@@ -2553,30 +2749,31 @@ class Inference:
|
|
|
2553
2749
|
self._task_id = task["id"]
|
|
2554
2750
|
os.environ["TASK_ID"] = str(self._task_id)
|
|
2555
2751
|
else:
|
|
2556
|
-
if not self.
|
|
2752
|
+
if not self._is_cli_deploy:
|
|
2557
2753
|
self._task_id = sly_env.task_id() if is_production() else None
|
|
2558
2754
|
|
|
2559
|
-
if self.
|
|
2755
|
+
if self._is_cli_deploy:
|
|
2560
2756
|
# Predict and shutdown
|
|
2561
|
-
if self._args.mode == "predict"
|
|
2757
|
+
if self._args.mode == "predict":
|
|
2758
|
+
if any(
|
|
2562
2759
|
[
|
|
2563
2760
|
self._args.input,
|
|
2564
2761
|
self._args.project_id,
|
|
2565
2762
|
self._args.dataset_id,
|
|
2566
2763
|
self._args.image_id,
|
|
2567
2764
|
]
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2765
|
+
):
|
|
2766
|
+
self._parse_inference_settings_from_args()
|
|
2767
|
+
self._inference_by_cli_deploy_args()
|
|
2768
|
+
exit(0)
|
|
2769
|
+
else:
|
|
2770
|
+
logger.error("Predict mode requires one of the following arguments: --input, --project_id, --dataset_id, --image_id")
|
|
2771
|
+
exit(0)
|
|
2573
2772
|
|
|
2574
2773
|
if isinstance(self.gui, GUI.InferenceGUI):
|
|
2575
2774
|
self._app = Application(layout=self.get_ui())
|
|
2576
2775
|
elif isinstance(self.gui, GUI.ServingGUI):
|
|
2577
2776
|
self._app = Application(layout=self._app_layout)
|
|
2578
|
-
# elif isinstance(self.gui, GUI.InferenceGUI):
|
|
2579
|
-
# self._app = Application(layout=self.get_ui())
|
|
2580
2777
|
else:
|
|
2581
2778
|
self._app = Application(layout=self.get_ui())
|
|
2582
2779
|
|
|
@@ -3283,10 +3480,12 @@ class Inference:
|
|
|
3283
3480
|
}
|
|
3284
3481
|
|
|
3285
3482
|
# Local deploy without predict args
|
|
3286
|
-
if self.
|
|
3483
|
+
if self._is_cli_deploy:
|
|
3287
3484
|
self._run_server()
|
|
3485
|
+
elif self._is_quick_deploy:
|
|
3486
|
+
self._run_server_in_thread()
|
|
3288
3487
|
|
|
3289
|
-
def
|
|
3488
|
+
def _parse_cli_deploy_args(self):
|
|
3290
3489
|
parser = argparse.ArgumentParser(description="Run Inference Serving")
|
|
3291
3490
|
|
|
3292
3491
|
# Positional args
|
|
@@ -3403,6 +3602,7 @@ class Inference:
|
|
|
3403
3602
|
return args, True
|
|
3404
3603
|
|
|
3405
3604
|
def _parse_inference_settings_from_args(self):
|
|
3605
|
+
logger.debug("Parsing inference settings from args")
|
|
3406
3606
|
def parse_value(value: str):
|
|
3407
3607
|
if value.lower() in ("true", "false"):
|
|
3408
3608
|
return value.lower() == "true"
|
|
@@ -3438,6 +3638,7 @@ class Inference:
|
|
|
3438
3638
|
args.settings = settings_dict
|
|
3439
3639
|
args.settings = self._read_settings(args.settings)
|
|
3440
3640
|
self._validate_settings(args.settings)
|
|
3641
|
+
logger.debug("Inference settings were successfully parsed from args")
|
|
3441
3642
|
|
|
3442
3643
|
def _get_pretrained_model_params_from_args(self):
|
|
3443
3644
|
model_files = None
|
|
@@ -3473,8 +3674,12 @@ class Inference:
|
|
|
3473
3674
|
def _get_custom_model_params_from_args(self):
|
|
3474
3675
|
def _load_experiment_info(artifacts_dir):
|
|
3475
3676
|
experiment_path = os.path.join(artifacts_dir, "experiment_info.json")
|
|
3677
|
+
if not os.path.exists(experiment_path):
|
|
3678
|
+
raise ValueError(f"Experiment info file not found in {artifacts_dir}")
|
|
3476
3679
|
model_info = self._load_json_file(experiment_path)
|
|
3477
3680
|
model_meta_path = os.path.join(artifacts_dir, "model_meta.json")
|
|
3681
|
+
if not os.path.exists(model_meta_path):
|
|
3682
|
+
raise ValueError(f"Model meta file not found in {artifacts_dir}")
|
|
3478
3683
|
model_info["model_meta"] = self._load_json_file(model_meta_path)
|
|
3479
3684
|
original_model_files = model_info.get("model_files")
|
|
3480
3685
|
return model_info, original_model_files
|
|
@@ -3500,6 +3705,7 @@ class Inference:
|
|
|
3500
3705
|
else:
|
|
3501
3706
|
loop.run_until_complete(coro)
|
|
3502
3707
|
|
|
3708
|
+
logger.debug("Getting custom model params from args")
|
|
3503
3709
|
model_source = ModelSource.CUSTOM
|
|
3504
3710
|
need_download = False
|
|
3505
3711
|
checkpoint_path = self._args.model
|
|
@@ -3510,6 +3716,8 @@ class Inference:
|
|
|
3510
3716
|
raise ValueError(
|
|
3511
3717
|
"Team ID not found in env. Required for remote custom checkpoints."
|
|
3512
3718
|
)
|
|
3719
|
+
if self.api is None:
|
|
3720
|
+
raise ValueError("API is not initialized. Please provide .env file with 'API_TOKEN' and 'SERVER_ADDRESS' environment variables.")
|
|
3513
3721
|
file_info = self.api.file.get_info_by_path(team_id, checkpoint_path)
|
|
3514
3722
|
if not file_info:
|
|
3515
3723
|
raise ValueError(
|
|
@@ -3517,26 +3725,46 @@ class Inference:
|
|
|
3517
3725
|
)
|
|
3518
3726
|
need_download = True
|
|
3519
3727
|
|
|
3728
|
+
if not need_download:
|
|
3729
|
+
try:
|
|
3730
|
+
# Read data from checkpoint
|
|
3731
|
+
logger.debug(f"Reading data from checkpoint: {checkpoint_path}")
|
|
3732
|
+
import torch # pylint: disable=import-error
|
|
3733
|
+
checkpoint = torch.load(checkpoint_path)
|
|
3734
|
+
model_info = checkpoint["model_info"]
|
|
3735
|
+
model_files = self._extract_model_files_from_checkpoint(checkpoint_path)
|
|
3736
|
+
model_meta = os.path.join(self.model_dir, "model_meta.json")
|
|
3737
|
+
model_info["model_meta"] = self._load_json_file(model_meta)
|
|
3738
|
+
model_files["checkpoint"] = checkpoint_path
|
|
3739
|
+
need_download = False
|
|
3740
|
+
return model_files, model_source, model_info, need_download
|
|
3741
|
+
except Exception as e:
|
|
3742
|
+
logger.debug(f"Failed to read data from checkpoint: {repr(e)}")
|
|
3743
|
+
|
|
3520
3744
|
artifacts_dir = os.path.dirname(os.path.dirname(checkpoint_path))
|
|
3521
3745
|
if not need_download:
|
|
3746
|
+
logger.debug(f"Looking for data in artifacts: '{artifacts_dir}'")
|
|
3522
3747
|
model_info, original_model_files = _load_experiment_info(artifacts_dir)
|
|
3523
3748
|
model_files = _prepare_local_model_files(
|
|
3524
3749
|
artifacts_dir, checkpoint_path, original_model_files
|
|
3525
3750
|
)
|
|
3526
|
-
|
|
3751
|
+
logger.debug(f"Data was found in artifacts directory: '{artifacts_dir}'")
|
|
3527
3752
|
else:
|
|
3753
|
+
logger.debug(f"Downloading data from remote directory: '{artifacts_dir}'")
|
|
3528
3754
|
local_artifacts_dir = os.path.join(
|
|
3529
|
-
self.model_dir, "
|
|
3755
|
+
self.model_dir, "cli_deploy", os.path.basename(artifacts_dir)
|
|
3530
3756
|
)
|
|
3531
3757
|
_download_remote_files(team_id, artifacts_dir, local_artifacts_dir)
|
|
3532
|
-
|
|
3533
3758
|
model_info, original_model_files = _load_experiment_info(local_artifacts_dir)
|
|
3534
3759
|
model_files = _prepare_local_model_files(
|
|
3535
3760
|
local_artifacts_dir, checkpoint_path, original_model_files
|
|
3536
3761
|
)
|
|
3762
|
+
logger.debug(f"Data was downloaded from remote directory: '{artifacts_dir}'")
|
|
3763
|
+
logger.debug("Custom model params were successfully parsed from args")
|
|
3537
3764
|
return model_files, model_source, model_info, need_download
|
|
3538
3765
|
|
|
3539
3766
|
def _get_deploy_params_from_args(self):
|
|
3767
|
+
logger.debug("Getting deploy params from args")
|
|
3540
3768
|
# Ensure model directory exists
|
|
3541
3769
|
device = self._args.device if self._args.device else "cuda:0"
|
|
3542
3770
|
runtime = self._args.runtime if self._args.runtime else RuntimeType.PYTORCH
|
|
@@ -3563,7 +3791,6 @@ class Inference:
|
|
|
3563
3791
|
"device": device,
|
|
3564
3792
|
"runtime": runtime,
|
|
3565
3793
|
}
|
|
3566
|
-
|
|
3567
3794
|
logger.debug(f"Deploy parameters: {deploy_params}")
|
|
3568
3795
|
return deploy_params, need_download
|
|
3569
3796
|
|
|
@@ -3572,6 +3799,18 @@ class Inference:
|
|
|
3572
3799
|
self._uvicorn_server = uvicorn.Server(config)
|
|
3573
3800
|
self._uvicorn_server.run()
|
|
3574
3801
|
|
|
3802
|
+
def _run_server_in_thread(self):
|
|
3803
|
+
"""Run Uvicorn server in a separate thread so that this method doesn't block the caller."""
|
|
3804
|
+
import threading
|
|
3805
|
+
|
|
3806
|
+
def _serve():
|
|
3807
|
+
config = uvicorn.Config(app=self._app, host="0.0.0.0", port=8000, ws="websockets")
|
|
3808
|
+
self._uvicorn_server = uvicorn.Server(config)
|
|
3809
|
+
self._uvicorn_server.run()
|
|
3810
|
+
|
|
3811
|
+
self._server_thread = threading.Thread(target=_serve, daemon=True)
|
|
3812
|
+
self._server_thread.start()
|
|
3813
|
+
|
|
3575
3814
|
def _read_settings(self, settings: Union[str, Dict[str, Any]]):
|
|
3576
3815
|
if isinstance(settings, dict):
|
|
3577
3816
|
return settings
|
|
@@ -3598,7 +3837,8 @@ class Inference:
|
|
|
3598
3837
|
f"Inference settings doesn't have key: '{key}'. Available keys are: '{acceptable_keys}'"
|
|
3599
3838
|
)
|
|
3600
3839
|
|
|
3601
|
-
def
|
|
3840
|
+
def _inference_by_cli_deploy_args(self):
|
|
3841
|
+
logger.debug("Starting inference by CLI deploy args")
|
|
3602
3842
|
missing_env_message = "Set 'SERVER_ADDRESS' and 'API_TOKEN' environment variables to predict data on Supervisely platform."
|
|
3603
3843
|
|
|
3604
3844
|
def predict_project_id_by_args(
|
|
@@ -3612,14 +3852,13 @@ class Inference:
|
|
|
3612
3852
|
):
|
|
3613
3853
|
if self.api is None:
|
|
3614
3854
|
raise ValueError(missing_env_message)
|
|
3855
|
+
if draw:
|
|
3856
|
+
raise ValueError("Draw visualization is not supported for project inference")
|
|
3615
3857
|
|
|
3616
3858
|
if dataset_ids:
|
|
3617
|
-
logger.info(f"Predicting
|
|
3859
|
+
logger.info(f"Predicting Dataset(s) by ID(s): '{', '.join(str(dataset_id) for dataset_id in dataset_ids)}'")
|
|
3618
3860
|
else:
|
|
3619
|
-
logger.info(f"Predicting
|
|
3620
|
-
|
|
3621
|
-
if draw:
|
|
3622
|
-
raise ValueError("Draw visualization is not supported for project inference")
|
|
3861
|
+
logger.info(f"Predicting Project by ID: {project_id}")
|
|
3623
3862
|
|
|
3624
3863
|
state = {
|
|
3625
3864
|
"projectId": project_id,
|
|
@@ -3659,6 +3898,7 @@ class Inference:
|
|
|
3659
3898
|
draw: bool = False,
|
|
3660
3899
|
upload: bool = False,
|
|
3661
3900
|
):
|
|
3901
|
+
logger.info(f"Predicting Dataset(s) by ID(s): {', '.join(str(dataset_id) for dataset_id in dataset_ids)}")
|
|
3662
3902
|
if draw:
|
|
3663
3903
|
raise ValueError("Draw visualization is not supported for dataset inference")
|
|
3664
3904
|
if self.api is None:
|
|
@@ -3682,7 +3922,7 @@ class Inference:
|
|
|
3682
3922
|
if self.api is None:
|
|
3683
3923
|
raise ValueError(missing_env_message)
|
|
3684
3924
|
|
|
3685
|
-
logger.info(f"Predicting
|
|
3925
|
+
logger.info(f"Predicting Image by ID: {image_id}")
|
|
3686
3926
|
|
|
3687
3927
|
def predict_image_np(image_np):
|
|
3688
3928
|
anns, _ = self._inference_auto([image_np], settings)
|
|
@@ -3719,8 +3959,7 @@ class Inference:
|
|
|
3719
3959
|
output_dir: str = "./predictions",
|
|
3720
3960
|
draw: bool = False,
|
|
3721
3961
|
):
|
|
3722
|
-
logger.info(f"Predicting
|
|
3723
|
-
|
|
3962
|
+
logger.info(f"Predicting Local Data: {input_path}")
|
|
3724
3963
|
def postprocess_image(image_path: str, ann: Annotation, pred_dir: str = None):
|
|
3725
3964
|
image_name = sly_fs.get_file_name_with_ext(image_path)
|
|
3726
3965
|
if pred_dir is not None:
|
|
@@ -1667,26 +1667,25 @@ class TrainApp:
|
|
|
1667
1667
|
checkpoint_name = sly_fs.get_file_name_with_ext(checkpoint_path)
|
|
1668
1668
|
new_checkpoint_path = join(self._output_checkpoints_dir, checkpoint_name)
|
|
1669
1669
|
shutil.move(checkpoint_path, new_checkpoint_path)
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
continue
|
|
1670
|
+
try:
|
|
1671
|
+
# pylint: disable=import-error
|
|
1672
|
+
import torch
|
|
1673
|
+
state_dict = torch.load(new_checkpoint_path)
|
|
1674
|
+
state_dict["model_info"] = {
|
|
1675
|
+
"task_id": self.task_id,
|
|
1676
|
+
"model_name": experiment_info["model_name"],
|
|
1677
|
+
"framework": self.framework_name,
|
|
1678
|
+
"checkpoint": checkpoint_name,
|
|
1679
|
+
"experiment": self.gui.training_process.get_experiment_name(),
|
|
1680
|
+
}
|
|
1681
|
+
state_dict["model_meta"] = model_meta.to_json()
|
|
1682
|
+
state_dict["model_files"] = ckpt_files
|
|
1683
|
+
torch.save(state_dict, new_checkpoint_path)
|
|
1684
|
+
except Exception as e:
|
|
1685
|
+
logger.warning(
|
|
1686
|
+
f"Error writing info to checkpoint: '{checkpoint_name}'. Error:{e}"
|
|
1687
|
+
)
|
|
1688
|
+
continue
|
|
1690
1689
|
|
|
1691
1690
|
new_checkpoint_paths.append(new_checkpoint_path)
|
|
1692
1691
|
if sly_fs.get_file_name_with_ext(checkpoint_path) == best_checkpoints_name:
|
{supervisely-6.73.394 → supervisely-6.73.395}/supervisely/template/experiment/experiment.html.jinja
RENAMED
|
@@ -329,7 +329,7 @@ docker image for the corresponding model's framework, and run the `docker run` c
|
|
|
329
329
|
2. Pull the Docker image
|
|
330
330
|
|
|
331
331
|
```bash
|
|
332
|
-
docker pull {{ code.docker.
|
|
332
|
+
docker pull {{ code.docker.deploy }}
|
|
333
333
|
```
|
|
334
334
|
|
|
335
335
|
3. Run the Docker container
|
|
@@ -339,7 +339,7 @@ docker image for the corresponding model's framework, and run the `docker run` c
|
|
|
339
339
|
--runtime=nvidia \
|
|
340
340
|
-v "./{{ experiment.paths.experiment_dir.path }}:/model" \ # Mount the experiment directory to the container
|
|
341
341
|
-p 8000:8000 \
|
|
342
|
-
{{ code.docker.
|
|
342
|
+
{{ code.docker.deploy }} \
|
|
343
343
|
deploy \
|
|
344
344
|
--model "/model/checkpoints/{{ experiment.training.checkpoints.pytorch.name }}" \
|
|
345
345
|
--device "cuda:0"
|
|
@@ -371,7 +371,7 @@ docker run \
|
|
|
371
371
|
--runtime=nvidia \
|
|
372
372
|
-v "./{{ experiment.paths.experiment_dir.path }}:/model" \
|
|
373
373
|
-p 8000:8000 \
|
|
374
|
-
{{ code.docker.
|
|
374
|
+
{{ code.docker.deploy }} \
|
|
375
375
|
predict \
|
|
376
376
|
"./image.jpg" \ # Put your image/video/directory here
|
|
377
377
|
--model "/model/checkpoints/{{ experiment.training.checkpoints.pytorch.name }}" \
|
|
@@ -416,7 +416,7 @@ This approach helps you to quickly set up the environment and run inference with
|
|
|
416
416
|
)
|
|
417
417
|
|
|
418
418
|
# Predict
|
|
419
|
-
predictions = model
|
|
419
|
+
predictions = model(
|
|
420
420
|
# 'input' can accept various formats: image paths, np.arrays, Supervisely IDs and others.
|
|
421
421
|
input=["path/to/image1.jpg", "path/to/image2.jpg"],
|
|
422
422
|
conf=0.5, # confidence threshold
|
|
@@ -138,7 +138,7 @@ class ExperimentGenerator(BaseGenerator):
|
|
|
138
138
|
pytorch_demo, onnx_demo, trt_demo = self._get_demo_scripts()
|
|
139
139
|
|
|
140
140
|
return {
|
|
141
|
-
"docker": {"image": docker_image},
|
|
141
|
+
"docker": {"image": docker_image, "deploy": f"{docker_image}-deploy"},
|
|
142
142
|
"local_prediction": {
|
|
143
143
|
"repo": repo_info,
|
|
144
144
|
"serving_module": (
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervisely-6.73.394 → supervisely-6.73.395}/supervisely/annotation/annotation_transforms.py
RENAMED
|
File without changes
|
|
File without changes
|