edgefirst-validator 4.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. deepview/modelpack/utils/argmax.py +16 -0
  2. edgefirst/validator/__init__.py +1 -0
  3. edgefirst/validator/__main__.py +375 -0
  4. edgefirst/validator/datasets/__init__.py +118 -0
  5. edgefirst/validator/datasets/cache.py +296 -0
  6. edgefirst/validator/datasets/core.py +250 -0
  7. edgefirst/validator/datasets/darknet.py +446 -0
  8. edgefirst/validator/datasets/database.py +1067 -0
  9. edgefirst/validator/datasets/instance/__init__.py +4 -0
  10. edgefirst/validator/datasets/instance/core.py +222 -0
  11. edgefirst/validator/datasets/instance/detection.py +145 -0
  12. edgefirst/validator/datasets/instance/multitask.py +80 -0
  13. edgefirst/validator/datasets/instance/segmentation.py +120 -0
  14. edgefirst/validator/datasets/utils/fetch.py +682 -0
  15. edgefirst/validator/datasets/utils/readers.py +425 -0
  16. edgefirst/validator/datasets/utils/transformations.py +1695 -0
  17. edgefirst/validator/evaluators/__init__.py +17 -0
  18. edgefirst/validator/evaluators/callbacks/__init__.py +3 -0
  19. edgefirst/validator/evaluators/callbacks/core.py +192 -0
  20. edgefirst/validator/evaluators/callbacks/plots.py +900 -0
  21. edgefirst/validator/evaluators/callbacks/studio.py +234 -0
  22. edgefirst/validator/evaluators/core.py +257 -0
  23. edgefirst/validator/evaluators/detection.py +749 -0
  24. edgefirst/validator/evaluators/multitask.py +270 -0
  25. edgefirst/validator/evaluators/parameters/__init__.py +53 -0
  26. edgefirst/validator/evaluators/parameters/core.py +554 -0
  27. edgefirst/validator/evaluators/parameters/dataset.py +239 -0
  28. edgefirst/validator/evaluators/parameters/model.py +338 -0
  29. edgefirst/validator/evaluators/parameters/validation.py +528 -0
  30. edgefirst/validator/evaluators/segmentation.py +729 -0
  31. edgefirst/validator/evaluators/utils/__init__.py +3 -0
  32. edgefirst/validator/evaluators/utils/classify.py +292 -0
  33. edgefirst/validator/evaluators/utils/match.py +262 -0
  34. edgefirst/validator/evaluators/utils/timer.py +132 -0
  35. edgefirst/validator/metrics/__init__.py +9 -0
  36. edgefirst/validator/metrics/data/__init__.py +7 -0
  37. edgefirst/validator/metrics/data/label.py +668 -0
  38. edgefirst/validator/metrics/data/metrics.py +759 -0
  39. edgefirst/validator/metrics/data/plots.py +476 -0
  40. edgefirst/validator/metrics/data/stats.py +507 -0
  41. edgefirst/validator/metrics/detection.py +595 -0
  42. edgefirst/validator/metrics/segmentation.py +173 -0
  43. edgefirst/validator/metrics/utils/math.py +717 -0
  44. edgefirst/validator/publishers/__init__.py +3 -0
  45. edgefirst/validator/publishers/console.py +147 -0
  46. edgefirst/validator/publishers/studio.py +128 -0
  47. edgefirst/validator/publishers/tensorboard.py +119 -0
  48. edgefirst/validator/publishers/utils/logger.py +111 -0
  49. edgefirst/validator/publishers/utils/table.py +403 -0
  50. edgefirst/validator/runners/__init__.py +8 -0
  51. edgefirst/validator/runners/core.py +727 -0
  52. edgefirst/validator/runners/deepviewrt.py +177 -0
  53. edgefirst/validator/runners/hailo.py +263 -0
  54. edgefirst/validator/runners/keras.py +150 -0
  55. edgefirst/validator/runners/kinara.py +265 -0
  56. edgefirst/validator/runners/offline.py +228 -0
  57. edgefirst/validator/runners/onnx.py +241 -0
  58. edgefirst/validator/runners/processing/decode.py +320 -0
  59. edgefirst/validator/runners/processing/dvapi.py +4192 -0
  60. edgefirst/validator/runners/processing/nms.py +637 -0
  61. edgefirst/validator/runners/processing/outputs.py +507 -0
  62. edgefirst/validator/runners/tensorrt.py +321 -0
  63. edgefirst/validator/runners/tflite.py +221 -0
  64. edgefirst/validator/validate.py +843 -0
  65. edgefirst/validator/visualize/__init__.py +3 -0
  66. edgefirst/validator/visualize/detection.py +623 -0
  67. edgefirst/validator/visualize/segmentation.py +281 -0
  68. edgefirst/validator/visualize/utils/plots.py +635 -0
  69. edgefirst_validator-4.2.1.dist-info/METADATA +111 -0
  70. edgefirst_validator-4.2.1.dist-info/RECORD +73 -0
  71. edgefirst_validator-4.2.1.dist-info/WHEEL +5 -0
  72. edgefirst_validator-4.2.1.dist-info/entry_points.txt +2 -0
  73. edgefirst_validator-4.2.1.dist-info/top_level.txt +2 -0
@@ -0,0 +1,111 @@
1
+ Metadata-Version: 2.4
2
+ Name: edgefirst-validator
3
+ Version: 4.2.1
4
+ Summary: EdgeFirst Validator
5
+ Requires-Python: >=3.8
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: tqdm
8
+ Requires-Dist: Pillow
9
+ Requires-Dist: PyYAML
10
+ Requires-Dist: matplotlib
11
+ Requires-Dist: seaborn
12
+ Requires-Dist: requests
13
+ Requires-Dist: numpy<2
14
+ Requires-Dist: lmdb
15
+ Requires-Dist: polars
16
+ Requires-Dist: edgefirst-client
17
+ Provides-Extra: keras
18
+ Requires-Dist: tensorflow[and-cuda]; extra == "keras"
19
+ Provides-Extra: onnx
20
+ Requires-Dist: onnxruntime-gpu; extra == "onnx"
21
+ Provides-Extra: tensorrt
22
+ Requires-Dist: tensorrt; extra == "tensorrt"
23
+ Requires-Dist: pycuda; extra == "tensorrt"
24
+ Provides-Extra: tflite
25
+ Requires-Dist: tflite_runtime; extra == "tflite"
26
+ Provides-Extra: studio
27
+ Requires-Dist: tensorflow[and-cuda]; extra == "studio"
28
+ Requires-Dist: onnxruntime-gpu; extra == "studio"
29
+ Requires-Dist: torch; extra == "studio"
30
+ Requires-Dist: torchvision; extra == "studio"
31
+ Requires-Dist: opencv-python-headless; extra == "studio"
32
+
33
+ # EdgeFirst Validator
34
+
35
+ This repository contains the Packer configuration, entrypoint script, and the validation implementation used by EdgeFirst Studio to perform validation of Vision (detection, segmentation, multitask) models with support for Keras, ONNX, TensorRT, and TFLite either on the cloud or on target validation.
36
+
37
+ ## Overview
38
+ - [Changelog](#changelog)
39
+ - [Installation](#installation)
40
+ - [Usage](#usage)
41
+ - [Documentation](#documentation)
42
+
43
+ ## Changelog
44
+ - Aug 24, 2025 [v4.1.0]: Added ModelPack external decoding. Added Keras support. Added TP vs FP scores chart. Removed +1 padding to the NumPy NMS.
45
+ - June 16, 2025 [v4.0.0]: EdgeFirst Validator (formerly Deep View Validator) - Ultralytics metrics and EdgeFirst Studio integrations.
46
+
47
+ ## Installation
48
+
49
+ For on target validation, the system may already contain the dependencies needed to run the model such as `tflite_runtime` for TensorFlow Lite. In such cases, it is recommended to first [create a python virtual environment](https://docs.python.org/3/library/venv.html#creating-virtual-environments) with the `--system-site-packages` option enabled.
50
+
51
+ EdgeFirst-Validator is available in PyPI and can be installed via pip.
52
+
53
+ ```shell
54
+ pip install edgefirst-validator
55
+ ```
56
+
57
+ Validation of specific models requires these installations which includes the packages needed to run the models, in case the system at present does not contain these packages.
58
+
59
+ * Keras `pip install edgefirst-validator[keras]`
60
+ * ONNX: `pip install edgefirst-validator[onnx]`
61
+ * TensorRT: `pip install edgefirst-validator[tensorrt]`
62
+ * TFLite: `pip install edgefirst-validator[tflite]`
63
+
64
+
65
+ ## Usage
66
+
67
+ 1. As a quickstart, deploy default validation of a YOLOv5 model with COCO128 dataset.
68
+
69
+ ```shell
70
+ edgefirst-validator
71
+ ```
72
+
73
+ 2. Deploy validation as a user-managed session in EdgeFirst Studio. First login with EdgeFirst Client.
74
+
75
+ ```shell
76
+ edgefirst-client login
77
+ ```
78
+
79
+ ```shell
80
+ edgefirst-validator --session-id <validator session ID>
81
+ ```
82
+
83
+ Otherwise, you can specify the credentials directly.
84
+
85
+ ```shell
86
+ edgefirst-validator --token <token> --session-id <validator session ID>
87
+ ```
88
+
89
+ ```shell
90
+ edgefirst-validator --username <username> --password <password> --session-id <Validator Session ID>
91
+ ```
92
+
93
+ 3. Deploy standalone validation.
94
+
95
+ ```shell
96
+ edgefirst-validator <model path> <dataset path>
97
+ ```
98
+
99
+ ## Documentation
100
+
101
+ Run the following commands to generate the documentation.
102
+
103
+ ```shell
104
+ cd doc
105
+ pip install -r requirements.txt
106
+ ```
107
+
108
+ ```shell
109
+ make clean
110
+ make html
111
+ ```
@@ -0,0 +1,73 @@
1
+ deepview/modelpack/utils/argmax.py,sha256=_Oxk8CnxeO1Cgzqz5pEKJLGd0RPIuSI8nH3valZDOPE,410
2
+ edgefirst/validator/__init__.py,sha256=VOZQXJJgKJWk3sL90fY4DfBIyLB4nT1vLtvU5G_1lSo,22
3
+ edgefirst/validator/__main__.py,sha256=9CmxKhR9Z5-fqvansglhvI-fr6iht0TL8oG0RWCUREA,12535
4
+ edgefirst/validator/validate.py,sha256=qM6P3QA5JEg3GRBUm8yrrIBvUiXyuP6S6xmV0qgyR68,29745
5
+ edgefirst/validator/datasets/__init__.py,sha256=ik_X7g5izeX81T4R597HpuJaAhysmyMwzS5EHPL_YVo,4046
6
+ edgefirst/validator/datasets/cache.py,sha256=Y7BJvIXeulhm9eGOTvJjmdIsNRZEGUFH2iNbXeaba44,10185
7
+ edgefirst/validator/datasets/core.py,sha256=sgMeQ4005rZS6fJoghXIwJ8fEpGc-cvXqEy_Va7vo1A,8053
8
+ edgefirst/validator/datasets/darknet.py,sha256=fG4O3nN0Qif4Ut-XeR6awjpP-J8GdkXHWew8tdTJdp8,16662
9
+ edgefirst/validator/datasets/database.py,sha256=1R8rAoVP6ZyAecCLOFzoO24RglKq9FiuYf5ALdiY7pc,37812
10
+ edgefirst/validator/datasets/instance/__init__.py,sha256=u28K3u91yo8fxa1Ma8CM5nU5hfQlUmwbr3qZ4-GXokc,304
11
+ edgefirst/validator/datasets/instance/core.py,sha256=mtZSDLlGqQ_RpY7TUhzQws-p2TSWPfUvx4wsjFvBvGk,5437
12
+ edgefirst/validator/datasets/instance/detection.py,sha256=lG2tAzCP1UMTVS_x9WJjFTgJUIzFTeAsVARC-CAmsAM,4120
13
+ edgefirst/validator/datasets/instance/multitask.py,sha256=gF2sgROVlLq_zXODRMH0sb6jiSSxtQvMA4HDakNt04M,2303
14
+ edgefirst/validator/datasets/instance/segmentation.py,sha256=f7I9cE8Zl0d4ns0yuGVXT9GzmE-1rfT_Up7W4RBNS5o,3395
15
+ edgefirst/validator/datasets/utils/fetch.py,sha256=qbIxIBKKpQ7WqFXDHnqHQQuPd13Bgdpo34eTqfAdVxA,20756
16
+ edgefirst/validator/datasets/utils/readers.py,sha256=cZxabK9peOc-1GG80G2gQtw2g0LbJ9vfT6L4W-yka2U,12559
17
+ edgefirst/validator/datasets/utils/transformations.py,sha256=CCYIO-t7ddcWS9XzSstPNnaHQkr19ePR7nUcgplAQ9M,52871
18
+ edgefirst/validator/evaluators/__init__.py,sha256=wMSLIPqkxqXWN90ujVI6ksjWdhi1_U6RTp_esKrZ_CY,1237
19
+ edgefirst/validator/evaluators/core.py,sha256=de4a78th6zbWQzXOYzkuaLiTw4-LmhbaTv2kH7Phi0I,9495
20
+ edgefirst/validator/evaluators/detection.py,sha256=pA1GUNmzVkvu7CxzwX8GdpLtUVJULEbWEi5iZ1kTqnA,29009
21
+ edgefirst/validator/evaluators/multitask.py,sha256=semBAe2-blogniUryL1P5spZgIfClRTZl3xtKso6BXs,9600
22
+ edgefirst/validator/evaluators/segmentation.py,sha256=R6mnkVZ2Xp9lNiYBEv5ayrMSKgkvtW9jdjjHIkjlCYQ,28024
23
+ edgefirst/validator/evaluators/callbacks/__init__.py,sha256=QUsHamggz3rMSrocCCoh2FzhWnY4GwQTqYFxm5TX5to,230
24
+ edgefirst/validator/evaluators/callbacks/core.py,sha256=0SUU8DXuVPx2PxgPVCBMTDSkpcvbSapTUnOXwPb5KH8,5502
25
+ edgefirst/validator/evaluators/callbacks/plots.py,sha256=hh-qif0kEWHPWk5AWLjOQtSBuSto7_StcTJOuVgB8ls,30307
26
+ edgefirst/validator/evaluators/callbacks/studio.py,sha256=3uvaflexzDGde2IWi3kHFkWWd-P5Ofwb0SPcjjsBtNQ,8542
27
+ edgefirst/validator/evaluators/parameters/__init__.py,sha256=EAmhY0GFw9EVuroNwqxT9qovineEQUZGvLQD9NAX7V0,2018
28
+ edgefirst/validator/evaluators/parameters/core.py,sha256=3Caj4KH0GKV5tNhI_Ep22HwU1LwvVFTcpIMnmKOJLEg,15862
29
+ edgefirst/validator/evaluators/parameters/dataset.py,sha256=XzCyTYQ5pAynYPTicaYIm6ywZNJwi4lJcuPrx7Tx_AM,7193
30
+ edgefirst/validator/evaluators/parameters/model.py,sha256=plkTc-d6E6cLga7CPd6CDEc7npemz_I7C9aZyULcmbo,10147
31
+ edgefirst/validator/evaluators/parameters/validation.py,sha256=6Z3RmBsfBlCe7P0uBz69PbMydXhp15-tqyEKgvQDD2s,16065
32
+ edgefirst/validator/evaluators/utils/__init__.py,sha256=lLb9I9g9xQDwvJuljZRwEebfSL0Ofh8k2P3V0j5Gmt0,209
33
+ edgefirst/validator/evaluators/utils/classify.py,sha256=yk5hcn6wpv8nzrENt53FdLxgN_2u7HxG9VM9xiLMzMA,11079
34
+ edgefirst/validator/evaluators/utils/match.py,sha256=OeqX5zkcKrtmSmyLAYeRmQNHQuhfuohLHQSke26Wve8,9894
35
+ edgefirst/validator/evaluators/utils/timer.py,sha256=ccYX2-8rYHMUInkCC204oNYzHKdG3gwHXsbLPnGg-A8,3933
36
+ edgefirst/validator/metrics/__init__.py,sha256=vZqkpBTdlZb67GyUORF18eznKJIZJ5nOIPTg16epqiY,641
37
+ edgefirst/validator/metrics/detection.py,sha256=NmybFjlDbV8da8e20v2Kpew01ajYyHCkGi8-0qbd3go,21152
38
+ edgefirst/validator/metrics/segmentation.py,sha256=24frEvRiZeIGQjQ70hGdeghoKmNRkXfra_0piW4aGO8,6308
39
+ edgefirst/validator/metrics/data/__init__.py,sha256=ORuEMGbjNX25y1YcrTBWASn7rnehWULk9eMgKHxF20c,501
40
+ edgefirst/validator/metrics/data/label.py,sha256=ZSo5l8DAx_sjagHfGN56_lVT2sHhFlopfxhoHlGJjEk,19797
41
+ edgefirst/validator/metrics/data/metrics.py,sha256=JKPThCstxvmSwK0JudMP4100FpJVTb8tXgmaLInnznA,19405
42
+ edgefirst/validator/metrics/data/plots.py,sha256=R0AqMrOk0hjhBgSRXWACWB819OlpUGzfgHHSMQ8Ab5s,12592
43
+ edgefirst/validator/metrics/data/stats.py,sha256=0YynFm-EAdLHfTIgSMmP7nUVQ3uYd1051RRMIO9RR5M,14679
44
+ edgefirst/validator/metrics/utils/math.py,sha256=HRgnK9HlsrulRKuru3kHktv_jj3UyzoLfqlKRwiNCco,20741
45
+ edgefirst/validator/publishers/__init__.py,sha256=-EtPvbGaTIFi72dMHoJGn9rJUYIIQD-F2Eiuk5mctNc,210
46
+ edgefirst/validator/publishers/console.py,sha256=00lbVq6GyiOvRGXlqwpOmijO0-ku_KYIxa6dwNXmL7c,5452
47
+ edgefirst/validator/publishers/studio.py,sha256=Egg2BVPcUpueE5bC1aDzo4jEdlZoimqpE15HEoAylko,3829
48
+ edgefirst/validator/publishers/tensorboard.py,sha256=quJFbc6g1WoOmDx2Kj1Sa1C2d1tf0e1o0h2jbS_lL9o,3735
49
+ edgefirst/validator/publishers/utils/logger.py,sha256=pRbUFevBHf1Nh9U4jDcx4oMItc9b5QqoSahPmVxtNY4,2567
50
+ edgefirst/validator/publishers/utils/table.py,sha256=A-Cp3jNxPr8Z4zFHo14KK0DynWelY7WWEUnjx6T6lQA,22117
51
+ edgefirst/validator/runners/__init__.py,sha256=L904l6x3c8_dYpq9XIQWGeTN1zf4AX4mkMyenHErEXM,480
52
+ edgefirst/validator/runners/core.py,sha256=bb1Ieo7Zi7SoiIzhxG8qZ-vacSucESbH1zpplMKGTBI,29582
53
+ edgefirst/validator/runners/deepviewrt.py,sha256=0sGUpj8eJgRyySSMZmh4n-095f2TDcjpQhjIgPhscZ0,5832
54
+ edgefirst/validator/runners/hailo.py,sha256=CXQ-eTiyZ41jbLpOHrjep6XTBgLSvLWdtFLgIyt-DoM,9285
55
+ edgefirst/validator/runners/keras.py,sha256=qiAlt1C5UctnkbdVp3oyBETamAlFd8pwxhg6HqrmPP4,4814
56
+ edgefirst/validator/runners/kinara.py,sha256=577Kjdx-aZYMUDX5OoVy-aKsQunONuDIGRM2-PTFJ2k,8294
57
+ edgefirst/validator/runners/offline.py,sha256=8rZgwBsQq8sl4y3v6zsykWhpMMeNrgDcNRFW5zoQ3mc,9523
58
+ edgefirst/validator/runners/onnx.py,sha256=6m01axn0C26gfgDcdvz1otPQjGrY_EeAOuMrJaJnIIQ,8939
59
+ edgefirst/validator/runners/tensorrt.py,sha256=QLzT-bjOWm9lTVQ-PFa6ExPsovTVZjd-zBZpzp-mR5U,10865
60
+ edgefirst/validator/runners/tflite.py,sha256=_CUPKVFgvvS4dn68jFm0L4BM4gKOlLr4Vpa38mp_25s,8004
61
+ edgefirst/validator/runners/processing/decode.py,sha256=kUqMq87eFjWT_3wemhLC2ZjhtUyChvTyJvxn1Kar90w,9380
62
+ edgefirst/validator/runners/processing/dvapi.py,sha256=gRQKTI7Wd_0OL3EORDVNBXEyHdsh7aWejqg2XONC3Fw,144938
63
+ edgefirst/validator/runners/processing/nms.py,sha256=mcfhYEQ9hhpy6VbGQDm_9VOGonuBDzwRhZI2MSjV3kU,20994
64
+ edgefirst/validator/runners/processing/outputs.py,sha256=-dAxgCywxR2c7FLPJUnL1lrSMqVPFvQ1kI55DOWpw64,20112
65
+ edgefirst/validator/visualize/__init__.py,sha256=wwOcq-gQgN10U0FvDFZ7wjtOedWZCCYqZglRpJLV0QE,204
66
+ edgefirst/validator/visualize/detection.py,sha256=dgiziKGaUiljRO2Dg-r7LmXGPW0k73kKvuTSyHEhkdc,21774
67
+ edgefirst/validator/visualize/segmentation.py,sha256=JpFJGNO8VwwJiGG8cecPu0cx3XxzKRhYNOtSvPYb2XM,9233
68
+ edgefirst/validator/visualize/utils/plots.py,sha256=dSR3GEHWDo7l4vFVzHNKr3QRHSljCoH6eFMqOSifJb8,21356
69
+ edgefirst_validator-4.2.1.dist-info/METADATA,sha256=Wlow_nuE-jxvqNytcR4KlYcS-8aDgkWWuEUbWz_8mhM,3537
70
+ edgefirst_validator-4.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
+ edgefirst_validator-4.2.1.dist-info/entry_points.txt,sha256=CeUaweeNVLWy2JbzipvRmSpD1LZa1OcBLGTboTSbuI0,74
72
+ edgefirst_validator-4.2.1.dist-info/top_level.txt,sha256=ds-zTHD47a9Oa_hsw-iiZiHFAgVeoHzqT0FI52Dp67M,19
73
+ edgefirst_validator-4.2.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ edgefirst-validator = edgefirst.validator.__main__:main
@@ -0,0 +1,2 @@
1
+ deepview
2
+ edgefirst