supervisely 6.73.238__py3-none-any.whl → 6.73.240__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- supervisely/annotation/annotation.py +2 -2
- supervisely/api/entity_annotation/tag_api.py +11 -4
- supervisely/api/file_api.py +17 -3
- supervisely/nn/__init__.py +1 -0
- supervisely/nn/benchmark/__init__.py +14 -2
- supervisely/nn/benchmark/base_benchmark.py +84 -37
- supervisely/nn/benchmark/base_evaluator.py +120 -0
- supervisely/nn/benchmark/base_visualizer.py +265 -0
- supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py +5 -5
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py +2 -2
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predicttions.py +39 -16
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py +1 -1
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py +4 -4
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py +12 -11
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py +1 -1
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py +6 -6
- supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py +3 -3
- supervisely/nn/benchmark/{instance_segmentation_benchmark.py → instance_segmentation/benchmark.py} +9 -3
- supervisely/nn/benchmark/instance_segmentation/evaluator.py +58 -0
- supervisely/nn/benchmark/{visualization/text_templates/instance_segmentation_text.py → instance_segmentation/text_templates.py} +53 -69
- supervisely/nn/benchmark/instance_segmentation/visualizer.py +18 -0
- supervisely/nn/benchmark/object_detection/__init__.py +0 -0
- supervisely/nn/benchmark/object_detection/base_vis_metric.py +51 -0
- supervisely/nn/benchmark/{object_detection_benchmark.py → object_detection/benchmark.py} +4 -2
- supervisely/nn/benchmark/object_detection/evaluation_params.yaml +2 -0
- supervisely/nn/benchmark/{evaluation/object_detection_evaluator.py → object_detection/evaluator.py} +67 -9
- supervisely/nn/benchmark/{evaluation/coco → object_detection}/metric_provider.py +13 -14
- supervisely/nn/benchmark/{visualization/text_templates/object_detection_text.py → object_detection/text_templates.py} +49 -41
- supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py +48 -0
- supervisely/nn/benchmark/{visualization → object_detection}/vis_metrics/confidence_distribution.py +20 -24
- supervisely/nn/benchmark/object_detection/vis_metrics/confidence_score.py +119 -0
- supervisely/nn/benchmark/{visualization → object_detection}/vis_metrics/confusion_matrix.py +34 -22
- supervisely/nn/benchmark/object_detection/vis_metrics/explore_predictions.py +129 -0
- supervisely/nn/benchmark/{visualization → object_detection}/vis_metrics/f1_score_at_different_iou.py +21 -26
- supervisely/nn/benchmark/object_detection/vis_metrics/frequently_confused.py +137 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/iou_distribution.py +106 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/key_metrics.py +136 -0
- supervisely/nn/benchmark/{visualization → object_detection}/vis_metrics/model_predictions.py +53 -49
- supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts.py +188 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts_per_class.py +191 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/overview.py +116 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve.py +106 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve_by_class.py +49 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/precision.py +72 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/precision_avg_per_class.py +59 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/recall.py +71 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/recall_vs_precision.py +56 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/reliability_diagram.py +110 -0
- supervisely/nn/benchmark/object_detection/vis_metrics/speedtest.py +151 -0
- supervisely/nn/benchmark/object_detection/visualizer.py +697 -0
- supervisely/nn/benchmark/semantic_segmentation/__init__.py +9 -0
- supervisely/nn/benchmark/semantic_segmentation/base_vis_metric.py +55 -0
- supervisely/nn/benchmark/semantic_segmentation/benchmark.py +32 -0
- supervisely/nn/benchmark/semantic_segmentation/evaluation_params.yaml +0 -0
- supervisely/nn/benchmark/semantic_segmentation/evaluator.py +162 -0
- supervisely/nn/benchmark/semantic_segmentation/metric_provider.py +153 -0
- supervisely/nn/benchmark/semantic_segmentation/text_templates.py +130 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/__init__.py +0 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/acknowledgement.py +15 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/classwise_error_analysis.py +57 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/confusion_matrix.py +92 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/explore_predictions.py +84 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/frequently_confused.py +101 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/iou_eou.py +45 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/key_metrics.py +60 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/model_predictions.py +107 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/overview.py +112 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/renormalized_error_ou.py +48 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/speedtest.py +178 -0
- supervisely/nn/benchmark/semantic_segmentation/vis_metrics/vis_texts.py +21 -0
- supervisely/nn/benchmark/semantic_segmentation/visualizer.py +304 -0
- supervisely/nn/benchmark/utils/__init__.py +12 -0
- supervisely/nn/benchmark/utils/detection/__init__.py +2 -0
- supervisely/nn/benchmark/{evaluation/coco → utils/detection}/calculate_metrics.py +6 -4
- supervisely/nn/benchmark/utils/detection/metric_provider.py +533 -0
- supervisely/nn/benchmark/{coco_utils → utils/detection}/sly2coco.py +4 -4
- supervisely/nn/benchmark/{coco_utils/utils.py → utils/detection/utlis.py} +11 -0
- supervisely/nn/benchmark/utils/semantic_segmentation/__init__.py +0 -0
- supervisely/nn/benchmark/utils/semantic_segmentation/calculate_metrics.py +35 -0
- supervisely/nn/benchmark/utils/semantic_segmentation/evaluator.py +804 -0
- supervisely/nn/benchmark/utils/semantic_segmentation/loader.py +65 -0
- supervisely/nn/benchmark/utils/semantic_segmentation/utils.py +109 -0
- supervisely/nn/benchmark/visualization/evaluation_result.py +17 -3
- supervisely/nn/benchmark/visualization/vis_click_data.py +1 -1
- supervisely/nn/benchmark/visualization/widgets/__init__.py +3 -0
- supervisely/nn/benchmark/visualization/widgets/chart/chart.py +12 -4
- supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py +35 -8
- supervisely/nn/benchmark/visualization/widgets/gallery/template.html +8 -4
- supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py +1 -1
- supervisely/nn/benchmark/visualization/widgets/notification/notification.py +11 -7
- supervisely/nn/benchmark/visualization/widgets/radio_group/__init__.py +0 -0
- supervisely/nn/benchmark/visualization/widgets/radio_group/radio_group.py +34 -0
- supervisely/nn/benchmark/visualization/widgets/table/table.py +9 -3
- supervisely/nn/benchmark/visualization/widgets/widget.py +4 -0
- supervisely/project/project.py +18 -6
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/METADATA +3 -1
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/RECORD +104 -82
- supervisely/nn/benchmark/coco_utils/__init__.py +0 -2
- supervisely/nn/benchmark/evaluation/__init__.py +0 -3
- supervisely/nn/benchmark/evaluation/base_evaluator.py +0 -64
- supervisely/nn/benchmark/evaluation/coco/__init__.py +0 -2
- supervisely/nn/benchmark/evaluation/instance_segmentation_evaluator.py +0 -88
- supervisely/nn/benchmark/utils.py +0 -13
- supervisely/nn/benchmark/visualization/inference_speed/__init__.py +0 -19
- supervisely/nn/benchmark/visualization/inference_speed/speedtest_batch.py +0 -161
- supervisely/nn/benchmark/visualization/inference_speed/speedtest_intro.py +0 -28
- supervisely/nn/benchmark/visualization/inference_speed/speedtest_overview.py +0 -141
- supervisely/nn/benchmark/visualization/inference_speed/speedtest_real_time.py +0 -63
- supervisely/nn/benchmark/visualization/text_templates/inference_speed_text.py +0 -23
- supervisely/nn/benchmark/visualization/vis_metric_base.py +0 -337
- supervisely/nn/benchmark/visualization/vis_metrics/__init__.py +0 -67
- supervisely/nn/benchmark/visualization/vis_metrics/classwise_error_analysis.py +0 -55
- supervisely/nn/benchmark/visualization/vis_metrics/confidence_score.py +0 -93
- supervisely/nn/benchmark/visualization/vis_metrics/explorer_grid.py +0 -144
- supervisely/nn/benchmark/visualization/vis_metrics/frequently_confused.py +0 -115
- supervisely/nn/benchmark/visualization/vis_metrics/iou_distribution.py +0 -86
- supervisely/nn/benchmark/visualization/vis_metrics/outcome_counts.py +0 -119
- supervisely/nn/benchmark/visualization/vis_metrics/outcome_counts_per_class.py +0 -148
- supervisely/nn/benchmark/visualization/vis_metrics/overall_error_analysis.py +0 -109
- supervisely/nn/benchmark/visualization/vis_metrics/overview.py +0 -189
- supervisely/nn/benchmark/visualization/vis_metrics/percision_avg_per_class.py +0 -57
- supervisely/nn/benchmark/visualization/vis_metrics/pr_curve.py +0 -101
- supervisely/nn/benchmark/visualization/vis_metrics/pr_curve_by_class.py +0 -46
- supervisely/nn/benchmark/visualization/vis_metrics/precision.py +0 -56
- supervisely/nn/benchmark/visualization/vis_metrics/recall.py +0 -54
- supervisely/nn/benchmark/visualization/vis_metrics/recall_vs_precision.py +0 -57
- supervisely/nn/benchmark/visualization/vis_metrics/reliability_diagram.py +0 -88
- supervisely/nn/benchmark/visualization/vis_metrics/what_is.py +0 -23
- supervisely/nn/benchmark/visualization/vis_templates.py +0 -241
- supervisely/nn/benchmark/visualization/vis_widgets.py +0 -128
- supervisely/nn/benchmark/visualization/visualizer.py +0 -729
- /supervisely/nn/benchmark/{visualization/text_templates → instance_segmentation}/__init__.py +0 -0
- /supervisely/nn/benchmark/{evaluation/coco → instance_segmentation}/evaluation_params.yaml +0 -0
- /supervisely/nn/benchmark/{evaluation/coco → utils/detection}/metrics.py +0 -0
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/LICENSE +0 -0
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/WHEEL +0 -0
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.238.dist-info → supervisely-6.73.240.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ supervisely/function_wrapper.py,sha256=R5YajTQ0GnRp2vtjwfC9hINkzQc0JiyGsu8TER373
|
|
|
5
5
|
supervisely/sly_logger.py,sha256=LG1wTyyctyEKuCuKM2IKf_SMPH7BzkTsFdO-0tnorzg,6225
|
|
6
6
|
supervisely/tiny_timer.py,sha256=hkpe_7FE6bsKL79blSs7WBaktuPavEVu67IpEPrfmjE,183
|
|
7
7
|
supervisely/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
supervisely/annotation/annotation.py,sha256=
|
|
8
|
+
supervisely/annotation/annotation.py,sha256=8ogjbQyAmarXg21IMCRtTWWNMdoVr0uRNXwNTmdcq5U,109308
|
|
9
9
|
supervisely/annotation/annotation_transforms.py,sha256=TlVy_gUbM-XH6GbLpZPrAi6pMIGTr7Ow02iSKOSTa-I,9582
|
|
10
10
|
supervisely/annotation/json_geometries_map.py,sha256=nL6AmMhFy02fw9ryBm75plKyOkDh61QdOToSuLAcz_Q,1659
|
|
11
11
|
supervisely/annotation/label.py,sha256=NpHZ5o2H6dI4KiII22o2HpiLXG1yekh-bEy8WvI2Ljg,37498
|
|
@@ -25,7 +25,7 @@ supervisely/api/annotation_api.py,sha256=s9kd1G759R8YSvbDcNXrPa9xv95j1cWE1RgD6Xe
|
|
|
25
25
|
supervisely/api/api.py,sha256=SI7DuSi2Jnj5NFS_V9aQ9Sg3CrS97Y5p1pqeeb-4Jb4,64729
|
|
26
26
|
supervisely/api/app_api.py,sha256=-T4sISQ7POyR2yirf1kEWj4JaJFpJxCyRWqbf_99Jak,67036
|
|
27
27
|
supervisely/api/dataset_api.py,sha256=2-SQBlgEnIN-0uvDbtPlSXr6ztBeZ3WPryhkOtpBmk4,40786
|
|
28
|
-
supervisely/api/file_api.py,sha256=
|
|
28
|
+
supervisely/api/file_api.py,sha256=c4iIzH2BF8-GLFLk_wc9Qz225AbHhbzH22wv5HdsGg4,83128
|
|
29
29
|
supervisely/api/github_api.py,sha256=NIexNjEer9H5rf5sw2LEZd7C1WR-tK4t6IZzsgeAAwQ,623
|
|
30
30
|
supervisely/api/image_annotation_tool_api.py,sha256=YcUo78jRDBJYvIjrd-Y6FJAasLta54nnxhyaGyanovA,5237
|
|
31
31
|
supervisely/api/image_api.py,sha256=_wXn10tKKCcfvTiQax0O2X9lnE54nXucwQHTjA1WbRM,169172
|
|
@@ -51,7 +51,7 @@ supervisely/api/entity_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
|
51
51
|
supervisely/api/entity_annotation/entity_annotation_api.py,sha256=K79KdDyepQv4FiNQHBj9V4-zLIemxK9WG1ig1bfBKb8,3083
|
|
52
52
|
supervisely/api/entity_annotation/figure_api.py,sha256=WgeB6h8ZQsgeORXnEAq2LCCezLIMeVibetFTC1PxQM8,20896
|
|
53
53
|
supervisely/api/entity_annotation/object_api.py,sha256=gbcNvN_KY6G80Me8fHKQgryc2Co7VU_kfFd1GYILZ4E,8875
|
|
54
|
-
supervisely/api/entity_annotation/tag_api.py,sha256=
|
|
54
|
+
supervisely/api/entity_annotation/tag_api.py,sha256=M-28m9h8R4k9Eqo6P1S0UH8_D5kqCwAvQLYY6_Yz4oM,11161
|
|
55
55
|
supervisely/api/pointcloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
56
|
supervisely/api/pointcloud/pointcloud_annotation_api.py,sha256=_QABI38FCKBc4_VQ0B7jLOKMoRN9FFSt-w-zlEHd44s,7658
|
|
57
57
|
supervisely/api/pointcloud/pointcloud_api.py,sha256=pn72znCr5hkAfgniXxfD6Vi8-HqRb1Nrf6l23-HQ7Bc,53277
|
|
@@ -705,7 +705,7 @@ supervisely/metric/metrics_tests.py,sha256=59L-J9ihYZdX5we8z_qMPZKKUxEPGTgVJqPgJ
|
|
|
705
705
|
supervisely/metric/pixel_accuracy.py,sha256=qjtxInOTkGDwPeLUnjBdzOrVRT3V6kGGOWjBZMqMJhw,3273
|
|
706
706
|
supervisely/metric/precision_recall_metric.py,sha256=4AQCkcB84mpYQS94yJ-wkG1LBuXlQf3X_tI9f67vtR8,3426
|
|
707
707
|
supervisely/metric/projects_applier.py,sha256=ORtgLQHYtNi4KYsSGaGPPWiZPexTJF9IWqX_RuLRxPk,3415
|
|
708
|
-
supervisely/nn/__init__.py,sha256=
|
|
708
|
+
supervisely/nn/__init__.py,sha256=oPFuFcvgKeMTRiklKHvJMBFaT0FMUmndS52hgF02t9M,436
|
|
709
709
|
supervisely/nn/prediction_dto.py,sha256=8QQE6h_feOf3bjWtyG_PoU8FIQrr4g8PoMOyoscmqJM,1697
|
|
710
710
|
supervisely/nn/task_type.py,sha256=UJvSJ4L3I08j_e6sU6Ptu7kS5p1H09rfhfoDUSZ2iys,522
|
|
711
711
|
supervisely/nn/utils.py,sha256=diMo6P1FDRChLTmuxRryGvxyMenyRfUqcSi38wjQBOo,1314
|
|
@@ -721,100 +721,122 @@ supervisely/nn/artifacts/rtdetr.py,sha256=xjH3TzbHHqC06vOb_bVHTSNsWsKPwRDLN39ivQ
|
|
|
721
721
|
supervisely/nn/artifacts/unet.py,sha256=Gn8ADfwC4F-MABVDPRY7g_ZaAIaaOAEbhhIGII-oiA4,1450
|
|
722
722
|
supervisely/nn/artifacts/yolov5.py,sha256=6KDCyDlLO7AT9of1qHjCaG5mmxCv6C0p-zCk9KJ0PH4,1478
|
|
723
723
|
supervisely/nn/artifacts/yolov8.py,sha256=c3MzbOTYD6RT5N4F9oZ0SWXxyonjJ6ZQfZLYUHPRZg4,1204
|
|
724
|
-
supervisely/nn/benchmark/__init__.py,sha256=
|
|
725
|
-
supervisely/nn/benchmark/base_benchmark.py,sha256=
|
|
724
|
+
supervisely/nn/benchmark/__init__.py,sha256=7jDezvavJFtO9mDeB2TqW8N4sD8TsHQBPpA9RESleIQ,610
|
|
725
|
+
supervisely/nn/benchmark/base_benchmark.py,sha256=8dnDPblZErN6LuoUduy7Q9XivHD-j4FXqjSJh7TqLf4,25015
|
|
726
|
+
supervisely/nn/benchmark/base_evaluator.py,sha256=fxmUDsIIAahaA8yshxMA2a8klxNAOelx_pswUWVa3-o,3644
|
|
727
|
+
supervisely/nn/benchmark/base_visualizer.py,sha256=APW2y-rRC6sriqn-jPRY_3oMTtP7jSviEPM2F8QCQbY,10210
|
|
726
728
|
supervisely/nn/benchmark/cv_tasks.py,sha256=ShoAbuNzfMYj0Se-KOnl_-dJnrmvN6Aukxa0eq28bFw,239
|
|
727
|
-
supervisely/nn/benchmark/instance_segmentation_benchmark.py,sha256=9iiWEH7KDw7ps0mQQdzIrCtCKg4umHekF3ws7jIGjmE,938
|
|
728
|
-
supervisely/nn/benchmark/object_detection_benchmark.py,sha256=s1S-L952etgz-UsDPyg69AgmFfAoJXvFHhITT8zB5iw,956
|
|
729
|
-
supervisely/nn/benchmark/utils.py,sha256=evcoUFPkeEW1-GvAPYp8EoOv3WAsqzaSmCY4lbLLfAQ,607
|
|
730
|
-
supervisely/nn/benchmark/coco_utils/__init__.py,sha256=MKxuzzBWpRCwR8kOb5NXUK8vD-2mroJn48xd6tv9FeI,139
|
|
731
|
-
supervisely/nn/benchmark/coco_utils/sly2coco.py,sha256=iudlcHNynthscH-V5qwCLk6VgIcxYrMEuAfGIjrOjZ0,6867
|
|
732
|
-
supervisely/nn/benchmark/coco_utils/utils.py,sha256=J9kM_Cn4XxfsrSQ8Rx6eb1UsS65-wOybaCkI9rQDeiU,504
|
|
733
729
|
supervisely/nn/benchmark/comparison/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
734
730
|
supervisely/nn/benchmark/comparison/model_comparison.py,sha256=HHSdMHjhR355nnxn4RqP4ew2oYvWKWQiB_enUjmBYe0,3321
|
|
735
731
|
supervisely/nn/benchmark/comparison/detection_visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
736
|
-
supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py,sha256=
|
|
732
|
+
supervisely/nn/benchmark/comparison/detection_visualization/text_templates.py,sha256=lBqcNsyOX04R2jL6Efu43xB2aHC1qx28Kw27DLuk66o,28336
|
|
737
733
|
supervisely/nn/benchmark/comparison/detection_visualization/visualizer.py,sha256=JuLtDL37nY5pYZW2aHq4exqyqwRcWvyC9_yO45NxoeU,12869
|
|
738
734
|
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/__init__.py,sha256=L01ExPfYQsAUVKeDyR7sybDo4lqW152q8ubs4mYMi80,1126
|
|
739
735
|
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/avg_precision_by_class.py,sha256=0_2sUoS-9e7ZSpTCJBepwbZHYQiE9mJtWlwZMBmM1Lk,4634
|
|
740
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py,sha256=
|
|
741
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predicttions.py,sha256=
|
|
742
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py,sha256
|
|
743
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py,sha256=
|
|
744
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py,sha256=
|
|
745
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py,sha256=
|
|
746
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py,sha256=
|
|
747
|
-
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py,sha256=
|
|
736
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/calibration_score.py,sha256=ut6xDtDSjvgZaxdlwni3R2KL41_Ze0WPCFy0IBd_oNY,7653
|
|
737
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/explore_predicttions.py,sha256=oADcHrid3GcvZVwM5UHHgIxJswpTBQBB4Ih3RvYXdGA,6392
|
|
738
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/localization_accuracy.py,sha256=-fAvX4WPMrEoam170ROqAeeYg8pfobJBW6TXZMHhafo,5397
|
|
739
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/outcome_counts.py,sha256=QlMha7kdqJl_hshC1ZAuDgi0afZHwp8SyMGRpbtXT3s,13201
|
|
740
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/overview.py,sha256=TZen3vC1TCOEm54vZbyKNkZtHb0mSvvSTzQnWx4sJu0,9592
|
|
741
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/pr_curve.py,sha256=vBqkfdDmtlOG23CtFD9MYXrOzcQnLXsMmOF7sNQOdOc,4852
|
|
742
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/precision_recal_f1.py,sha256=9k49G-SRxT2CeE0LZtFVqV4e0uX_YqjgxCyvRPRABS4,11496
|
|
743
|
+
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/speedtest.py,sha256=0NtSB-SHkw4ynRaIl8Mm0ed-h6bFr9L-ZKxnzXJbn70,10658
|
|
748
744
|
supervisely/nn/benchmark/comparison/detection_visualization/vis_metrics/vis_metric.py,sha256=sRIf1q9a2ulTgm2xEZ3IMOsse8ZljbMake0_VGCnbbU,587
|
|
749
|
-
supervisely/nn/benchmark/
|
|
750
|
-
supervisely/nn/benchmark/
|
|
751
|
-
supervisely/nn/benchmark/
|
|
752
|
-
supervisely/nn/benchmark/
|
|
753
|
-
supervisely/nn/benchmark/
|
|
754
|
-
supervisely/nn/benchmark/
|
|
755
|
-
supervisely/nn/benchmark/
|
|
756
|
-
supervisely/nn/benchmark/
|
|
757
|
-
supervisely/nn/benchmark/
|
|
745
|
+
supervisely/nn/benchmark/instance_segmentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
746
|
+
supervisely/nn/benchmark/instance_segmentation/benchmark.py,sha256=_KeKEppSCDi1g9Wgo3klp5XwS8FSFt2S4mkanYrN4Rc,1170
|
|
747
|
+
supervisely/nn/benchmark/instance_segmentation/evaluation_params.yaml,sha256=POzpiaxnxuwAPSNQOGgjoUPfsk6Lf5hb9GLHwltWY5Y,94
|
|
748
|
+
supervisely/nn/benchmark/instance_segmentation/evaluator.py,sha256=Spmo4a5LMFe5zW3s0mS-pbVKAgb27Wlxuj91Z3YXqTo,2305
|
|
749
|
+
supervisely/nn/benchmark/instance_segmentation/text_templates.py,sha256=sGiGnpIyuOP35f4NoDT0BWNmscsx_T1XZ_igGvCkkBg,25481
|
|
750
|
+
supervisely/nn/benchmark/instance_segmentation/visualizer.py,sha256=8NscOKy7JK4AG-Czu3SM0qJQXLDfKD9URdG1d4nz89E,564
|
|
751
|
+
supervisely/nn/benchmark/object_detection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
752
|
+
supervisely/nn/benchmark/object_detection/base_vis_metric.py,sha256=XjUnFCnCMYLrpjojIOwiRNaSsSLYpozTHWfwLkaCd5U,1612
|
|
753
|
+
supervisely/nn/benchmark/object_detection/benchmark.py,sha256=SXdCGFH2KWl5UYDZBdx-J0P15GyHDs0aQOR7ZudBEBw,1085
|
|
754
|
+
supervisely/nn/benchmark/object_detection/evaluation_params.yaml,sha256=POzpiaxnxuwAPSNQOGgjoUPfsk6Lf5hb9GLHwltWY5Y,94
|
|
755
|
+
supervisely/nn/benchmark/object_detection/evaluator.py,sha256=g-QgWzbBLGzBTrv1jonNYCKkYx-M5zSkzs0KkuIVrzg,5667
|
|
756
|
+
supervisely/nn/benchmark/object_detection/metric_provider.py,sha256=NWN1yWK0YIE_Fz24OnhwylGlkzxJKrLP8FLVf3-L8ts,19930
|
|
757
|
+
supervisely/nn/benchmark/object_detection/text_templates.py,sha256=wv6BkcrfdEKldbXtz4ljkbENIIOdeiUr79U4iRgUx6A,25727
|
|
758
|
+
supervisely/nn/benchmark/object_detection/visualizer.py,sha256=drqndVZT-APwwTiDuMWeYXpnHF89rDsIEspneWqYSSE,31838
|
|
759
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/__init__.py,sha256=AXCLHEySEdR-B-5sfDoWBmmOLBVlyW2U_xr8Ta42sQI,2096
|
|
760
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/confidence_distribution.py,sha256=OlwkPgzEQ-RegcLZHVUVOL0n6I_2iayPVpAIie4y2O8,3615
|
|
761
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/confidence_score.py,sha256=r_saaZI4WB7C7ykNb1obmf8kEOkphLA4pInDoS6dXXU,4005
|
|
762
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/confusion_matrix.py,sha256=2PJUt0-njRpzN7XBGjkSt9kkh5tDPuv_Sne-2v8DWHc,3731
|
|
763
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/explore_predictions.py,sha256=wIYfq3izM2XNJHr56h3j5XhuU8W8Y3wO_RKAwxntQs4,4855
|
|
764
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/f1_score_at_different_iou.py,sha256=6y2Kx-R_t4SdJkdWNyZQ6TGjCC-u6KhXb4cCno4GuTk,2882
|
|
765
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/frequently_confused.py,sha256=7rObk7WNsfwK7xBWl3aOxcn0uD48njEc04fQIPHc3_4,4678
|
|
766
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/iou_distribution.py,sha256=lv4Bk8W4X8ZhvQKyMXI46d240PNlMFx1hdji_aoTS50,3601
|
|
767
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/key_metrics.py,sha256=Z8qArtjqjjRW5Z4mBuanzK3b4LLfH6NgNbO2Lt0kXyo,4316
|
|
768
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/model_predictions.py,sha256=gsGDsesiwOcqeFvHr33b4PSJNw6MoA5brO-qRydRtsA,5944
|
|
769
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts.py,sha256=HuTgisYmXCSUeF5WOahy-uaCdvRLsNzg28BDrZ-5hww,7161
|
|
770
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/outcome_counts_per_class.py,sha256=GBq0KlPka5z4cxHcKCe2eVOI_h3qlWUqGCyhYs6mjrk,6825
|
|
771
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/overview.py,sha256=2ToNTbgzQA6EGdtGFPqd9jHzcLCCzpIL1FS7jwstQLg,5131
|
|
772
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve.py,sha256=EeZmyNlTVQLQ-0wIDGdvFmRkahJBBiOKSmWiAJ8Bfks,3478
|
|
773
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/pr_curve_by_class.py,sha256=Bl_buVvH8SVqwsc4DcHnojMOqpwTnRgXFt9yw_Y1BR0,1607
|
|
774
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/precision.py,sha256=473bhBQ31-kFoyNsDNTs4GPwOiexSskxKPP8AP_nHDg,2605
|
|
775
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/precision_avg_per_class.py,sha256=X-hyf7OP7hzQzI5Yb2yDU536hxYQLvxcnVyYa3x27XA,2076
|
|
776
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/recall.py,sha256=VQZqrlYLUbrFV7ugp2Bo1SIaKCs_jA7qrodatzB4_rE,2483
|
|
777
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/recall_vs_precision.py,sha256=md9pj3V5hL7GE92ehVhhCz3uEWd3HsqtGIfyIZPas68,1937
|
|
778
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/reliability_diagram.py,sha256=_8ie3dPfwOyNCg-YhqO5jFW6kubCfQC2Obn9QSZFVeQ,3615
|
|
779
|
+
supervisely/nn/benchmark/object_detection/vis_metrics/speedtest.py,sha256=uAYu42WUcQCBdfm-PZxOPAGLDsPlcnDJL7PCXDRStbY,5449
|
|
780
|
+
supervisely/nn/benchmark/semantic_segmentation/__init__.py,sha256=Hx5bFhRZq8BXvN_ATAxlrhsxWcVy32pT4xIkqa-16RM,326
|
|
781
|
+
supervisely/nn/benchmark/semantic_segmentation/base_vis_metric.py,sha256=mwGjRUTPrIj56WHsxNW_4fcZM0uw1xm6B5wh25FijyQ,1788
|
|
782
|
+
supervisely/nn/benchmark/semantic_segmentation/benchmark.py,sha256=8rnU6I94q0GUdXWwluZu0_Sac_eU2-Az133tHF1dA3U,1202
|
|
783
|
+
supervisely/nn/benchmark/semantic_segmentation/evaluation_params.yaml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
784
|
+
supervisely/nn/benchmark/semantic_segmentation/evaluator.py,sha256=SjFGBju1rghXeBkOZjnaCnyIo04C6aEb1ltDKvR2ME4,6158
|
|
785
|
+
supervisely/nn/benchmark/semantic_segmentation/metric_provider.py,sha256=KvbiiEqNOuTSwp4IfV6GC8azYFb-9OZ6ZrYV7pw4KEc,6491
|
|
786
|
+
supervisely/nn/benchmark/semantic_segmentation/text_templates.py,sha256=fYJQeO75LTMzbz0KG01TPGYrMatEuHAF9cnPWolUsoQ,8585
|
|
787
|
+
supervisely/nn/benchmark/semantic_segmentation/visualizer.py,sha256=qbpz6b3aUhvByTFvE44u0X7DdTRgaITTBYD4TWIysI4,13102
|
|
788
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
789
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/acknowledgement.py,sha256=Lm82x8AIMKv1WqmqA0W9fugSlQ_JrP9dwYYYReZmhvI,440
|
|
790
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/classwise_error_analysis.py,sha256=0bmL43a4cqw3grFoG68NN8Y1fkRpHBIRJptcxMor-78,1884
|
|
791
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/confusion_matrix.py,sha256=xpvicxgwDaih-64VSAsxdNvoFxeA_iaUGOK9gpvNyuQ,3233
|
|
792
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/explore_predictions.py,sha256=QVtcGQv4S8W7jLANUsvuJaPP-OrUQ_LB2oEpjpLBecw,2936
|
|
793
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/frequently_confused.py,sha256=SyVgMD66EFLfgrClb5RCJjLhgRfTYqGsUORPYIuSe58,3697
|
|
794
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/iou_eou.py,sha256=IdUho3712dDLyVsgR01aNSQBcraPzYwpJmTc9AB0Txw,1401
|
|
795
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/key_metrics.py,sha256=vJb30-aQ-ffUTo_vX4ZQL8wjN0VYI6jwR2ILH5jXGDw,1886
|
|
796
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/model_predictions.py,sha256=1ysQLOmYJvrCPdqkXhRb5p_TyyXWdAVBDXoCJpfZrNo,3807
|
|
797
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/overview.py,sha256=3E8TqjTWkhFFvcl0v0SjVz7muIkaZRfsG6fiW76ooqE,4851
|
|
798
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/renormalized_error_ou.py,sha256=w4oqirf_o7uz0fwaapaFR0ByjCBSEfMv--ZgEZTkuFQ,1575
|
|
799
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/speedtest.py,sha256=0UP_HReIciHQyU6sOXnWhAzyVBoGznV7ZHF8m4vEVX0,5941
|
|
800
|
+
supervisely/nn/benchmark/semantic_segmentation/vis_metrics/vis_texts.py,sha256=rRdYZxmhQX4T3RsXJVGp34NMZPz8jUHtVvBN5BpPJ5I,603
|
|
801
|
+
supervisely/nn/benchmark/utils/__init__.py,sha256=JHT73gWdwgLJKTiCpDdwggm1t_EWB0JCC90-zD7reXM,741
|
|
802
|
+
supervisely/nn/benchmark/utils/detection/__init__.py,sha256=L3QKGuKUlR2N_QFRTRsa6gfLDbksIaFMYO0Hukxxy1U,172
|
|
803
|
+
supervisely/nn/benchmark/utils/detection/calculate_metrics.py,sha256=DyGNBhnifAFZL8-OwRrrFritzLKJeCcEwEZsLXPd148,11446
|
|
804
|
+
supervisely/nn/benchmark/utils/detection/metric_provider.py,sha256=cgF6uzF7XOvU2CpxyU7zuK1HH6hhNiIV3vQc8MAzwMU,19934
|
|
805
|
+
supervisely/nn/benchmark/utils/detection/metrics.py,sha256=oyictdJ7rRDUkaVvHoxntywW5zZweS8pIJ1bN6JgXtE,2420
|
|
806
|
+
supervisely/nn/benchmark/utils/detection/sly2coco.py,sha256=0O2LSCU5zIX34mD4hZIv8O3-j6LwnB0DqhiVPAiosO8,6883
|
|
807
|
+
supervisely/nn/benchmark/utils/detection/utlis.py,sha256=pDmlq_lb90L1D1avsTPlqd4-t19UlERrWyIzSNU3K60,902
|
|
808
|
+
supervisely/nn/benchmark/utils/semantic_segmentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
809
|
+
supervisely/nn/benchmark/utils/semantic_segmentation/calculate_metrics.py,sha256=4ifC5r_Q880yIr8gWnjEzwKbS0vizMWqSF4XeyaMvh0,924
|
|
810
|
+
supervisely/nn/benchmark/utils/semantic_segmentation/evaluator.py,sha256=R1U_mnOiUUH6P87xiKalYqMpj1uGCJKuOBcsTmVHawY,32894
|
|
811
|
+
supervisely/nn/benchmark/utils/semantic_segmentation/loader.py,sha256=_5ZZ7Nkd8WWYJnKwc1Dx3bEPS_1R84gG_hQc0w0TXWw,1957
|
|
812
|
+
supervisely/nn/benchmark/utils/semantic_segmentation/utils.py,sha256=nV9T7PCUxOdipFIBPrpdwLJXs0GJNp_Eft2MJmrKJRM,3787
|
|
758
813
|
supervisely/nn/benchmark/visualization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
759
|
-
supervisely/nn/benchmark/visualization/evaluation_result.py,sha256=
|
|
814
|
+
supervisely/nn/benchmark/visualization/evaluation_result.py,sha256=733HJL4rJa5XqCJydW9vSyaepvpHzym9wQsw1wFEgeI,10251
|
|
760
815
|
supervisely/nn/benchmark/visualization/renderer.py,sha256=qxWUYu2glTqksxI5UG08nwDmZA4A2bfGb1wk9DaDct8,3340
|
|
761
816
|
supervisely/nn/benchmark/visualization/report_template.html,sha256=tylBK5Bb2cqKACK1GZUKyIjPS9yHQFHAS-QeEEwhqTE,2172
|
|
762
|
-
supervisely/nn/benchmark/visualization/vis_click_data.py,sha256=
|
|
763
|
-
supervisely/nn/benchmark/visualization/
|
|
764
|
-
supervisely/nn/benchmark/visualization/
|
|
765
|
-
supervisely/nn/benchmark/visualization/vis_widgets.py,sha256=oavMM2Z-05Hp_Fj086NgXAqDq2KPAqXfT-nJb5qlDsg,4103
|
|
766
|
-
supervisely/nn/benchmark/visualization/visualizer.py,sha256=1VhcuM44LIZv6RHzsSpU9K-Yq3MqAhuwO2JGuWN5Ots,32149
|
|
767
|
-
supervisely/nn/benchmark/visualization/inference_speed/__init__.py,sha256=6Nahwt9R61_Jc1eWupXa70CgyRQ7tbUeiDWR26017rY,554
|
|
768
|
-
supervisely/nn/benchmark/visualization/inference_speed/speedtest_batch.py,sha256=73gbXs1uTfxxWH-UCJdR72m-48jMD5qVyMyolf5jNoc,6140
|
|
769
|
-
supervisely/nn/benchmark/visualization/inference_speed/speedtest_intro.py,sha256=ivUVriKyhx9ZtwVSqrAkUqq1SJGYYxNLwLQR1UgE4aM,900
|
|
770
|
-
supervisely/nn/benchmark/visualization/inference_speed/speedtest_overview.py,sha256=QLgiiHJzmasnNmn6OGWfLef01gLOiM84uVBK5P8c954,4887
|
|
771
|
-
supervisely/nn/benchmark/visualization/inference_speed/speedtest_real_time.py,sha256=bVpNS3YBP0TGsqE_XQBuFMJI5ybDM0RZpEzFyT7cbkA,2157
|
|
772
|
-
supervisely/nn/benchmark/visualization/text_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
773
|
-
supervisely/nn/benchmark/visualization/text_templates/inference_speed_text.py,sha256=XGeBrbP-ROyKYbqYZzA281_IG45Ygu9NKyqG2I3o5TU,1124
|
|
774
|
-
supervisely/nn/benchmark/visualization/text_templates/instance_segmentation_text.py,sha256=ud_XqN3q8nbpAvk3JvW_8LNcmnkq7B-MuLgILgSVeJA,25116
|
|
775
|
-
supervisely/nn/benchmark/visualization/text_templates/object_detection_text.py,sha256=jKHeKZGwEP1rnKpKHpf9x5iP9L8JaFMkvnFcayxvgeI,24508
|
|
776
|
-
supervisely/nn/benchmark/visualization/vis_metrics/__init__.py,sha256=Qrd9NMgFUQ1nbEy4NEu59RXR4OmVaBdK_iLOGpwVRCA,2249
|
|
777
|
-
supervisely/nn/benchmark/visualization/vis_metrics/classwise_error_analysis.py,sha256=8S_XYSA_qyVWAEnvebdjuw9ktJScDHgTVvZRfh-bvpc,1841
|
|
778
|
-
supervisely/nn/benchmark/visualization/vis_metrics/confidence_distribution.py,sha256=m-z0-jPn3dd_X-w49Zjkb4qEEP6Rw6fVpSjgSuJoeRw,3794
|
|
779
|
-
supervisely/nn/benchmark/visualization/vis_metrics/confidence_score.py,sha256=F38WSVF2a2ePV7DWfYdxDlSjM68NvjPMccfaTQWg0uI,3356
|
|
780
|
-
supervisely/nn/benchmark/visualization/vis_metrics/confusion_matrix.py,sha256=SFDRpoJX-IJYv-SoCXOyhXZTpVUm6G1IYCe15Nei9Uc,3362
|
|
781
|
-
supervisely/nn/benchmark/visualization/vis_metrics/explorer_grid.py,sha256=-TmGMWr6bHZd80TBGk3S_qdDQ-xlAL-zczAYw8h9vtU,5738
|
|
782
|
-
supervisely/nn/benchmark/visualization/vis_metrics/f1_score_at_different_iou.py,sha256=QbHUT0-beBs0z8anbma1MS6iNEG89CmL6iSj8-ejnlc,3158
|
|
783
|
-
supervisely/nn/benchmark/visualization/vis_metrics/frequently_confused.py,sha256=2lhwqaXdIEXhFSaqBYcJjRLp_OgBTEYxajYib0v4qRQ,3992
|
|
784
|
-
supervisely/nn/benchmark/visualization/vis_metrics/iou_distribution.py,sha256=Kir2F3piCBf-xKhoQzVXbo38zyrLLhOr3bYay90H1-g,3015
|
|
785
|
-
supervisely/nn/benchmark/visualization/vis_metrics/model_predictions.py,sha256=VmsvHwG1YJ6mMlU676cyNRXkVOcNbSvKwyVpxs4SMis,6108
|
|
786
|
-
supervisely/nn/benchmark/visualization/vis_metrics/outcome_counts.py,sha256=rsm_hdE0pYCHY-5v0pjDIid71y2tPbzYbmH2Qw-RS-4,3983
|
|
787
|
-
supervisely/nn/benchmark/visualization/vis_metrics/outcome_counts_per_class.py,sha256=lSb2-jfplyERIUCi8_6P9aq6C77JGOKOJK20J824sEE,5623
|
|
788
|
-
supervisely/nn/benchmark/visualization/vis_metrics/overall_error_analysis.py,sha256=YHfueea2EkUgNGP4FCyKyCaCtCwaYeYNJ3WwfF-Hzi4,3553
|
|
789
|
-
supervisely/nn/benchmark/visualization/vis_metrics/overview.py,sha256=V-uNrtNhR5idywyfFSNOA4zFesTf5d6i2g8MNtLOhIw,6997
|
|
790
|
-
supervisely/nn/benchmark/visualization/vis_metrics/percision_avg_per_class.py,sha256=mm8IVM90EoIC_9GsiM-Jyhh6jPqQcHMo788VAvRAzMY,1877
|
|
791
|
-
supervisely/nn/benchmark/visualization/vis_metrics/pr_curve.py,sha256=4-AwEQk1ywuW4zXO_EXo7_aFMjenwhnLlGX2PWqiu0k,3574
|
|
792
|
-
supervisely/nn/benchmark/visualization/vis_metrics/pr_curve_by_class.py,sha256=9Uuibo38HVGPChPbCW8i3cMYdb6-NFlys1TBisp5zOU,1442
|
|
793
|
-
supervisely/nn/benchmark/visualization/vis_metrics/precision.py,sha256=_ATnCkson-tSOv3xp7LI7BmwzIax75zuKs7VoeBZ_ds,2156
|
|
794
|
-
supervisely/nn/benchmark/visualization/vis_metrics/recall.py,sha256=trRMw8ziWMaDp5cmJuwFaJ6aO_rfsTbCYb9LMdr9D_Q,2078
|
|
795
|
-
supervisely/nn/benchmark/visualization/vis_metrics/recall_vs_precision.py,sha256=RuN3tQA3Zt5MmCha8T0WgWDIvzURjsqfL4ap_LYqN-Y,1859
|
|
796
|
-
supervisely/nn/benchmark/visualization/vis_metrics/reliability_diagram.py,sha256=Vxta2s0RTTcV0GCcMiF8CykCtZYryLTwGjW9vVUrK3I,3107
|
|
797
|
-
supervisely/nn/benchmark/visualization/vis_metrics/what_is.py,sha256=MDnYR-o7Mj-YE1Jwu9EcLUEPcu6rLknRx7LvV4nnUBo,842
|
|
798
|
-
supervisely/nn/benchmark/visualization/widgets/__init__.py,sha256=pH-S6KlLE12uFl3KUHTyxvgd75NhI229SZ96sh-buJI,840
|
|
799
|
-
supervisely/nn/benchmark/visualization/widgets/widget.py,sha256=X96Gan8xlAuhKJMW_twFXMXbIWjS0idL5abcvircSA0,702
|
|
817
|
+
supervisely/nn/benchmark/visualization/vis_click_data.py,sha256=hBeVepHngTGVHK3MiWe8qZY87taifxnoUXq22W2xaqo,3724
|
|
818
|
+
supervisely/nn/benchmark/visualization/widgets/__init__.py,sha256=UovmhwLH4Au81JFrFz0NwPasaIqPEI-zXN-JntTc2FU,949
|
|
819
|
+
supervisely/nn/benchmark/visualization/widgets/widget.py,sha256=1cpfyaZjug8ZQIRR5SB4BgkSxP3BMwkYFRWH36U1eF0,818
|
|
800
820
|
supervisely/nn/benchmark/visualization/widgets/chart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
801
|
-
supervisely/nn/benchmark/visualization/widgets/chart/chart.py,sha256=
|
|
821
|
+
supervisely/nn/benchmark/visualization/widgets/chart/chart.py,sha256=wBq0HaSixzxzlosGys2jFGLfKuFIld6p3tLWD0TF_Jo,2553
|
|
802
822
|
supervisely/nn/benchmark/visualization/widgets/chart/template.html,sha256=X3jm8P3BngF_XCV9NOypOsrGH0NuesUdxvhO3tZs9yQ,637
|
|
803
823
|
supervisely/nn/benchmark/visualization/widgets/collapse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
804
824
|
supervisely/nn/benchmark/visualization/widgets/collapse/collapse.py,sha256=iRtf5kThl5zzzYwBbA0WepAroK_LRgNJBcP0TvDHwEo,916
|
|
805
825
|
supervisely/nn/benchmark/visualization/widgets/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
806
826
|
supervisely/nn/benchmark/visualization/widgets/container/container.py,sha256=ZV7auhFLZDsEVv8FoAKygiGKCeFjDG078Wmcpx7U6-w,1802
|
|
807
827
|
supervisely/nn/benchmark/visualization/widgets/gallery/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
808
|
-
supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py,sha256=
|
|
809
|
-
supervisely/nn/benchmark/visualization/widgets/gallery/template.html,sha256=
|
|
828
|
+
supervisely/nn/benchmark/visualization/widgets/gallery/gallery.py,sha256=Lid8sZexDfgoWDupCWOiHowVnKn687F7S1fnDomrtfA,5578
|
|
829
|
+
supervisely/nn/benchmark/visualization/widgets/gallery/template.html,sha256=GuxIVCuqUN41Pe-F11RrrMZxomkWld2UM6j5U8RL2UU,2003
|
|
810
830
|
supervisely/nn/benchmark/visualization/widgets/markdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
811
|
-
supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py,sha256=
|
|
831
|
+
supervisely/nn/benchmark/visualization/widgets/markdown/markdown.py,sha256=j0e3lVZJZVrFrtAxpNTOlmUpsjeqoS9yJHR5m8zJMiI,1528
|
|
812
832
|
supervisely/nn/benchmark/visualization/widgets/notification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
813
|
-
supervisely/nn/benchmark/visualization/widgets/notification/notification.py,sha256=
|
|
833
|
+
supervisely/nn/benchmark/visualization/widgets/notification/notification.py,sha256=J-n_RXRl6o67-qbCHp-l-_Kw1prkTmfeigwxx7tRQLI,1183
|
|
834
|
+
supervisely/nn/benchmark/visualization/widgets/radio_group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
835
|
+
supervisely/nn/benchmark/visualization/widgets/radio_group/radio_group.py,sha256=NtX5LB1kRbYC8KLVOUqiZECt7jvrYfHpaFqAXcTRCCg,925
|
|
814
836
|
supervisely/nn/benchmark/visualization/widgets/sidebar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
815
837
|
supervisely/nn/benchmark/visualization/widgets/sidebar/sidebar.py,sha256=tKPURRSF6_zZReG06MJ5a1nrRWBNtCDFKGm_eEAOp8I,2084
|
|
816
838
|
supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
817
|
-
supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=
|
|
839
|
+
supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
|
|
818
840
|
supervisely/nn/inference/__init__.py,sha256=mtEci4Puu-fRXDnGn8RP47o97rv3VTE0hjbYO34Zwqg,1622
|
|
819
841
|
supervisely/nn/inference/cache.py,sha256=KvzCgMbEBLdiJAxJDLicIPKAlYb52P9_kpNPWfiVY8Y,28194
|
|
820
842
|
supervisely/nn/inference/inference.py,sha256=CmQe6QnhZuUV128jcIp2YKsgeggAtmc1NL7PdFnc_hw,116997
|
|
@@ -935,7 +957,7 @@ supervisely/project/data_version.py,sha256=nknaWJSUCwoDyNG9_d1KA-GjzidhV9zd9Cn8c
|
|
|
935
957
|
supervisely/project/download.py,sha256=qonvHBiKX-leHW9qWJdyBqFNmpI2_t9s54e68h9orq0,23687
|
|
936
958
|
supervisely/project/pointcloud_episode_project.py,sha256=fcaFAaHVn_VvdiIfHl4IyEFE5-Q3VFGfo7_YoxEma0I,41341
|
|
937
959
|
supervisely/project/pointcloud_project.py,sha256=Y8Xhi6Hg-KyztwFncezuDfKTt2FILss96EU_LdXzmrA,49172
|
|
938
|
-
supervisely/project/project.py,sha256=
|
|
960
|
+
supervisely/project/project.py,sha256=UB0DdouhKsER4lhW8BlLRfzf_ZzuUv0lKRKUpA46GiM,182025
|
|
939
961
|
supervisely/project/project_meta.py,sha256=26s8IiHC5Pg8B1AQi6_CrsWteioJP2in00cRNe8QlW0,51423
|
|
940
962
|
supervisely/project/project_settings.py,sha256=NLThzU_DCynOK6hkHhVdFyezwprn9UqlnrLDe_3qhkY,9347
|
|
941
963
|
supervisely/project/project_type.py,sha256=_3RqW2CnDBKFOvSIrQT1RJQaiHirs34_jiQS8CkwCpo,530
|
|
@@ -997,9 +1019,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
997
1019
|
supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
|
|
998
1020
|
supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
|
|
999
1021
|
supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
|
|
1000
|
-
supervisely-6.73.
|
|
1001
|
-
supervisely-6.73.
|
|
1002
|
-
supervisely-6.73.
|
|
1003
|
-
supervisely-6.73.
|
|
1004
|
-
supervisely-6.73.
|
|
1005
|
-
supervisely-6.73.
|
|
1022
|
+
supervisely-6.73.240.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1023
|
+
supervisely-6.73.240.dist-info/METADATA,sha256=AIoj0IdizC_kg3QG2ExZsXz19mHqbh7qFPZF7OPO_nY,33277
|
|
1024
|
+
supervisely-6.73.240.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
1025
|
+
supervisely-6.73.240.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
|
|
1026
|
+
supervisely-6.73.240.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
|
|
1027
|
+
supervisely-6.73.240.dist-info/RECORD,,
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
from supervisely.nn.benchmark.evaluation.base_evaluator import BaseEvaluator
|
|
2
|
-
from supervisely.nn.benchmark.evaluation.object_detection_evaluator import ObjectDetectionEvaluator
|
|
3
|
-
from supervisely.nn.benchmark.evaluation.instance_segmentation_evaluator import InstanceSegmentationEvaluator
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import pickle
|
|
3
|
-
from typing import List, Optional, Union
|
|
4
|
-
|
|
5
|
-
import yaml
|
|
6
|
-
|
|
7
|
-
from supervisely.app.widgets import SlyTqdm
|
|
8
|
-
from supervisely.task.progress import tqdm_sly
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class BaseEvaluator:
|
|
12
|
-
EVALUATION_PARAMS_YAML_PATH: str = None
|
|
13
|
-
|
|
14
|
-
def __init__(
|
|
15
|
-
self,
|
|
16
|
-
gt_project_path: str,
|
|
17
|
-
dt_project_path: str,
|
|
18
|
-
result_dir: str = "./evaluation",
|
|
19
|
-
progress: Optional[SlyTqdm] = None,
|
|
20
|
-
items_count: Optional[int] = None, # TODO: is it needed?
|
|
21
|
-
classes_whitelist: Optional[List[str]] = None,
|
|
22
|
-
evaluation_params: Optional[dict] = None,
|
|
23
|
-
):
|
|
24
|
-
self.gt_project_path = gt_project_path
|
|
25
|
-
self.dt_project_path = dt_project_path
|
|
26
|
-
self.result_dir = result_dir
|
|
27
|
-
self.total_items = items_count
|
|
28
|
-
self.pbar = progress or tqdm_sly
|
|
29
|
-
os.makedirs(result_dir, exist_ok=True)
|
|
30
|
-
self.classes_whitelist = classes_whitelist
|
|
31
|
-
|
|
32
|
-
if evaluation_params is None:
|
|
33
|
-
evaluation_params = self._get_default_evaluation_params()
|
|
34
|
-
self.evaluation_params = evaluation_params
|
|
35
|
-
if self.evaluation_params:
|
|
36
|
-
self.validate_evaluation_params(self.evaluation_params)
|
|
37
|
-
|
|
38
|
-
def evaluate(self):
|
|
39
|
-
raise NotImplementedError()
|
|
40
|
-
|
|
41
|
-
def get_result_dir(self) -> str:
|
|
42
|
-
return self.result_dir
|
|
43
|
-
|
|
44
|
-
@classmethod
|
|
45
|
-
def load_yaml_evaluation_params(cls) -> Union[str, None]:
|
|
46
|
-
if cls.EVALUATION_PARAMS_YAML_PATH is None:
|
|
47
|
-
return None
|
|
48
|
-
with open(cls.EVALUATION_PARAMS_YAML_PATH, "r") as f:
|
|
49
|
-
return f.read()
|
|
50
|
-
|
|
51
|
-
@classmethod
|
|
52
|
-
def validate_evaluation_params(cls, evaluation_params: dict) -> None:
|
|
53
|
-
pass
|
|
54
|
-
|
|
55
|
-
@classmethod
|
|
56
|
-
def _get_default_evaluation_params(cls) -> dict:
|
|
57
|
-
if cls.EVALUATION_PARAMS_YAML_PATH is None:
|
|
58
|
-
return {}
|
|
59
|
-
else:
|
|
60
|
-
return yaml.safe_load(cls.load_yaml_evaluation_params())
|
|
61
|
-
|
|
62
|
-
def _dump_pickle(self, data, file_path):
|
|
63
|
-
with open(file_path, "wb") as f:
|
|
64
|
-
pickle.dump(data, f)
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
from supervisely.io.json import dump_json_file
|
|
4
|
-
from supervisely.nn.benchmark.coco_utils import read_coco_datasets, sly2coco
|
|
5
|
-
from supervisely.nn.benchmark.evaluation import BaseEvaluator
|
|
6
|
-
from supervisely.nn.benchmark.evaluation.coco import calculate_metrics
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class InstanceSegmentationEvaluator(BaseEvaluator):
|
|
11
|
-
EVALUATION_PARAMS_YAML_PATH = f"{Path(__file__).parent}/coco/evaluation_params.yaml"
|
|
12
|
-
|
|
13
|
-
def evaluate(self):
|
|
14
|
-
try:
|
|
15
|
-
self.cocoGt_json, self.cocoDt_json = self._convert_to_coco()
|
|
16
|
-
except AssertionError as e:
|
|
17
|
-
raise ValueError(
|
|
18
|
-
f"{e}. Please make sure that your GT and DT projects are correct. "
|
|
19
|
-
"If GT project has nested datasets and DT project was crated with NN app, "
|
|
20
|
-
"try to use newer version of NN app."
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
self._dump_datasets()
|
|
24
|
-
self.cocoGt, self.cocoDt = read_coco_datasets(self.cocoGt_json, self.cocoDt_json)
|
|
25
|
-
with self.pbar(message="Evaluation: Calculating metrics", total=5) as p:
|
|
26
|
-
self.eval_data = calculate_metrics(
|
|
27
|
-
self.cocoGt,
|
|
28
|
-
self.cocoDt,
|
|
29
|
-
iouType="segm",
|
|
30
|
-
progress_cb=p.update,
|
|
31
|
-
evaluation_params=self.evaluation_params,
|
|
32
|
-
)
|
|
33
|
-
self._dump_eval_results()
|
|
34
|
-
|
|
35
|
-
@classmethod
|
|
36
|
-
def validate_evaluation_params(cls, evaluation_params: dict) -> None:
|
|
37
|
-
iou_threshold = evaluation_params.get("iou_threshold")
|
|
38
|
-
if iou_threshold is not None:
|
|
39
|
-
assert iou_threshold in [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95], (
|
|
40
|
-
f"iou_threshold must be one of [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95], "
|
|
41
|
-
f"but got {iou_threshold}"
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
def _convert_to_coco(self):
|
|
45
|
-
cocoGt_json = sly2coco(
|
|
46
|
-
self.gt_project_path,
|
|
47
|
-
is_dt_dataset=False,
|
|
48
|
-
accepted_shapes=["polygon", "bitmap"],
|
|
49
|
-
progress=self.pbar,
|
|
50
|
-
classes_whitelist=self.classes_whitelist,
|
|
51
|
-
)
|
|
52
|
-
cocoDt_json = sly2coco(
|
|
53
|
-
self.dt_project_path,
|
|
54
|
-
is_dt_dataset=True,
|
|
55
|
-
accepted_shapes=["polygon", "bitmap"],
|
|
56
|
-
progress=self.pbar,
|
|
57
|
-
classes_whitelist=self.classes_whitelist,
|
|
58
|
-
)
|
|
59
|
-
if len(cocoGt_json["annotations"]) == 0:
|
|
60
|
-
raise ValueError("Not found any annotations in GT project")
|
|
61
|
-
if len(cocoDt_json["annotations"]) == 0:
|
|
62
|
-
raise ValueError(
|
|
63
|
-
"Not found any predictions. "
|
|
64
|
-
"Please make sure that your model produces predictions."
|
|
65
|
-
)
|
|
66
|
-
assert (
|
|
67
|
-
cocoDt_json["categories"] == cocoGt_json["categories"]
|
|
68
|
-
), "Object classes in GT and DT projects are different"
|
|
69
|
-
assert [f'{x["dataset"]}/{x["file_name"]}' for x in cocoDt_json["images"]] == [
|
|
70
|
-
f'{x["dataset"]}/{x["file_name"]}' for x in cocoGt_json["images"]
|
|
71
|
-
], "Images in GT and DT projects are different"
|
|
72
|
-
return cocoGt_json, cocoDt_json
|
|
73
|
-
|
|
74
|
-
def _dump_datasets(self):
|
|
75
|
-
cocoGt_path, cocoDt_path, eval_data_path = self._get_eval_paths()
|
|
76
|
-
dump_json_file(self.cocoGt_json, cocoGt_path, indent=None)
|
|
77
|
-
dump_json_file(self.cocoDt_json, cocoDt_path, indent=None)
|
|
78
|
-
|
|
79
|
-
def _dump_eval_results(self):
|
|
80
|
-
cocoGt_path, cocoDt_path, eval_data_path = self._get_eval_paths()
|
|
81
|
-
self._dump_pickle(self.eval_data, eval_data_path)
|
|
82
|
-
|
|
83
|
-
def _get_eval_paths(self):
|
|
84
|
-
base_dir = self.result_dir
|
|
85
|
-
cocoGt_path = os.path.join(base_dir, "cocoGt.json")
|
|
86
|
-
cocoDt_path = os.path.join(base_dir, "cocoDt.json")
|
|
87
|
-
eval_data_path = os.path.join(base_dir, "eval_data.pkl")
|
|
88
|
-
return cocoGt_path, cocoDt_path, eval_data_path
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
from supervisely.nn.inference import SessionJSON
|
|
2
|
-
|
|
3
|
-
WORKSPACE_NAME = "Model Benchmark: predictions and differences"
|
|
4
|
-
WORKSPACE_DESCRIPTION = "Technical workspace for model benchmarking. Contains predictions and differences between ground truth and predictions."
|
|
5
|
-
|
|
6
|
-
def try_set_conf_auto(session: SessionJSON, conf: float):
|
|
7
|
-
conf_names = ["conf", "confidence", "confidence_threshold", "confidence_thresh"]
|
|
8
|
-
default = session.get_default_inference_settings()
|
|
9
|
-
for name in conf_names:
|
|
10
|
-
if name in default:
|
|
11
|
-
session.inference_settings[name] = conf
|
|
12
|
-
return True
|
|
13
|
-
return False
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
from supervisely.nn.benchmark.visualization.inference_speed.speedtest_batch import (
|
|
2
|
-
SpeedtestBatch,
|
|
3
|
-
)
|
|
4
|
-
from supervisely.nn.benchmark.visualization.inference_speed.speedtest_intro import (
|
|
5
|
-
SpeedtestIntro,
|
|
6
|
-
)
|
|
7
|
-
from supervisely.nn.benchmark.visualization.inference_speed.speedtest_overview import (
|
|
8
|
-
SpeedtestOverview,
|
|
9
|
-
)
|
|
10
|
-
from supervisely.nn.benchmark.visualization.inference_speed.speedtest_real_time import (
|
|
11
|
-
SpeedtestRealTime,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
SPEEDTEST_METRICS = [
|
|
15
|
-
SpeedtestIntro,
|
|
16
|
-
SpeedtestOverview,
|
|
17
|
-
# SpeedtestRealTime,
|
|
18
|
-
SpeedtestBatch,
|
|
19
|
-
]
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
from supervisely.nn.benchmark.visualization.vis_metric_base import MetricVis
|
|
6
|
-
from supervisely.nn.benchmark.visualization.vis_widgets import Schema, Widget
|
|
7
|
-
|
|
8
|
-
if TYPE_CHECKING:
|
|
9
|
-
from supervisely.nn.benchmark.visualization.visualizer import Visualizer
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class SpeedtestBatch(MetricVis):
|
|
13
|
-
|
|
14
|
-
def __init__(self, loader: Visualizer) -> None:
|
|
15
|
-
super().__init__(loader)
|
|
16
|
-
self.schema = Schema(
|
|
17
|
-
self._loader.inference_speed_text,
|
|
18
|
-
markdown_batch_inference=Widget.Markdown(title="Batch inference"),
|
|
19
|
-
chart=Widget.Chart(),
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
def get_figure(self, widget: Widget.Chart): # -> Optional[go.Figure]
|
|
23
|
-
import plotly.graph_objects as go # pylint: disable=import-error
|
|
24
|
-
from plotly.subplots import make_subplots # pylint: disable=import-error
|
|
25
|
-
|
|
26
|
-
fig = make_subplots(cols=2)
|
|
27
|
-
|
|
28
|
-
ms_color = "#e377c2"
|
|
29
|
-
fps_color = "#17becf"
|
|
30
|
-
|
|
31
|
-
temp_res = {}
|
|
32
|
-
for test in self._loader.speedtest["speedtest"]:
|
|
33
|
-
batch_size = test["batch_size"]
|
|
34
|
-
|
|
35
|
-
std = test["benchmark_std"]["total"]
|
|
36
|
-
ms = test["benchmark"]["total"]
|
|
37
|
-
fps = round(1000 / test["benchmark"]["total"] * batch_size)
|
|
38
|
-
# fps_upper = round(1000 / (ms - std) * batch_size)
|
|
39
|
-
# fps_std = round(fps_upper - fps)
|
|
40
|
-
|
|
41
|
-
ms_line = temp_res.setdefault("ms", {})
|
|
42
|
-
fps_line = temp_res.setdefault("fps", {})
|
|
43
|
-
ms_std_line = temp_res.setdefault("ms_std", {})
|
|
44
|
-
# fps_std_line = temp_res.setdefault("fps_std", {})
|
|
45
|
-
|
|
46
|
-
ms_line[batch_size] = ms
|
|
47
|
-
fps_line[batch_size] = fps
|
|
48
|
-
ms_std_line[batch_size] = round(std, 2)
|
|
49
|
-
# fps_std_line[batch_size] = fps_std
|
|
50
|
-
|
|
51
|
-
fig.add_trace(
|
|
52
|
-
go.Scatter(
|
|
53
|
-
x=list(temp_res["ms"].keys()),
|
|
54
|
-
y=list(temp_res["ms"].values()),
|
|
55
|
-
name="Infrence time (ms)",
|
|
56
|
-
line=dict(color=ms_color),
|
|
57
|
-
customdata=list(temp_res["ms_std"].values()),
|
|
58
|
-
error_y=dict(
|
|
59
|
-
type="data",
|
|
60
|
-
array=list(temp_res["ms_std"].values()),
|
|
61
|
-
visible=True,
|
|
62
|
-
color="rgba(227, 119, 194, 0.7)",
|
|
63
|
-
),
|
|
64
|
-
hovertemplate="Batch Size: %{x}<br>Time: %{y:.2f} ms<br> Standard deviation: %{customdata:.2f} ms<extra></extra>",
|
|
65
|
-
),
|
|
66
|
-
col=1,
|
|
67
|
-
row=1,
|
|
68
|
-
)
|
|
69
|
-
fig.add_trace(
|
|
70
|
-
go.Scatter(
|
|
71
|
-
x=list(temp_res["fps"].keys()),
|
|
72
|
-
y=list(temp_res["fps"].values()),
|
|
73
|
-
name="FPS",
|
|
74
|
-
line=dict(color=fps_color),
|
|
75
|
-
# customdata=list(temp_res["fps_std"].values()),
|
|
76
|
-
# error_y=dict(
|
|
77
|
-
# type="data",
|
|
78
|
-
# array=list(temp_res["fps_std"].values()),
|
|
79
|
-
# visible=True,
|
|
80
|
-
# color="rgba(23, 190, 207, 0.7)",
|
|
81
|
-
# ),
|
|
82
|
-
hovertemplate="Batch Size: %{x}<br>FPS: %{y:.2f}<extra></extra>", # <br> Standard deviation: %{customdata:.2f}<extra></extra>",
|
|
83
|
-
),
|
|
84
|
-
col=2,
|
|
85
|
-
row=1,
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
fig.update_xaxes(title_text="Batch size", col=1, dtick=1)
|
|
89
|
-
fig.update_xaxes(title_text="Batch size", col=2, dtick=1)
|
|
90
|
-
|
|
91
|
-
fig.update_yaxes(title_text="Time (ms)", col=1)
|
|
92
|
-
fig.update_yaxes(title_text="FPS", col=2)
|
|
93
|
-
fig.update_layout(height=400)
|
|
94
|
-
|
|
95
|
-
return fig
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
## ========================backup (for public benchmark)==========================
|
|
99
|
-
# class SpeedtestBatch(MetricVis):
|
|
100
|
-
|
|
101
|
-
# def __init__(self, loader: Visualizer) -> None:
|
|
102
|
-
# super().__init__(loader)
|
|
103
|
-
# self.switchable: bool = True
|
|
104
|
-
# self.schema = Schema(
|
|
105
|
-
# self._loader.inference_speed_text,
|
|
106
|
-
# markdown_batch_inference=Widget.Markdown(title="Batch inference"),
|
|
107
|
-
# chart1=Widget.Chart(switch_key="ms"),
|
|
108
|
-
# chart2=Widget.Chart(switch_key="fps"),
|
|
109
|
-
# )
|
|
110
|
-
|
|
111
|
-
# def get_figure(self, widget: Widget.Chart): # -> Optional[go.Figure]
|
|
112
|
-
# import plotly.graph_objects as go # pylint: disable=import-error
|
|
113
|
-
|
|
114
|
-
# colors = iter(["#17becf", "#e377c2", "#bcbd22", "#ff7f0e", "#9467bd", "#2ca02c"])
|
|
115
|
-
|
|
116
|
-
# data = {}
|
|
117
|
-
# for test in self._loader.speedtest["speedtest"]:
|
|
118
|
-
# device = "GPU" if "cuda" in test["device"] else "CPU"
|
|
119
|
-
# runtime = test["runtime"]
|
|
120
|
-
# runtime_and_device = f"{device} {runtime}"
|
|
121
|
-
# batch_size = test["batch_size"]
|
|
122
|
-
|
|
123
|
-
# if widget.switch_key == "ms":
|
|
124
|
-
# total = test["benchmark"]["total"]
|
|
125
|
-
# else:
|
|
126
|
-
# total = round(1000 / test["benchmark"]["total"] * batch_size)
|
|
127
|
-
|
|
128
|
-
# line = data.setdefault(runtime_and_device, {})
|
|
129
|
-
# line[batch_size] = total
|
|
130
|
-
|
|
131
|
-
# fig = go.Figure()
|
|
132
|
-
# min_x, max_y, min_x_idx = float("inf"), 0, 0
|
|
133
|
-
# for idx, (runtime_and_device, line) in enumerate(data.items()):
|
|
134
|
-
# max_y = max(max_y, max(line.values()))
|
|
135
|
-
# if min_x > min(line.keys()):
|
|
136
|
-
# min_x = min(line.keys())
|
|
137
|
-
# min_x_idx = idx
|
|
138
|
-
# fig.add_trace(
|
|
139
|
-
# go.Scatter(
|
|
140
|
-
# x=list(line.keys()),
|
|
141
|
-
# y=list(line.values()),
|
|
142
|
-
# mode="lines+markers",
|
|
143
|
-
# name=runtime_and_device,
|
|
144
|
-
# line=dict(color=next(colors)),
|
|
145
|
-
# )
|
|
146
|
-
# )
|
|
147
|
-
|
|
148
|
-
# fig.update_layout(
|
|
149
|
-
# xaxis_title="Batch Size",
|
|
150
|
-
# yaxis_title="Time (ms)" if widget.switch_key == "ms" else "Images per second (FPS)",
|
|
151
|
-
# legend=dict(x=min_x_idx, y=max_y * 0.7),
|
|
152
|
-
# width=700,
|
|
153
|
-
# height=500,
|
|
154
|
-
# )
|
|
155
|
-
|
|
156
|
-
# if widget.switch_key == "ms":
|
|
157
|
-
# hovertemplate = "Batch Size: %{x}<br>Time: %{y:.2f} ms<extra></extra>"
|
|
158
|
-
# else:
|
|
159
|
-
# hovertemplate = "Batch Size: %{x}<br>FPS: %{y:.2f}<extra></extra>"
|
|
160
|
-
# fig.update_traces(hovertemplate=hovertemplate)
|
|
161
|
-
# return fig
|