{"id":379214,"date":"2024-06-19T21:00:22","date_gmt":"2024-06-19T21:00:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=379214"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=379214","title":{"rendered":"<span>\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 YOLOv8<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0451\u0442 \u043e \u0437\u0430\u043c\u0435\u0440\u0430\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <strong>YOLOv8<\/strong> \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u0431\u0435\u0437 \u043d\u0438\u0445. \u0411\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0435\u043b\u0435\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0435 Yolo \u043d\u0430 \u201c<em>\u0441\u043b\u0430\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445<\/em>\u201d, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a <strong>Raspberry PI<\/strong>, <strong>Orange PI<\/strong>, <strong>Jetson Nano<\/strong>, <strong>\u043c\u0438\u043d\u0438 \u041f\u041a<\/strong>.\u00a0<\/p>\n<details class=\"spoiler\">\n<summary>\u0427\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0430:<\/summary>\n<div class=\"spoiler__content\">\n<p><em>\u041f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u043a\u0442\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432 \u0431\u044b\u043b \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445.<\/em><\/p>\n<\/div>\n<\/details>\n<p>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 &#171;\u043d\u0430 \u0431\u043e\u0440\u0442\u0443&#187;, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0412\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u0447\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0433\u043e \u0437\u0440\u0435\u043d\u0438\u044f \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0440\u043e\u0431\u043e\u0442\u0430\u0445. \u0411\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e FPS \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439\u00a0 <strong>>= 10<\/strong> \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445.<\/p>\n<p>\u0412 <a href=\"http:\/\/github.com\/ret7020\/YoloBenchmarks\" rel=\"noopener noreferrer nofollow\"><u>GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/u><\/a> \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043a\u043e\u0434 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430, \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 csv \u0444\u0430\u0439\u043b\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0432\u0435\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043d\u0430 <a href=\"https:\/\/drive.google.com\/drive\/folders\/1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd?usp=drive_link\" rel=\"noopener noreferrer nofollow\">\u0413\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435<\/a> \u0438 <a href=\"https:\/\/drive.google.com\/drive\/folders\/1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd?usp=drive_link\" rel=\"noopener noreferrer nofollow\">\u0412\u0442\u043e\u0440\u043e\u0439 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a<\/a>.<\/p>\n<h2>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<ul>\n<li>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/p>\n<ul>\n<li>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Yolo \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445<\/p>\n<ul>\n<li>\n<p>Intel I7-12700H &#8212; \u0432 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435<\/p>\n<\/li>\n<li>\n<p>N100 &#8212; \u041c\u0438\u043d\u0438 \u041f\u041a<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 \u0431\u0430\u0437\u043e\u0432\u0430\u044f<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 2.3 Ghz<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1 GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0431\u0430\u0437\u043e\u0432\u043e\u043c\u0443 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>Fine-Tuned Yolo \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 2.3Ghz<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e Fine-Tuned \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>ONNX<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100 &#8212; \u041c\u0438\u043d\u0438 \u041f\u041a<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 2.3Ghz<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 \u0431\u0430\u0437\u043e\u0432\u0430\u044f<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 ONNX<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>OpenVINO &#8212; \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f Intel<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>NCNN<\/p>\n<ul>\n<li>\n<p>Intel i7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<li>\n<p>Raspberry PI<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>TfLite \u0438 Deepsparse<\/p>\n<\/li>\n<li>\n<p>Nvidia Jetson Nano<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0432\u044b\u0431\u043e\u0440\u0443 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0436\u0435\u043b\u0435\u0437\u0430<\/p>\n<\/li>\n<\/ul>\n<h2>\u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/h2>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 5 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 60 \u043c\u043e\u0434\u0435\u043b\u044f\u0445. \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.\u00a0<\/p>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0435\u0439. \u0421\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e. \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0438\u0445 \u0438, \u043f\u0440\u043e\u0432\u0435\u0434\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f):<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/ret7020\/YoloBenchmarks cd YoloBenchmarks\/server python3 server.py<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import socket from time import sleep from threading import Thread from config import * from socket_utils import * from os import path, makedirs import csv  ip = \"0.0.0.0\" port = 8001  makedirs(python_files_path, exist_ok=True) makedirs(video_path, exist_ok=True) makedirs(model_path, exist_ok=True) makedirs(analytics_path, exist_ok=True) headers_writen = []   def csv_benchmark(path, results):     with open(path, 'a', newline='') as csvfile:         writer = csv.DictWriter(csvfile, fieldnames=CSV_HEADER)         for model in results:             res = results[model]             print(res)             writer.writerow({'model': model} | res)   def process_client(conn, addr):     global analytics_path, headers_writen     print(\"Connect from\", addr)     while True:         recv = receive_json(conn)         if recv[\"type\"] == \"ask_files\":             print(addr, f\"asked file {recv['filename']} from group {recv['ftype']}\")             file_name = recv[\"filename\"]             if recv[\"ftype\"] == \"py\":                 send_file(conn, path.join(python_files_path, file_name))             elif recv[\"ftype\"] == \"video\":                 send_file(conn, path.join(video_path, file_name))             elif recv[\"ftype\"] == \"model\":                 send_file(conn, path.join(model_path, file_name))         elif recv[\"type\"] == \"get_models\":             send_json(conn, models)         elif recv[\"type\"] == \"get_videos\":             print(addr, \"asked videos\")             send_json(conn, videos)         elif recv[\"type\"] == \"send_stats\":             print(\"Results from\", addr)             if not recv[\"save_name\"] in headers_writen:                 with open(path.join(analytics_path, recv[\"save_name\"]), 'w', newline='') as csvfile:                     writer = csv.DictWriter(csvfile, fieldnames=CSV_HEADER)                     writer.writeheader()                 headers_writen.append(recv[\"save_name\"])              csv_benchmark(path.join(analytics_path, recv[\"save_name\"]), recv[\"results\"])   if __name__ == \"__main__\":     print(f\"Run on {ip}:{port}\")     sock = socket.socket()     sock.bind((ip, port))     sock.listen(1)      while True:         conn, addr = sock.accept()         t = Thread(target=process_client, args=(conn, addr))         t.start()<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/config.py\" rel=\"noopener noreferrer nofollow\">config.py<\/a>:<\/p>\n<pre><code class=\"python\">models = { \"base\": [ (\"yolov8n.pt\", \"12qTtp-hjls6N0UMLbkurzxHzuhpWxqWt\", False),     (\"yolov8s.pt\", \"1ga8jan6BvP8Pbmphx9HHBvby96jQgjHS\", False),     (\"yolov8m.pt\", \"1r0ph4mbFsiuuRDxJHAj3di9TFnzCXbUq\", False),     (\"yolov8l.pt\", \"1f1SlM01l3EWvpH66fEqyrdsEe1F5PdFT\", False),     (\"yolov8x.pt\", \"1stXAXeDSgaMFv8AkZwtiw5RXvInd74tQ\", False) ] } videos = [  (\"cubes.mp4\", \"1t1zOk8CPQGFdpRl7l3gJthydGOqDbRVI\") ]  video_path = \"files\/videos\" model_path = \"files\/models\" python_files_path = \"files\/py\" analytics_path = \"files\/analytics\"  CSV_HEADER = ['model', 'runtime', 'inference_time_1', 'fps', 'inference_time', 'device', 'half', 'int8', 'map50', 'map75', 'warmup_max_inf_time', 'warmup_min_inf_time', 'inference_time_max', 'inference_time_min'] <\/code><\/pre>\n<p><strong>models<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0438 &#8212; \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u0440\u0442\u0435\u0436\u0435\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430:<\/p>\n<pre><code class=\"python\">[ (\u201c\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\u201d, \u201cID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\u201d, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0442),     (\u201c\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\u201d, \u201cID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\u201d, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0442) ]<\/code><\/pre>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>OpenVINO<\/strong> \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 <strong>Intel<\/strong>). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435\u00a0 \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430  \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<p><strong>videos<\/strong> &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430, \u0438\u043c\u0435\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442:<\/p>\n<pre><code class=\"python\"> (\"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430\", \"ID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\")<\/code><\/pre>\n<p><strong>analytics_path<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432, \u0435\u0441\u043b\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0442, \u0442\u043e \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p>\u0412 <strong>CSV_HEADER<\/strong> \u043c\u0435\u043d\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043b\u043e\u043d\u043e\u043a.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/881\/45c\/189\/88145c189c1feb97ca37879f92224541.png\" alt=\"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\" title=\"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\" width=\"894\" height=\"526\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/881\/45c\/189\/88145c189c1feb97ca37879f92224541.png\"\/><\/p>\n<div><figcaption>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f):<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/ret7020\/YoloBenchmarks cd YoloBenchmarks python3 remote_run.py<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0432\u0435\u0441\u0442\u0438 <strong>ip \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/strong>, <strong>\u043f\u043e\u0440\u0442<\/strong> (\u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>8001<\/strong>), <strong>\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/strong> (\u043e\u0442 \u043d\u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0441 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u043c).<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043a\u0430\u0447\u0430\u0435\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442 \u043a \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0443.<\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0432\u0438\u0434\u0435\u043e \u0444\u0430\u0439\u043b\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <strong>gdown<\/strong>, \u0438\u043c\u0435\u044e\u0449\u0443\u044e API \u043f\u043e\u0434 Python. \u0413\u0443\u0433\u043b \u0434\u0438\u0441\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b \u0432\u0435\u0441\u043e\u0432, \u043d\u043e \u0438 \u043c\u0435\u0442\u0430\u0444\u0430\u0439\u043b\u044b, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u0435 \u0432 \u043e\u0434\u043d\u0443 \u043f\u0430\u043f\u043a\u0443. <\/p>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f gdown \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 <strong>\u201c\u0414\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435\u201d<\/strong>. ID \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p>https:\/\/drive.google.com\/file\/d\/<strong>14DixrZ9Pcl_JpGzpB2U66YDwS4v9hHdS<\/strong>\/view?usp=sharing<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 Python:<\/p>\n<pre><code class=\"python\">import gdown  # \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 FILE_ID = \"14DixrZ9Pcl_JpGzpB2U66YDwS4v9hHdS\" # ID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435 SAVE_TO = \u201copen_me.png\u201d # \u043a\u0443\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c gdown.download(id=FILE_ID, output=SAVE_TO)  # \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 DIR_ID= \"1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd\" # id \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435 SAVE_TO = \u201cdir\u201d # \u043a\u0443\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c gdown.download_folder(id=DIR_ID, output=SAVE_TO)<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 10 \u043a\u0430\u0434\u0440\u043e\u0432 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f &#171;\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430&#187; \u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0439 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u043f\u0435\u0440\u0432\u044b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0430\u0447 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435. \u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f &#171;\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430&#187;, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u0440\u0430\u0431\u043e\u0442\u0435, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0446\u0438\u043a\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 200 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043a\u0430\u0434\u0440\u043e\u0432 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0442\u0438 200 \u043a\u0430\u0434\u0440\u043e\u0432 \u0431\u0443\u0434\u0443\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u043f\u043e\u0437\u0436\u0435).<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u0430\u0434\u0440 \u0441\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f 640&#215;640 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u0434\u0435\u043b\u044c, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 200 \u043a\u0430\u0434\u0440\u043e\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043c\u0435\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 <strong>coco8<\/strong> (\u043f\u0435\u0440\u0432\u044b\u0435 8 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438\u0437 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u044b \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Yolo). \u041d\u043e <strong>8 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/strong> \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 (\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 <strong>mAP50<\/strong>, <strong>mAP75<\/strong> \u0431\u044b\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 <strong>coco128<\/strong> \u043d\u0430 Google Colab. \u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0440\u0430 mAP \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/utils\/get_128_mAP.py\" rel=\"noopener noreferrer nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p><strong>mAP<\/strong> (mean average precision) &#8212; \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 object detection, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0430\u043c\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>mAP<\/strong>, \u0430 \u0442\u043e \u043a\u0430\u043a \u0441\u0438\u043b\u044c\u043d\u043e mAP \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 <strong>\u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0431\u0430\u0437\u043e\u0432\u043e\u0439<\/strong>.\u00a0<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">def bench_model(model, video, args):     inference_times = []     is_half = True if \"half\" in args else False     is_int8 = True if \"int8\" in args else False     optimize = False if \"ncnn\" in args else True  # NCNN models can't work with optimize flag     runtime = args[1] if len(args) > 1 else \"BASE\"      capture = cv2.VideoCapture(video)      # Warmup model before benched inference (anyway on test images set, not camera)     warmup_times = []     print(colored(f\"Testing model: {model.ckpt_path} with video: {video}\", \"green\"))     for _ in range(10):         _, frame = capture.read()         res = model.predict(frame, task=TASK, verbose=False, half=is_half, int8=is_int8, optimize=optimize, save=False, visualize=False)         warmup_times.append(res[0].speed[\"inference\"])     print(colored(f\"Warmup finished\", \"green\"))      frames_cnt = 0     progress_bar = iter(tqdm(range(200)))     while capture.isOpened():         ret, frame = capture.read()         if ret and frames_cnt &lt; 200:             frame = cv2.resize(frame, (640, 640))             res = model.predict(frame, task=TASK, verbose=False, half=is_half, int8=is_int8, optimize=optimize, save=False, visualize=False)             inference_times.append(res[0].speed[\"inference\"])             frames_cnt += 1             next(progress_bar)         else:             capture.release()     print(colored(f\"Benchmark finished\", \"yellow\"))       if VALIDATE:         metrics = model.val(data=VALIDATE_CONFIG, verbose=False)         map50 = metrics.box.map50         map75 = metrics.box.map75     else:         map50 = None         map75 = None     print(colored(f\"Model validated on {VALIDATE_CONFIG}\", \"yellow\"))     return {         \"inference_time\": sum(inference_times) \/ (len(inference_times)),  # ms         \"inference_time_1\": round(sum(inference_times) \/ (len(inference_times)), 1),  # ms 1 digit         \"inference_time_min\": min(inference_times),         \"inference_time_max\": max(inference_times),         \"fps\": round(1000 \/ (sum(inference_times) \/ (len(inference_times))), 1),  # fps 1 digit         \"half\": int(is_half),         \"int8\": int(is_int8),         \"runtime\": runtime,         \"map50\": map50,         \"map75\": map75,         \"device\": \"cpu\",  # TODO selectable device         \"warmup_min_inf_time\": min(warmup_times),         \"warmup_max_inf_time\": max(warmup_times)     }   def benchmark(models, images, repeat_coeff=5, save_callback=lambda x: None):     print(         f\"Testing models: {len(models)}\\nUniq images: {colored(len(images), 'green')}\\nInferences count: {colored(str(len(models) * repeat_coeff * len(images)), 'yellow')}\")     results = {}     for model in tqdm(models):         args = model[1:] if len(model) > 1 else []         model = YOLO(model[0])         results[model.ckpt_path] = bench_model(model, args, images, repeat_coeff=2)         save_callback(results[model.ckpt_path])          # Clean system after inference         del model         torch.cuda.empty_cache()         gc.collect()      return results<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a mAP<\/h2>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0430 mAP (mean Average precision) \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 IoU, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e bounding box\u2019\u0430 \u043e\u0442 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0433\u043e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bc1\/c19\/578\/bc1c1957801291fbb9a9320355c0fbd6.png\" alt=\"\u041c\u0435\u0442\u0440\u0438\u043a\u0430 IoU\" title=\"\u041c\u0435\u0442\u0440\u0438\u043a\u0430 IoU\" width=\"1024\" height=\"781\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bc1\/c19\/578\/bc1c1957801291fbb9a9320355c0fbd6.png\"\/><\/p>\n<div><figcaption>\u041c\u0435\u0442\u0440\u0438\u043a\u0430 IoU<\/figcaption><\/div>\n<\/figure>\n<p><strong>mAP<\/strong> \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 IoU \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0442\u0440\u0435\u0448\u0445\u043e\u043b\u0434\u043e\u043c \u043d\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435.<br \/><strong>mAP50<\/strong> &#8212; \u0442\u0440\u0435\u0448\u0445\u043e\u043b\u0434 \u043f\u043e IoU 0.5 (50%)<br \/><strong>mAP75<\/strong> &#8212; \u0442\u0440\u0435\u0448\u0445\u043e\u043b\u0434 \u043f\u043e IoU 0.75 (75%)<\/p>\n<h3>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Yolov8 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445<\/h3>\n<p>\u0412\u0441\u0435 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<h4>Intel I7-12700H &#8212; \u0432 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435<\/h4>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 <strong>\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p> Alder Lake (<strong>12 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435<\/strong>)<\/p>\n<\/li>\n<li>\n<p> \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044f\u0434\u0435\u0440: <strong>14<\/strong><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432: <strong>20<\/strong><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430: <strong>4.7 \u0413\u0433\u0446<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 <strong>\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/strong>:<\/p>\n<ul>\n<li>\n<p>OS: <strong>Arch Linux<\/strong><\/p>\n<\/li>\n<li>\n<p>RAM: <strong>16 Gb<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>python: <strong>3.11.6<\/strong><\/p>\n<\/li>\n<li>\n<p>ultralytics: <strong>8.2.28<\/strong><\/p>\n<\/li>\n<li>\n<p>torch: <strong>2.1.2<\/strong><\/p>\n<\/li>\n<li>\n<p>torchvision: <strong>0.16.2<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ac\/6f5\/c4f\/6ac6f5c4fe2faa0d787a8f9d28c778ec.png\" alt=\"\u0422\u044f\u0436\u0435\u043b\u0435\u0435 \u043c\u043e\u0434\u0435\u043b\u044c - \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u0434\u043e\u043b\u044c\u0448\u0435\" title=\"\u0422\u044f\u0436\u0435\u043b\u0435\u0435 \u043c\u043e\u0434\u0435\u043b\u044c - \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u0434\u043e\u043b\u044c\u0448\u0435\" width=\"1600\" height=\"909\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6ac\/6f5\/c4f\/6ac6f5c4fe2faa0d787a8f9d28c778ec.png\"\/><\/p>\n<div><figcaption>\u0422\u044f\u0436\u0435\u043b\u0435\u0435 \u043c\u043e\u0434\u0435\u043b\u044c &#8212; \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u0434\u043e\u043b\u044c\u0448\u0435<\/figcaption><\/div>\n<\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>FPS<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP50<\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP75<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>max FPS<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>min FPS<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0432\u0435\u0441 \u043c\u0431<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>103.6<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>9.7<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.607<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.476<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>10.78<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>7.2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">6.2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>332<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>3<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.760<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.638<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>3.1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>2.73<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">21.5<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>834<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>1.2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.784<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.652<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>1.53<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.8<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">49.7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8l.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>1652.1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.6<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.828<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.706<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.61<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.59<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">83.7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8x.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>3065<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.3<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.829<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.707<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.4<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.23<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">130.5<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0441\u0442\u043e\u043b\u0431\u0446\u044b (FPS, max FPS, min FPS), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.\u00a0<\/p>\n<p>\u0421 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u0432\u0441\u0451 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e. \u0411\u0443\u043a\u0432\u0430 \u043f\u043e\u0441\u043b\u0435 yolov8 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u043e\u0434\u0435\u043b\u0438: <strong>nano, small, medium, large, x<\/strong>. \u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u043e\u0434\u0435\u043b\u044c, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0435\u0451 \u0432\u0435\u0441 \u0438 fps \u043d\u0438\u0436\u0435. mAP \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0448\u0435 \u0443 \u0431\u043e\u043b\u0435\u0435 \u0442\u044f\u0436\u0451\u043b\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0421\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e FPS X \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0432 2 \u0440\u0430\u0437\u0430 \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0443 L \u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c <strong>mAP50<\/strong> \u0438 <strong>mAP75<\/strong> \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435. \u042d\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442 \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 ultralytics:\u00a0<\/p>\n<ul>\n<li>\n<p>mAP50-95 \u0443 L \u043c\u043e\u0434\u0435\u043b\u0438: 52.9<\/p>\n<\/li>\n<li>\n<p>mAP50-95 \u0443 X \u043c\u043e\u0434\u0435\u043b\u0438: 53.9<\/p>\n<\/li>\n<\/ul>\n<h4>N100 &#8212; \u041c\u0438\u043d\u0438 \u041f\u041a\u00a0<\/h4>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 <strong>\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p> Alder Lake (<strong>12 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435<\/strong>)<\/p>\n<\/li>\n<li>\n<p> \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044f\u0434\u0435\u0440: <strong>4<\/strong><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432: <strong>4<\/strong><\/p>\n<\/li>\n<li>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430: <strong>3.4 \u0413\u0433\u0446<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 <strong>\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/strong>:<\/p>\n<ul>\n<li>\n<p>OS: <strong>Ubuntu 22.04 Server<\/strong><\/p>\n<\/li>\n<li>\n<p>RAM: <strong>16 Gb<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>python: <strong>3.10.12<\/strong><\/p>\n<\/li>\n<li>\n<p>ultralytics: <strong>8.2.28<\/strong><\/p>\n<\/li>\n<li>\n<p>torch: <strong>2.3.0<\/strong><\/p>\n<\/li>\n<li>\n<p>torchvision: <strong>0.1<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/feb\/d0f\/788\/febd0f788d6e0d0df96f9558950094b3.png\" width=\"602\" height=\"341\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/feb\/d0f\/788\/febd0f788d6e0d0df96f9558950094b3.png\"\/><\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">249.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">4<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.02<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.72<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">714.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.39<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">1832.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.55<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.54<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8l.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">3635.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.28<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.27<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8x.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">5592.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.18<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.18<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>Raspberry Pi 4<\/h4>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b:<br \/>\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435, \u0430\u043b\u044e\u043c\u0438\u043d\u0438\u0435\u0432\u044b\u0439 \u043a\u043e\u0440\u043f\u0443\u0441, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435.<\/p>\n<ul>\n<li>\n<p>OS: <strong>Ubuntu 22.04 Server<\/strong><\/p>\n<\/li>\n<li>\n<p>RAM: <strong>8 Gb<\/strong><\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>python: <strong>3.10.12<\/strong><\/p>\n<\/li>\n<li>\n<p>ultralytics: <strong>8.2.28<\/strong><\/p>\n<\/li>\n<li>\n<p>torch: <strong>2.3.0<\/strong><\/p>\n<\/li>\n<li>\n<p>torchvision: <strong>0.18.0<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u044b \u043d\u0435 \u0441\u0442\u0430\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u0430\u043a \u043a\u0430\u043a FPS \u0434\u0430\u0436\u0435 \u043d\u0430 <strong>yolov8m<\/strong> \u0431\u044b\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043d\u0438\u0437\u043a\u0438\u043c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/430\/c32\/710\/430c327100081c71381880b621fb01a0.png\" width=\"1600\" height=\"954\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/430\/c32\/710\/430c327100081c71381880b621fb01a0.png\"\/><\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">2001<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.50<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.48<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">4999<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.202<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.191<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">10832.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.08<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.07<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>Raspberry Pi 4 2.3Ghz<\/h4>\n<p><strong>2.3Ghz<\/strong> &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0433\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 Raspberry PI \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0438 \u043e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: <br \/>\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435, \u0430\u043b\u044e\u043c\u0438\u043d\u0438\u0435\u0432\u044b\u0439 \u043a\u043e\u0440\u043f\u0443\u0441, <em>\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043d\u0430 3A<\/em><\/p>\n<ul>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>python: <strong>3.10.12<\/strong><\/p>\n<\/li>\n<li>\n<p>ultralytics: <strong>8.2.28<\/strong><\/p>\n<\/li>\n<li>\n<p>torch: <strong>2.3.0<\/strong><\/p>\n<\/li>\n<li>\n<p>torchvision: <strong>0.18.0<\/strong><\/p>\n<\/li>\n<li>\n<p>ncnn: <strong>1.0.20240410<\/strong><\/p>\n<\/li>\n<li>\n<p>onnxruntime: <strong>1.18.0<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5cb\/224\/2a5\/5cb2242a55bf526edb7133315db0997e.png\" width=\"1600\" height=\"954\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5cb\/224\/2a5\/5cb2242a55bf526edb7133315db0997e.png\"\/><\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">1876<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.542<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.523<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">4771.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.213<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.205<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">11569.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.08<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 FPS \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u043d\u043d\u043e\u0439 Raspberry PI \u043d\u0435\u0442.<\/p>\n<h4>OrangePI Zero 1Gb RAM<\/h4>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8af\/ad9\/9ca\/8afad99ca052e1fcb72ba7655109bdd7.png\" width=\"1600\" height=\"794\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8af\/ad9\/9ca\/8afad99ca052e1fcb72ba7655109bdd7.png\"\/><\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">4229.9<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.239<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.234<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">714.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.079<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.078<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>FPS \u0435\u0449\u0451 \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u043d\u0430 Raspberry PI<\/strong><\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0431\u0430\u0437\u043e\u0432\u043e\u043c\u0443 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/115\/3fa\/c15\/1153fac159b8021d6395b992dfa66fb5.png\" width=\"1600\" height=\"1217\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/115\/3fa\/c15\/1153fac159b8021d6395b992dfa66fb5.png\"\/><\/figure>\n<p><strong>Yolov8n<\/strong> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 ~ <strong>\u0432 2 \u0440\u0430\u0437\u0430<\/strong> \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0431\u043e\u043b\u0435\u0435 \u0442\u044f\u0436\u0451\u043b\u043e\u0439 <strong>yolov8s<\/strong>. \u041d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0437\u0430\u043f\u0443\u0441\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0442\u044f\u0436\u0435\u043b\u0435\u0435 yolov8n \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u044e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h2>Fine-Tuned Yolo \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435<\/h2>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0442 <strong>ultralytics<\/strong>, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 COCO, \u043c\u044b \u0438\u0437\u043c\u0435\u0440\u0438\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0435\u0441\u043e\u0432 <strong>yolov8n<\/strong>. \u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 3 \u043a\u043b\u0430\u0441\u0441\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0442\u0440\u0451\u043c \u0446\u0432\u0435\u0442\u0430\u043c \u043a\u0443\u0431\u0438\u043a\u043e\u0432:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/fc3\/9b5\/9d8\/fc39b59d8dc7bf30584c5756f3e07f29.jpeg\" alt=\"\u0412\u0441\u0435 \u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\" title=\"\u0412\u0441\u0435 \u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\" width=\"640\" height=\"640\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc3\/9b5\/9d8\/fc39b59d8dc7bf30584c5756f3e07f29.jpeg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>\u0412\u0441\u0435 \u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430<\/figcaption><\/div>\n<\/figure>\n<h4>I7-12700H<\/h4>\n<p>\u0417\u0430 <strong>base.pt<\/strong> \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u0435\u0437 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u0432 \u0438 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0439.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP50<\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP75<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>base.pt<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">11.5<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.799<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.724<\/p>\n<\/td>\n<td>\n<p align=\"left\">12.55<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.92<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>FPS \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 <strong>yolov8n<\/strong> \u043d\u0430 <strong>18.5%<\/strong><\/p>\n<h4>N100<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>base.pt<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">4.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.308<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.048<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>FPS \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 <strong>yolov8n<\/strong> \u043d\u0430 <strong>5%<\/strong><\/p>\n<h4>Raspberry PI 4 2.3Ghz<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>base.pt<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.58<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>FPS \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 <strong>yolov8n<\/strong> \u043d\u0430 <strong>20%<\/strong><\/p>\n<h4>OrangePI Zero 1GB RAM<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><strong>base.pt<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">0.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.26<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e Fine-Tuned \u043c\u043e\u0434\u0435\u043b\u0438<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fd8\/f99\/0d4\/fd8f990d41061279fde570209940daa0.png\" width=\"1600\" height=\"954\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fd8\/f99\/0d4\/fd8f990d41061279fde570209940daa0.png\"\/><\/figure>\n<p>\u041e\u0431\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 <strong>yolov8n<\/strong> \u043d\u0430 <strong>~20%<\/strong>. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 <strong>Yolov8<\/strong> \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0451 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n<pre><code class=\"python\">from ultralytics import YOLO def cnt_params(model): p_cnt = 0 for p in list(model.model.parameters()):     nn = 1     for s in list(p.size()):         nn = nn * s     p_cnt += nn return p_cnt  if __name__ == \"__main__\":   m = YOLO(\"yolov8n.pt\")   print(cnt_params(m))<\/code><\/pre>\n<p>\u0412 yolov8n \u043c\u043e\u0434\u0435\u043b\u0438 <strong>3157200<\/strong> \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0430 \u0432 \u0434\u043e\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u043e\u0439 <strong>3011628<\/strong> (\u043d\u0430 <strong>4.8%<\/strong> \u043c\u0435\u043d\u044c\u0448\u0435).<\/p>\n<h2>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438<\/h2>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 <strong>\u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432<\/strong> (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u0435\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c) \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 Python (<a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/utils\/singe_vs_many.py\" rel=\"noopener noreferrer nofollow\">\u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435<\/a>):<\/p>\n<details class=\"spoiler\">\n<summary>Hidden text<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">from ultralytics import YOLO import cv2 import gc import torch  times = [] MANY_CARS = [\".\/assets\/images\/cars_many.jpg\",          \".\/assets\/images\/cars_many_1.jpg\",          \".\/assets\/images\/cars_many_2.jpg\",          \".\/assets\/images\/cars_many_3.jpg\"]  SINGLE_CAR = [\".\/assets\/images\/single_car.jpg\",           \".\/assets\/images\/single_car_1.jpg\",           \".\/assets\/images\/single_car_2.jpg\",           \".\/assets\/images\/single_car_3.jpg\"]  MODELS = [\"yolov8n.pt\", \"yolov8s.pt\", \"yolov8m.pt\", \"yolov8l.pt\", \"yolov8x.pt\"] PER_IMG_INF_CNT = 100  for model in MODELS: print(\"-\" * 5 + model + \"-\" * 5) torch.cuda.empty_cache() gc.collect() m = YOLO(model)       print(\"Warmup...\") for _ in range(15): m(\".\/assets\/images\/bus.jpg\", save=False, verbose=False, visualize=False)   print(\"Test...\") for img in MANY_CARS:     times += [m(cv2.resize(cv2.imread(img), (640, 640)))[0].speed['inference'] for _ in range(PER_IMG_INF_CNT)]  print(1000 \/ (sum(times) \/ len(times)), 1000 \/ max(times), 1000 \/ min(times))  times = [] torch.cuda.empty_cache() del m gc.collect() m = YOLO(model)      print(\"Warmup...\") for _ in range(15): m(\".\/assets\/images\/bus.jpg\", save=False, verbose=False, visualize=False)  print(\"Test single cars...\") for img in SINGLE_CAR:     times += [m(cv2.resize(cv2.imread(img), (640, 640)))[0].speed['inference'] for _ in range(PER_IMG_INF_CNT)]  print(1000 \/ (sum(times) \/ len(times)), 1000 \/ max(times), 1000 \/ min(times)) del m <\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043d\u0430 <strong>4 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445<\/strong>, \u0433\u0434\u0435 \u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0448\u0438\u043d \u0438 \u043d\u0430 <strong>4 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445<\/strong>, \u0433\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/08b\/68f\/608\/08b68f608d37da25496492d1fc678bce.jpeg\" width=\"1000\" height=\"664\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/08b\/68f\/608\/08b68f608d37da25496492d1fc678bce.jpeg\" data-blurred=\"true\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/bb6\/575\/d11\/bb6575d119f42f80c730c2bbe21a7115.jpeg\" width=\"800\" height=\"480\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bb6\/575\/d11\/bb6575d119f42f80c730c2bbe21a7115.jpeg\" data-blurred=\"true\"\/><\/figure>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 <strong>15 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u043e\u0432<\/strong> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u201c\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430\u201d. \u0417\u0430\u0442\u0435\u043c \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 8 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a(4 \u0438 4) \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 <strong>100\u00a0\u0440\u0430\u0437<\/strong> \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 FPS. \u041f\u043e\u0441\u043b\u0435 \u0442\u0435\u0441\u0442\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0430\u0448\u0438\u043d \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0438\u0441\u0442\u0438\u0442\u0441\u044f \u043a\u044d\u0448 CUDA, \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043c\u0443\u0441\u043e\u0440 \u0447\u0435\u0440\u0435\u0437 gc.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 <strong>Google Colab \u0441 GPU T4<\/strong><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d09\/0a1\/8dd\/d090a18dddefb5fb2da1ddac156f3b76.png\" width=\"595\" height=\"351\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d09\/0a1\/8dd\/d090a18dddefb5fb2da1ddac156f3b76.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b71\/6fc\/28a\/b716fc28af820a456f835c83f0fde79a.png\" width=\"1600\" height=\"1054\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b71\/6fc\/28a\/b716fc28af820a456f835c83f0fde79a.png\"\/><\/figure>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043d\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c\u0438. N \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0430. \u041d\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435, \u0431\u043e\u043b\u0435\u0435 \u0442\u044f\u0436\u0451\u043b\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043c\u0430\u0448\u0438\u043d. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 <strong>Intel I7-12700H<\/strong> \u043f\u043e\u0445\u043e\u0436\u0438 \u043f\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e (\u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e FPS \u043d\u0438\u0436\u0435).<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u0430\u043a\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Yolo \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0443 N \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u043b\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043e\u043d\u0430 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043f\u043e\u0434 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u0438\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0432\u0435\u0440\u0445\u044d\u0434\u043e\u043c \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438.<\/p>\n<\/div>\n<\/details>\n<h2>\u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u043c\u043e\u0434\u0435\u043b\u0438<\/h2>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u043e \u0432\u0441\u0435 \u043e\u043d\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u0434 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u041e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u0435\u0442 \u0443\u0445\u0443\u0434\u0448\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0451 \u0440\u0430\u0431\u043e\u0442\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0440\u043e\u043c\u0435 \u0437\u0430\u043c\u0435\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0435\u0451 mAP \u0434\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435.<\/p>\n<h4>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 YOLO<\/h4>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0447\u0438\u0441\u0435\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0441\u043e\u0432 \u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0439 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0438 \u043e\u0431\u044a\u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a <strong>Raspberry PI, Orange PI \u0438 Jetson Nano<\/strong>.<\/p>\n<p>\u0412 yolo, \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0434\u0432\u0430 \u0432\u0438\u0434\u0430 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0435\u0439: <strong>half<\/strong> (FP16) \u0438 <strong>int8<\/strong>. \u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 <strong>int8<\/strong> \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c. \u041d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 half \u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0442\u044c \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438. \u0414\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b, \u0432\u0432\u0438\u0434\u0443 \u0441\u0432\u043e\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c FP16 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e <strong>FP16<\/strong> \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"https:\/\/scicomp.stackexchange.com\/questions\/35187\/is-half-precision-supported-by-modern-architecture\" rel=\"noopener noreferrer nofollow\"><u>\u0442\u043e\u043f\u0438\u043a\u0435 \u043d\u0430 stackoverflow<\/u><\/a>.<\/p>\n<p>\u0412 yolo \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0442\u043e\u0436\u0435 \u0431\u044b\u043b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 <strong>GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/strong> (<a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/exporter.py\" rel=\"noopener noreferrer nofollow\">export.py<\/a>). \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430:<\/p>\n<pre><code class=\"python\">EXPORT_MODELS = [     {\"format\": \"openvino\", \"half\": False, \"int8\": False, \"optimize\": True, \"save_name\": \"cube_openvino_base_openvino_model\"},     {\"format\": \"onnx\", \"half\": False, \"int8\": False, \"optimize\": True, \"save_name\": \"onnx_model.onnx\"} ]<\/code><\/pre>\n<p>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442 \u043c\u043e\u0434\u0435\u043b\u0438, \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0444\u043b\u0430\u0433 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0438\u043c\u044f \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u043b\u0430\u0433\u0438 <strong>optimize<\/strong> \u0438 <strong>simplify<\/strong>. \u0414\u0430\u043d\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 <a href=\"https:\/\/github.com\/glenn-jocher\" rel=\"noopener noreferrer nofollow\"><u>issue \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435<\/u><\/a>. \u0415\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d \u0444\u043b\u0430\u0433 <strong>simplify<\/strong>, \u0442\u043e \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 ONNX yolo \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u201c\u043b\u0438\u0448\u043d\u0438\u0435\u201d \u0441\u0432\u044f\u0437\u0438 \u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u0441\u0442\u043e\u0438\u0442 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432. \u041e\u043d \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u043e \u0443\u0445\u0443\u0434\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442. \u0424\u043b\u0430\u0433 optimize \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043a \u043c\u043e\u0434\u0435\u043b\u0438 JIT (Just In Time) \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>ncnn<\/strong> \u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f\u0432\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435.<\/p>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433 \u0441 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>yolov8n.pt<\/strong>, <strong>yolov8s.pt<\/strong>)<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 <strong>exported_models<\/strong> \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 (\u043a\u0440\u043e\u043c\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0445). \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043e\u0434\u043d\u0443 \u043c\u043e\u0434\u0435\u043b\u044c, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 Yolo:<\/p>\n<pre><code class=\"bash\">yolo export model=\u041f\u0423\u0422\u042c \u041a \u0412\u0415\u0421\u0410\u041c format=\u0424\u041e\u0420\u041c\u0410\u0422 int8=True simplify=True optimize=True data=coco8.yaml<\/code><\/pre>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u0435\u0451 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b int8=True \u0438\u043b\u0438 half=True. \u0422\u0430\u043a \u0436\u0435 \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439(int8 \u0438\u043b\u0438 half) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 data, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043f\u0443\u0442\u044c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0438. \u0414\u043b\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c <strong>coco8.yaml<\/strong>, <strong>coco128.yaml<\/strong>, <strong>coco.yaml<\/strong> (\u043f\u0435\u0440\u0432\u044b\u0435 8 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439; \u043f\u0435\u0440\u0432\u044b\u0435 128; \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 coco). \u0427\u0442\u043e\u0431\u044b \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0438 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u0434\u0430\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043a\u0430. \u041e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438, \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u0447\u043d\u0435\u0435 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u0430.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430 \u0441\u043b\u0430\u0431\u044b\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f Raspberry PI \u043c\u043e\u0436\u043d\u043e \u043d\u0430 Google Colab. \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0443 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 <strong>TensorRT<\/strong> \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p><strong><u>Remember<\/u><\/strong><u> calibration for INT8 is specific to each device<\/u>, borrowing a &#171;high-end&#187; GPU for calibration, might result in poor performance when inference is run on another device.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0434\u0435\u0441\u044c \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u043f\u0440\u043e <strong>TensorRT \u0438 GPU<\/strong>, \u043d\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e\u0441\u0442\u044c \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u043b\u044f <strong>CPU<\/strong>. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u044c <strong>yolov8n<\/strong> \u0431\u044b\u043b\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0432 <strong>ONNX<\/strong> \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 int8 \u043d\u0430 <strong>Raspberry PI<\/strong> \u0438 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 <strong>\u0441 i7-12700H<\/strong>. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b (\u0437\u0430\u043c\u0435\u0440\u0435\u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043d\u0430 coco128) \u0442\u0430\u043c, \u0433\u0434\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b. \u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0441 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u043d\u0430 Raspberry \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 <strong>mAP<\/strong> \u0438 <strong>FPS<\/strong> <strong>\u043d\u0435 \u0431\u044b\u043b\u043e<\/strong> (\u043f\u0440\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043e <strong>10^4<\/strong>). \u0414\u0435\u043b\u0430\u0435\u043c \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u044d\u0442\u043e \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043d\u0430 <strong>GPU c TensorRT int8<\/strong>. \u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u0432 \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 Yolo.<\/p>\n<h2>ONNX<\/h2>\n<p><strong>ONNX<\/strong> &#8212; \u0435\u0434\u0438\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\u043c\u0438. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0443 onnx \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u044d\u0442\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430. Yolov8 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432 onnx \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439. <strong>ONNX<\/strong> \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432).<\/p>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439: \u0431\u0435\u0437 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 <strong>int8<\/strong>, \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 <strong>simpilfy<\/strong>. \u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 <strong>half<\/strong> \u0438 <strong>int8<\/strong> <strong>\u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f<\/strong> \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0438 <strong>mAP<\/strong>.\u00a0<\/p>\n<h3>I7-12700H<\/h3>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ca9\/3f1\/3c1\/ca93f13c19e7a897bc66a22012bbc7ed.png\" width=\"600\" height=\"430\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ca9\/3f1\/3c1\/ca93f13c19e7a897bc66a22012bbc7ed.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/758\/006\/257\/75800625748d5bf00cca2809418896d8.png\" width=\"1600\" height=\"1041\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/758\/006\/257\/75800625748d5bf00cca2809418896d8.png\"\/><\/figure>\n<p><strong>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f<\/strong><\/p>\n<p><strong>int8<\/strong> \u0438 \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c onnx \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0441\u043e\u0431\u044b\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c <strong>mAP<\/strong>, \u0435\u0441\u043b\u0438 \u044d\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c <strong>simplify<\/strong>. \u0414\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u0444\u043b\u0430\u0433\u0430 <strong>simplify<\/strong> N \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u044b\u043b\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0432 onnx \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 <strong>int8<\/strong> \u0438 \u0431\u0435\u0437 \u043d\u0435\u0451, \u043d\u043e \u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 simplify (<strong>simplify=False<\/strong>)<\/p>\n<p><strong>Simplify<\/strong><\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c <strong>ONNX \u043c\u043e\u0434\u0435\u043b\u0438<\/strong> \u043d\u0430 <strong>10-20%. <\/strong>\u0411\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u043f\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 int8 \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 (\u043d\u0430 ~3%) \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u043e \u0431\u0435\u0437 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (\u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 yolov8n_onnxnosimp_base.onnx \u0438 yolov8n_onnxnosimp_int8.onnx ). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0431\u0435\u0437 simplify mAP \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430<\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 ONNX \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 int8 \u0438 \u0444\u043b\u0430\u0433\u0430\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"bash\">yolo export model=yolov8n.pt format=onnx optimize=True simplify=True int8=True data=coco8.yaml<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0435 \u043d\u0435 \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c, \u0442\u043e \u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 data \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430.<\/p>\n<h3>N100 \u041c\u0438\u043d\u0438 \u041f\u041a<\/h3>\n<p>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u0445 mAP \u043c\u0435\u0436\u0434\u0443 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432 int8 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 ONNX \u043c\u043e\u0434\u0435\u043b\u044f\u043c\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 I7.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9a4\/c74\/564\/9a4c745641130033d9aceafb72d61a4f.png\" width=\"602\" height=\"351\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9a4\/c74\/564\/9a4c745641130033d9aceafb72d61a4f.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0c8\/e74\/424\/0c8e74424dd4e34977918d4b2aff007f.png\" width=\"1600\" height=\"954\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0c8\/e74\/424\/0c8e74424dd4e34977918d4b2aff007f.png\"\/><\/figure>\n<h3>Raspberry PI 4 2.3Ghz<\/h3>\n<p>\u041d\u0430 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u043d\u043d\u043e\u0439 Raspberry \u0437\u0430\u043f\u0443\u0441\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439 onnx(\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 yolov8n) \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0432\u0441\u0435 4 \u044f\u0434\u0440\u0430 4 \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e\u0434 100% \u0438 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a \u0437\u0430\u0432\u0438\u0441\u0430\u0435\u0442. \u0417\u0430\u043f\u0443\u0441\u043a \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0430\u043a\u0436\u0435. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 onnx (\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 1.14.1 \u0434\u043e 1.16.1) \u043d\u0435 \u0440\u0435\u0448\u0438\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/309\/f42\/472\/309f4247265b3c028d048c536285dac5.png\" width=\"1081\" height=\"139\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/309\/f42\/472\/309f4247265b3c028d048c536285dac5.png\"\/><\/figure>\n<h3>Raspberry PI 4 \u0431\u0430\u0437\u043e\u0432\u0430\u044f<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u043e\u0434\u0435\u043b\u044c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>FPS<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_onnx_base.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_onnx_int8.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.0<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Orange PI Zero<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u043e\u0434\u0435\u043b\u044c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>FPS<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_onnx_base.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_onnx_int8.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.3<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/h4>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/14b\/744\/a30\/14b744a306bf41a98199d4142d2ed155.png\" width=\"1600\" height=\"909\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/14b\/744\/a30\/14b744a306bf41a98199d4142d2ed155.png\"\/><\/figure>\n<p>\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u0443\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438 ONNX \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<p>\u041d\u0430 \u043c\u0438\u043d\u0438 \u041f\u041a \u0441 <strong>N100 ONNX<\/strong> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 N \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u044e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 ONNX \u043d\u0435 \u0443\u0445\u0443\u0434\u0448\u0430\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0451 \u0440\u0430\u0431\u043e\u0442\u044b.\u00a0\u0420\u0435\u0441\u0443\u0440\u0441\u043e\u0432 <strong>Orange PI \u0438 Raspberry PI<\/strong> \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.\u00a0<\/p>\n<h3>\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 ONNX<\/h3>\n<h3>I7-12700H<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u043e\u0434\u0435\u043b\u044c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>FPS<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>mAP50<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>mAP75<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">base_onnx_base.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">76.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">13.1<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.782<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.699<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">base_onnx_int8.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">75.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">13.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.782<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.699<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u043e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0432 ONNX:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP50<\/p>\n<\/td>\n<td>\n<p align=\"left\">mAP75<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">base.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.5<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.799<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>0.724<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\">12.55<\/p>\n<\/td>\n<td>\n<p align=\"left\">5.92<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 <strong>mAP50<\/strong> \u0438 <strong>mAP75<\/strong> \u0441\u0442\u0430\u043b\u0438 \u043d\u0438\u0436\u0435, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438. \u0427\u0435\u043c \u0432\u044b\u0448\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u0435\u043c \u043d\u0438\u0436\u0435 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 ONNX \u043d\u0430 <strong>28%<\/strong> \u0432\u044b\u0448\u0435, \u0447\u0435\u043c N \u043c\u043e\u0434\u0435\u043b\u044c \u0432 ONNX.<\/p>\n<p><strong>N100<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u043e\u0434\u0435\u043b\u044c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0412\u0440\u0435\u043c\u044f \u043c\u0441<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>FPS<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">base_onnx_base.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">85.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.7<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">base_onnx_int8.onnx<\/p>\n<\/td>\n<td>\n<p align=\"left\">75.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">11.9<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041d\u0430\u0448\u0430 \u043c\u043e\u0434\u0435\u043b\u044c &#171;\u0437\u043d\u0430\u0435\u0442&#187; \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0447\u0435\u043c \u0431\u0430\u0437\u043e\u0432\u0430\u044f COCO \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0443 \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u0435\u043d\u044c\u0448\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0451 <strong>\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435<\/strong>.<\/p>\n<h3>OpenVINO &#8212; \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f Intel<\/h3>\n<p><strong>OpenVINO<\/strong> (Open Visual Inference and Neural Network Optimization) \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 Intel \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f CPU, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 GPU, VPU \u0438 FPGA. <strong>OpenVINO<\/strong> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u043e\u0449\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0438\u0445 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445. <strong>OpenVINO<\/strong> \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 \u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Intel, \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u044d\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443\u0442.<\/p>\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 <strong>fp16<\/strong> \u0438 <strong>int8<\/strong>.\u00a0<\/p>\n<h4>I7-12700H<\/h4>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/767\/425\/b98\/767425b98666b07f8ac7e7518ebc8399.png\" width=\"700\" height=\"373\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/767\/425\/b98\/767425b98666b07f8ac7e7518ebc8399.png\"\/><\/figure>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 int8 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 OpenVINO \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 I7 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0451\u0445 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439(N, S, M).<br \/>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 half \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <strong>OpenVINO<\/strong>. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c N \u043c\u043e\u0434\u0435\u043b\u044c.<br \/>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 int8 OpenVINO \u043c\u043e\u0434\u0435\u043b\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 N \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0432 <strong>10 \u0440\u0430\u0437<\/strong>. \u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f OpenVINO \u0432 int8 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0435\u0451 \u0432 <strong>~2 \u0440\u0430\u0437\u0430<\/strong>.<\/p>\n<p><strong>N100<\/strong><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e9c\/221\/5d2\/e9c2215d26d3c7d3c91abac8b0df68bf.png\" width=\"700\" height=\"373\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e9c\/221\/5d2\/e9c2215d26d3c7d3c91abac8b0df68bf.png\"\/><\/figure>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <strong>OpenVINO<\/strong> \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043d\u0430 <strong>N100<\/strong> \u0438 <strong>I7<\/strong>. <strong>OpenVINO<\/strong> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 yolov8n, \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432 <strong>OpenVINO<\/strong> \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 int8.<\/p>\n<p>\u041d\u0430 <strong>Raspberry PI \u0438 Orange PI<\/strong> \u0437\u0430\u043f\u0443\u0441\u043a OpenVINO \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d.\u00a0<\/p>\n<p>\u0418\u0437 &#8212; \u0437\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f <strong>mAP<\/strong> \u0443 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432 int8 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e\u00a0<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/53b\/40b\/e89\/53b40be898ff3d0ac9d46a56b18a6f69.png\" width=\"700\" height=\"371\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/53b\/40b\/e89\/53b40be898ff3d0ac9d46a56b18a6f69.png\"\/><\/figure>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 <strong>OpenVINO<\/strong> \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 <strong>int8<\/strong><\/p>\n<pre><code class=\"bash\">yolo export model=yolov8n.pt format=openvino optimize=True simplify=True int8=True data=coco8.yaml<\/code><\/pre>\n<h4>NCNN<\/h4>\n<p>\u042d\u0442\u043e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0441\u043b\u0430\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <strong>Raspberry PI<\/strong>.<\/p>\n<h3>Intel i7-12700H<\/h3>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0432 half \u0438 \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c mAP.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8l_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8x_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.8<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>N100<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">9.6<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8l_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8x_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.7<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Raspberry PI<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.0<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Orange PI<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_ncnn_int8_ncnn_model<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.2<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043d\u0435 \u0434\u0430\u0451\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<h3>TfLite \u0438 Deepsparse<\/h3>\n<p>\u0420\u0430\u043d\u0442\u0430\u0439\u043c <strong>TFLite \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e<\/strong> \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043d\u0430\u0448\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430.<\/p>\n<p>\u0420\u0430\u043d\u0442\u0430\u0439\u043c <strong>DeepSparse<\/strong> \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0431\u0430\u0442\u0447\u0430\u0445 \u0438\u0437 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u041f\u0440\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0442.\u00a0\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043e\u043d \u043d\u0435 \u0432\u044b\u0434\u0430\u0451\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e FPS.<\/p>\n<h3>Nvidia Jetson Nano<\/h3>\n<p>\u0414\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u043c\u0435\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 <strong>CUDA<\/strong>, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 (\u043d\u0430 N \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u0441\u0435\u0433\u043e 0.7 FPS). \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f Ultralytics Yolo <a href=\"https:\/\/habr.com\/ru\/articles\/823043\/\" rel=\"noopener noreferrer nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u041c\u043e\u0434\u0435\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">max FPS<\/p>\n<\/td>\n<td>\n<p align=\"left\">min FPS<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">13.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">14.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">10.6<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8s.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">6.2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8m.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">4.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8l.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.4<\/p>\n<\/td>\n<td>\n<p align=\"left\">3.3<\/p>\n<\/td>\n<td>\n<p align=\"left\">2.8<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8x.pt<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.1<\/p>\n<\/td>\n<td>\n<p align=\"left\">1.2<\/p>\n<\/td>\n<td>\n<p align=\"left\">0.9<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u043b\u044f \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <strong>N<\/strong> \u043c\u043e\u0434\u0435\u043b\u044c, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u0442\u044f\u0436\u0451\u043b\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e.<\/p>\n<h4>\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438<\/h4>\n<p>\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b \u043d\u0435 \u0443\u0432\u0435\u043d\u0447\u0430\u043b\u0438\u0441\u044c \u0443\u0441\u043f\u0435\u0445\u043e\u043c.\u00a0<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 <strong>onnxruntimegpu<\/strong>, \u043c\u043e\u0434\u0435\u043b\u0438 <strong>ONNX<\/strong> \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 GPU, \u0430 \u0438\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 <strong>CPU<\/strong> \u043e\u0447\u0435\u043d\u044c \u043d\u0438\u0437\u043a\u0430\u044f.<\/p>\n<p>\u0414\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u043e\u0434 <strong>Nvidia GPU<\/strong> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c &#8212; <strong>TensorRT<\/strong>.<\/p>\n<p>Yolo \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0443\u043c\u0435\u0435\u0442 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u044d\u0442\u043e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439. \u041d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c <strong>Jetson Nano<\/strong>, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0434\u0435\u043b\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 <strong>TensorRT<\/strong> \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 <strong>TensorRT<\/strong>. \u0412\u0435\u0440\u0441\u0438\u044f <strong>TensorRT<\/strong> \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 CUDA, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 gpu. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f CUDA, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430 Jetson Nano &#8212; 10.2. \u041d\u0430 Google Colab \u0441\u0442\u043e\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f CUDA, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0443\u0435\u0442 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 <strong>TensorRT<\/strong> 8.0.1.6 (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 Jetson Nano).<\/p>\n<p>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 yolo \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\">yolo export model=yolov8n.pt format=engine batch=1 workspace=1 int8=True data=coco.yaml<\/code><\/pre>\n<p>\u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 <strong>Jetson<\/strong> \u043a \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044e.\u00a0<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 onnx \u0431\u0435\u0437 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u0430 \u0437\u0430\u0442\u0435\u043c \u0448\u0442\u0430\u0442\u043d\u0443\u044e \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <strong>trtexec.<\/strong> \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">\/usr\/src\/tensorrt\/bin\/trtexec --buildOnly --int8 --onnx=yolov8n.onnx --saveEngine=yolov8n.engine<\/code><\/pre>\n<p>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043f\u0440\u043e\u0448\u0451\u043b \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u043d\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0442\u0430\u043b\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u0438\u043c (> 3000\u043c\u0441). \u0425\u043e\u0442\u044f \u0432 \u043b\u043e\u0433\u0430\u0445 <strong>trtexec <\/strong>\u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043f\u0440\u043e 65 \u043c\u0441:<\/p>\n<details class=\"spoiler\">\n<summary>\u041b\u043e\u0433\u0438<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"bash\">[06\/13\/2024-22:25:10] [I] [06\/13\/2024-22:25:10] [I] === Performance summary === [06\/13\/2024-22:25:10] [I] Throughput: 15.0389 qps [06\/13\/2024-22:25:10] [I] Latency: min = 66.1836 ms, max = 66.7713 ms, mean = 66.4839 ms, median = 66.4787 ms, percentile(99%) = 66.7713 ms [06\/13\/2024-22:25:10] [I] End-to-End Host Latency: min = 66.1941 ms, max = 66.7808 ms, mean = 66.4938 ms, median = 66.4887 ms, percentile(99%) = 66.7808 ms [06\/13\/2024-22:25:10] [I] Enqueue Time: min = 5.84814 ms, max = 6.35657 ms, mean = 6.10814 ms, median = 6.11487 ms, percentile(99%) = 6.35657 ms [06\/13\/2024-22:25:10] [I] H2D Latency: min = 0.481689 ms, max = 0.487305 ms, mean = 0.484034 ms, median = 0.484131 ms, percentile(99%) = 0.487305 ms [06\/13\/2024-22:25:10] [I] GPU Compute Time: min = 65.4216 ms, max = 66.0064 ms, mean = 65.7226 ms, median = 65.7175 ms, percentile(99%) = 66.0064 ms [06\/13\/2024-22:25:10] [I] D2H Latency: min = 0.274902 ms, max = 0.281067 ms, mean = 0.277307 ms, median = 0.277222 ms, percentile(99%) = 0.281067 ms [06\/13\/2024-22:25:10] [I] Total Host Walltime: 3.12524 s [06\/13\/2024-22:25:10] [I] Total GPU Compute Time: 3.08896 s [06\/13\/2024-22:25:10] [I] Explanations of the performance metrics are printed in the verbose logs. [06\/13\/2024-22:25:10] [I] &amp;&amp;&amp;&amp; PASSED TensorRT.trtexec [TensorRT v8001] # \/usr\/src\/tensorrt\/bin\/trtexec --int8 --onnx=yolov8n.onnx --saveEngine=yolov8n.engine [06\/13\/2024-22:25:10] [I] [TRT] [MemUsageChange] Init cuBLAS\/cuBLASLt: CPU +0, GPU +0, now: CPU 871, GPU 1882 (MiB)<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<h4>\u0412\u044b\u0432\u043e\u0434 \u043f\u043e Jetson Nano<\/h4>\n<p>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u043b\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 <strong>yolov8n.pt<\/strong>, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c <strong>N<\/strong> \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 <strong>CUDA<\/strong> \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e (\u043e\u0442 <strong>10.6 FPS \u0434\u043e 14.3 FPS<\/strong>) \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u043c<\/h3>\n<p>\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0439\u043c\u044b \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0451 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u00a0\u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 FPS \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d59\/c4d\/831\/d59c4d831713222159cd5cc8691ef05d.png\" width=\"700\" height=\"375\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d59\/c4d\/831\/d59c4d831713222159cd5cc8691ef05d.png\"\/><\/figure>\n<p>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0438\u043d\u0438 \u041f\u041a \u0441 <strong>N100<\/strong> \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 yolov8n \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u0432 <strong>OpenVINO<\/strong>, <strong>ONNX<\/strong>, <strong>NCNN<\/strong>.<\/p>\n<p>\u0418\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e <strong>OpenVINO<\/strong> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e (~\u0432 <strong>5 \u0440\u0430\u0437<\/strong> \u0431\u044b\u0441\u0442\u0440\u0435\u0435) \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438.<br \/><strong>OpenVINO \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u043c \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u043c\u0438 Intel<\/strong>. \u042d\u0442\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u0438 Yolo \u043d\u0430 <strong>CPU \u0438\u043b\u0438 GPU \u043e\u0442 Intel.<\/strong><\/p>\n<details class=\"spoiler\">\n<summary>OpenVINO \u043d\u0430 GPU<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 OpenVINO \u0437\u0430\u044f\u0432\u043b\u044f\u044e\u0442, \u0447\u0442\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430\u0445 Intel Arc, \u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044d\u0442\u043e \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.<\/p>\n<\/div>\n<\/details>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u0432 NCNN \u0438 ONNX. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c TFLite \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u0421\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u043c\u0438 \u043d\u0430 <strong>N100<\/strong> \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u043c \u0441 <strong>I7-12700H<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ea1\/2fe\/30d\/ea12fe30dafbd0ed607d4f3cee9f29f6.png\" width=\"673\" height=\"374\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea1\/2fe\/30d\/ea12fe30dafbd0ed607d4f3cee9f29f6.png\"\/><\/figure>\n<p><strong>OpenVINO<\/strong> \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c. \u0414\u0430\u043b\u0435\u0435 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0434\u0451\u0442 <strong>ONNX<\/strong> (\u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u043d\u0430 N100). <strong>NCNN<\/strong> \u0438 <strong>TFLite<\/strong> \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441 \u0442\u043e\u0439 \u0436\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e \u0438 \u0431\u0430\u0437\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c. \u041d\u043e <strong>NCNN<\/strong> \u0432\u044b\u0434\u0430\u0451\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 FPS \u043a\u0430\u043a \u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 <strong>N100<\/strong>.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u0420\u0430\u043d\u0442\u0430\u0439\u043c<\/p>\n<\/td>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\"><strong>N100<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>I7<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">yolov8n_ncnn_int8<\/p>\n<\/td>\n<td data-colwidth=\"234\" width=\"234\">\n<p align=\"left\">9.6<\/p>\n<\/td>\n<td>\n<p align=\"left\">8.1<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0433\u0440\u0430\u0444\u0438\u043a \u043c\u0435\u0442\u0440\u0438\u043a\u0438 <strong>mAP<\/strong>(\u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 <strong>coco128<\/strong>), \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b39\/31e\/81f\/b3931e81fdc037a6a47f08c09a0bd14d.png\" width=\"700\" height=\"371\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b39\/31e\/81f\/b3931e81fdc037a6a47f08c09a0bd14d.png\"\/><\/figure>\n<p>\u0418\u0437 \u043d\u0435\u0433\u043e \u044f\u0432\u043d\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0435 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0439 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0432\u044b\u0431\u043e\u0440\u0443 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0436\u0435\u043b\u0435\u0437\u0430<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 yolov8n \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439. Raspberry PI \u0438 Orange PI \u043d\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u0430\u0436\u0435 \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 \u0441 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 int8. \u041b\u0443\u0447\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u0431\u044b\u043b\u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441 Intel \u0438 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 <strong>OpenVINO<\/strong>.<\/p>\n<p>\u0420\u0435\u0441\u0443\u0440\u0441\u043e\u0432 <strong>\u043c\u0438\u043d\u0438 \u041f\u041a<\/strong> \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c <strong>N100<\/strong> \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b <strong>OpenVINO int8<\/strong> \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 <strong>N<\/strong> \u0432\u0435\u0441\u043e\u0432.\u00a0<\/p>\n<p><strong>Jetson Nano<\/strong> \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u044e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 yolov8n, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 <strong>CUDA<\/strong>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b \u043b\u0438\u0431\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f, \u043b\u0438\u0431\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435.\u00a0<\/p>\n<p>\u0412\u0441\u0435 <strong>csv<\/strong> \u0444\u0430\u0439\u043b\u044b \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0437\u0434\u0435\u0441\u044c:<\/p>\n<p><a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/tree\/master\/Analytics\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/ret7020\/YoloBenchmarks\/tree\/master\/Analytics<\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/822917\/\"> https:\/\/habr.com\/ru\/articles\/822917\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0451\u0442 \u043e \u0437\u0430\u043c\u0435\u0440\u0430\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <strong>YOLOv8<\/strong> \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u0431\u0435\u0437 \u043d\u0438\u0445. \u0411\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0435\u043b\u0435\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0435 Yolo \u043d\u0430 \u201c<em>\u0441\u043b\u0430\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445<\/em>\u201d, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a <strong>Raspberry PI<\/strong>, <strong>Orange PI<\/strong>, <strong>Jetson Nano<\/strong>, <strong>\u043c\u0438\u043d\u0438 \u041f\u041a<\/strong>.\u00a0<\/p>\n<details class=\"spoiler\">\n<summary>\u0427\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0430:<\/summary>\n<div class=\"spoiler__content\">\n<p><em>\u041f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u043a\u0442\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432 \u0431\u044b\u043b \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445.<\/em><\/p>\n<\/div>\n<\/details>\n<p>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 &#171;\u043d\u0430 \u0431\u043e\u0440\u0442\u0443&#187;, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0412\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u0447\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0433\u043e \u0437\u0440\u0435\u043d\u0438\u044f \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0440\u043e\u0431\u043e\u0442\u0430\u0445. \u0411\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e FPS \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439\u00a0 <strong>>= 10<\/strong> \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445.<\/p>\n<p>\u0412 <a href=\"http:\/\/github.com\/ret7020\/YoloBenchmarks\" rel=\"noopener noreferrer nofollow\"><u>GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/u><\/a> \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043a\u043e\u0434 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430, \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 csv \u0444\u0430\u0439\u043b\u0430\u0445. \u0422\u0430\u043a\u0436\u0435 \u0432\u0441\u0435 \u0432\u0435\u0441\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043d\u0430 <a href=\"https:\/\/drive.google.com\/drive\/folders\/1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd?usp=drive_link\" rel=\"noopener noreferrer nofollow\">\u0413\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435<\/a> \u0438 <a href=\"https:\/\/drive.google.com\/drive\/folders\/1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd?usp=drive_link\" rel=\"noopener noreferrer nofollow\">\u0412\u0442\u043e\u0440\u043e\u0439 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a<\/a>.<\/p>\n<h2>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<ul>\n<li>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/p>\n<ul>\n<li>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Yolo \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445<\/p>\n<ul>\n<li>\n<p>Intel I7-12700H &#8212; \u0432 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435<\/p>\n<\/li>\n<li>\n<p>N100 &#8212; \u041c\u0438\u043d\u0438 \u041f\u041a<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 \u0431\u0430\u0437\u043e\u0432\u0430\u044f<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 2.3 Ghz<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1 GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0431\u0430\u0437\u043e\u0432\u043e\u043c\u0443 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>Fine-Tuned Yolo \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0431\u0430\u0437\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 2.3Ghz<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e Fine-Tuned \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<\/li>\n<li>\n<p>\u041a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>ONNX<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100 &#8212; \u041c\u0438\u043d\u0438 \u041f\u041a<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 2.3Ghz<\/p>\n<\/li>\n<li>\n<p>Raspberry PI 4 \u0431\u0430\u0437\u043e\u0432\u0430\u044f<\/p>\n<\/li>\n<li>\n<p>Orange PI Zero 1GB RAM<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 ONNX<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>OpenVINO &#8212; \u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f Intel<\/p>\n<ul>\n<li>\n<p>I7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>NCNN<\/p>\n<ul>\n<li>\n<p>Intel i7-12700H<\/p>\n<\/li>\n<li>\n<p>N100<\/p>\n<\/li>\n<li>\n<p>Raspberry PI<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>TfLite \u0438 Deepsparse<\/p>\n<\/li>\n<li>\n<p>Nvidia Jetson Nano<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0432\u043e\u0434\u044b \u043f\u043e \u0432\u044b\u0431\u043e\u0440\u0443 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0436\u0435\u043b\u0435\u0437\u0430<\/p>\n<\/li>\n<\/ul>\n<h2>\u0421\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/h2>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 5 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 60 \u043c\u043e\u0434\u0435\u043b\u044f\u0445. \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.\u00a0<\/p>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0435\u0439. \u0421\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e. \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0438\u0434\u0435\u043e, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0438\u0445 \u0438, \u043f\u0440\u043e\u0432\u0435\u0434\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f):<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/ret7020\/YoloBenchmarks cd YoloBenchmarks\/server python3 server.py<\/code><\/pre>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">import socket from time import sleep from threading import Thread from config import * from socket_utils import * from os import path, makedirs import csv  ip = \"0.0.0.0\" port = 8001  makedirs(python_files_path, exist_ok=True) makedirs(video_path, exist_ok=True) makedirs(model_path, exist_ok=True) makedirs(analytics_path, exist_ok=True) headers_writen = []   def csv_benchmark(path, results):     with open(path, 'a', newline='') as csvfile:         writer = csv.DictWriter(csvfile, fieldnames=CSV_HEADER)         for model in results:             res = results[model]             print(res)             writer.writerow({'model': model} | res)   def process_client(conn, addr):     global analytics_path, headers_writen     print(\"Connect from\", addr)     while True:         recv = receive_json(conn)         if recv[\"type\"] == \"ask_files\":             print(addr, f\"asked file {recv['filename']} from group {recv['ftype']}\")             file_name = recv[\"filename\"]             if recv[\"ftype\"] == \"py\":                 send_file(conn, path.join(python_files_path, file_name))             elif recv[\"ftype\"] == \"video\":                 send_file(conn, path.join(video_path, file_name))             elif recv[\"ftype\"] == \"model\":                 send_file(conn, path.join(model_path, file_name))         elif recv[\"type\"] == \"get_models\":             send_json(conn, models)         elif recv[\"type\"] == \"get_videos\":             print(addr, \"asked videos\")             send_json(conn, videos)         elif recv[\"type\"] == \"send_stats\":             print(\"Results from\", addr)             if not recv[\"save_name\"] in headers_writen:                 with open(path.join(analytics_path, recv[\"save_name\"]), 'w', newline='') as csvfile:                     writer = csv.DictWriter(csvfile, fieldnames=CSV_HEADER)                     writer.writeheader()                 headers_writen.append(recv[\"save_name\"])              csv_benchmark(path.join(analytics_path, recv[\"save_name\"]), recv[\"results\"])   if __name__ == \"__main__\":     print(f\"Run on {ip}:{port}\")     sock = socket.socket()     sock.bind((ip, port))     sock.listen(1)      while True:         conn, addr = sock.accept()         t = Thread(target=process_client, args=(conn, addr))         t.start()<\/code><\/pre>\n<\/p>\n<\/div>\n<\/details>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/config.py\" rel=\"noopener noreferrer nofollow\">config.py<\/a>:<\/p>\n<pre><code class=\"python\">models = { \"base\": [ (\"yolov8n.pt\", \"12qTtp-hjls6N0UMLbkurzxHzuhpWxqWt\", False),     (\"yolov8s.pt\", \"1ga8jan6BvP8Pbmphx9HHBvby96jQgjHS\", False),     (\"yolov8m.pt\", \"1r0ph4mbFsiuuRDxJHAj3di9TFnzCXbUq\", False),     (\"yolov8l.pt\", \"1f1SlM01l3EWvpH66fEqyrdsEe1F5PdFT\", False),     (\"yolov8x.pt\", \"1stXAXeDSgaMFv8AkZwtiw5RXvInd74tQ\", False) ] } videos = [  (\"cubes.mp4\", \"1t1zOk8CPQGFdpRl7l3gJthydGOqDbRVI\") ]  video_path = \"files\/videos\" model_path = \"files\/models\" python_files_path = \"files\/py\" analytics_path = \"files\/analytics\"  CSV_HEADER = ['model', 'runtime', 'inference_time_1', 'fps', 'inference_time', 'device', 'half', 'int8', 'map50', 'map75', 'warmup_max_inf_time', 'warmup_min_inf_time', 'inference_time_max', 'inference_time_min'] <\/code><\/pre>\n<p><strong>models<\/strong> &#8212; \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0438 &#8212; \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u0440\u0442\u0435\u0436\u0435\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430:<\/p>\n<pre><code class=\"python\">[ (\u201c\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\u201d, \u201cID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\u201d, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0442),     (\u201c\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439\u201d, \u201cID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\u201d, \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0442) ]<\/code><\/pre>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>OpenVINO<\/strong> \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 <strong>Intel<\/strong>). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435\u00a0 \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430  \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<p><strong>videos<\/strong> &#8212; \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0434\u0435\u043e\u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430, \u0438\u043c\u0435\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442:<\/p>\n<pre><code class=\"python\"> (\"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430\", \"ID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435\")<\/code><\/pre>\n<p><strong>analytics_path<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432, \u0435\u0441\u043b\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0435\u0442, \u0442\u043e \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n<p>\u0412 <strong>CSV_HEADER<\/strong> \u043c\u0435\u043d\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043b\u043e\u043d\u043e\u043a.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f):<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/ret7020\/YoloBenchmarks cd YoloBenchmarks python3 remote_run.py<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0432\u0435\u0441\u0442\u0438 <strong>ip \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/strong>, <strong>\u043f\u043e\u0440\u0442<\/strong> (\u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>8001<\/strong>), <strong>\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/strong> (\u043e\u0442 \u043d\u0435\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0441 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u043c).<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442 \u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043a\u0430\u0447\u0430\u0435\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442 \u043a \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0443.<\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0432\u0438\u0434\u0435\u043e \u0444\u0430\u0439\u043b\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <strong>gdown<\/strong>, \u0438\u043c\u0435\u044e\u0449\u0443\u044e API \u043f\u043e\u0434 Python. \u0413\u0443\u0433\u043b \u0434\u0438\u0441\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b \u0432\u0435\u0441\u043e\u0432, \u043d\u043e \u0438 \u043c\u0435\u0442\u0430\u0444\u0430\u0439\u043b\u044b, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u0435 \u0432 \u043e\u0434\u043d\u0443 \u043f\u0430\u043f\u043a\u0443. <\/p>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f gdown \u0444\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 <strong>\u201c\u0414\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435\u201d<\/strong>. ID \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p>https:\/\/drive.google.com\/file\/d\/<strong>14DixrZ9Pcl_JpGzpB2U66YDwS4v9hHdS<\/strong>\/view?usp=sharing<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 Python:<\/p>\n<pre><code class=\"python\">import gdown  # \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 FILE_ID = \"14DixrZ9Pcl_JpGzpB2U66YDwS4v9hHdS\" # ID \u0444\u0430\u0439\u043b\u0430 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435 SAVE_TO = \u201copen_me.png\u201d # \u043a\u0443\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c gdown.download(id=FILE_ID, output=SAVE_TO)  # \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 DIR_ID= \"1ALYWISJipP2XOp1OHmDJ0XqPcOuCnQLd\" # id \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a\u0435 SAVE_TO = \u201cdir\u201d # \u043a\u0443\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c gdown.download_folder(id=DIR_ID, output=SAVE_TO)<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<ol>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 10 \u043a\u0430\u0434\u0440\u043e\u0432 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f &#171;\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430&#187; \u043c\u043e\u0434\u0435\u043b\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0435\u0441\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u0439 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u043f\u0435\u0440\u0432\u044b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0430\u0447 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435. \u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f &#171;\u043f\u0440\u043e\u0433\u0440\u0435\u0432\u0430&#187;, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0433\u043e\u0442\u043e\u0432\u0430 \u043a \u0440\u0430\u0431\u043e\u0442\u0435, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0446\u0438\u043a\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 200 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043a\u0430\u0434\u0440\u043e\u0432 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u0442\u0438 200 \u043a\u0430\u0434\u0440\u043e\u0432 \u0431\u0443\u0434\u0443\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u043f\u043e\u0437\u0436\u0435).<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u0430\u0434\u0440 \u0441\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f 640&#215;640 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u0434\u0435\u043b\u044c, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 200 \u043a\u0430\u0434\u0440\u043e\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043c\u0435\u0440\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 <strong>coco8<\/strong> (\u043f\u0435\u0440\u0432\u044b\u0435 8 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438\u0437 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u044b \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 Yolo). \u041d\u043e <strong>8 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/strong> \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 (\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 <strong>mAP50<\/strong>, <strong>mAP75<\/strong> \u0431\u044b\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 <strong>coco128<\/strong> \u043d\u0430 Google Colab. \u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0440\u0430 mAP \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 <a href=\"https:\/\/github.com\/ret7020\/YoloBenchmarks\/blob\/master\/utils\/get_128_mAP.py\" rel=\"noopener noreferrer nofollow\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p><strong>mAP<\/strong> (mean average precision) &#8212; \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 object detection, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0430\u043c\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>mAP<\/strong>, \u0430 \u0442\u043e \u043a\u0430\u043a \u0441\u0438\u043b\u044c\u043d\u043e mAP \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 <strong>\u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0431\u0430\u0437\u043e\u0432\u043e\u0439<\/strong>.\u00a0<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"python\">def bench_model(model, video, args):     inference_times = []     is_half = True if \"half\" in args else False     is_int8 = True if \"int8\" in args else False     optimize = False if \"ncnn\" in args else True  # NCNN models can't work with optimize flag     runtime = args[1] if len(args) > 1 else \"BASE\"      capture =<\/code><\/pre>\n<\/div>\n<\/details>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-379214","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=379214"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/379214\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=379214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=379214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=379214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}