{"id":1218,"date":"2026-04-18T07:16:20","date_gmt":"2026-04-17T23:16:20","guid":{"rendered":"https:\/\/aimc.skyate.com\/?p=1218"},"modified":"2026-04-18T07:16:20","modified_gmt":"2026-04-17T23:16:20","slug":"%e3%80%90aimc-%e6%95%99%e7%a8%8b%e3%80%91rknn-tool-kit%e5%85%a8%e6%b5%81%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/aimc.skyate.com\/index.php\/2026\/04\/18\/%e3%80%90aimc-%e6%95%99%e7%a8%8b%e3%80%91rknn-tool-kit%e5%85%a8%e6%b5%81%e7%a8%8b\/","title":{"rendered":"\u3010AIMC \u6559\u7a0b\u3011RKNN tool kit\u5168\u6d41\u7a0b"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"296\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image.png\" alt=\"\" class=\"wp-image-1220\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image.png 556w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-300x160.png 300w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/figure>\n<\/div>\n\n\n<p>RKNN Toolkit2 \u5f00\u53d1\u5957\u4ef6(Python\u63a5\u53e3)\u8fd0\u884c\u5728PC\u5e73\u53f0\uff08x86\/arm64\uff09\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u8f6c\u6362\u3001 \u91cf\u5316\u529f\u80fd\u3001\u6a21\u578b\u63a8\u7406\u3001\u6027\u80fd\u548c\u5185\u5b58\u8bc4\u4f30\u3001\u91cf\u5316\u7cbe\u5ea6\u5206\u6790\u3001\u6a21\u578b\u52a0\u5bc6\u7b49\u529f\u80fd\u3002\u5b98\u65b9\u6559\u7a0b\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/01_Rockchip_RK2118_Quick_Start_RKNN_SDK_V2.3.2_CN.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"\u5d4c\u5165 01_Rockchip_RK2118_Quick_Start_RKNN_SDK_V2.3.2_CN\"><\/object><a id=\"wp-block-file--media-4471341d-018d-4838-ad84-27fe70b34187\" href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/01_Rockchip_RK2118_Quick_Start_RKNN_SDK_V2.3.2_CN.pdf\">01_Rockchip_RK2118_Quick_Start_RKNN_SDK_V2.3.2_CN<\/a><a href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/01_Rockchip_RK2118_Quick_Start_RKNN_SDK_V2.3.2_CN.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-4471341d-018d-4838-ad84-27fe70b34187\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.3.2_CN.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"\u5d4c\u5165 02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.3.2_CN\"><\/object><a id=\"wp-block-file--media-2bfda19d-cc93-4de0-802c-094047de535b\" href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.3.2_CN.pdf\">02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.3.2_CN<\/a><a href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.3.2_CN.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-2bfda19d-cc93-4de0-802c-094047de535b\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<p>\u4e0b\u8f7d\u5730\u5740\uff1a\u745e\u82af\u5fae\u5b98\u65b9\u00a0<a href=\"https:\/\/github.com\/airockchip\/rknn-toolkit2\">RKNN-Toolkit2\u5de5\u7a0b<\/a>\u00a0\u6216 AIMC Asagrd\u6570\u636e\u4e2d\u5fc3\uff1a\u56e2\u961f\u6587\u4ef6\/AIMC_LAB\/\u8f6f\u4ef6\u5b89\u88c5\u5305\/RKNN-TOOLKIT\u76ee\u5f55\u4e0b\u4e0b\u8f7d\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">1 rknn\u6a21\u578b\u8f6c\u6362\uff08\u4ee5yolo v8\u4e3a\u4f8b\uff09<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1.1  rknn-toolkit2 X86\u5e73\u53f0\u5b89\u88c5<\/h2>\n\n\n\n<p>\u9996\u5148\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u73af\u5883\uff0crknn-toolkit2\u652f\u6301Python3.8~3.12\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python -m venv rknn_venv<\/pre>\n\n\n\n<p>\u6fc0\u6d3b\u865a\u62df\u73af\u5883<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">source rknn_venv\/bin\/activate<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u914d\u7f6epip\u6e90\npip3 config set global.index-url https:\/\/pypi.tuna.tsinghua.edu.cn\/simple\/<\/pre>\n\n\n\n<p>\u8df3\u8f6c\u81f3\u5b98\u65b9\u5de5\u7a0b\u6839\u76ee\u5f55\uff0c\u76ee\u5f55\u4e0b\u6587\u4ef6\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># ls\nCHANGELOG.md  README.md     doc  rknn-toolkit-lite2  rknpu2\nLICENSE       autosparsity  res  rknn-toolkit2<\/pre>\n\n\n\n<p>\u9996\u5148\u5b89\u88c5\u4f9d\u8d56\u5e93\uff0c\u4f9d\u8d56\u5e93\u5728rknn-toolkit2\/packages\/x86_64\/\u76ee\u5f55\u4e0b\uff0c\u8bf7\u6839\u636ePython\u7248\u672c\u9009\u62e9\u5bf9\u5e94\u7684requirements\u6587\u4ef6\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u5b89\u88c5\u4f9d\u8d56\u5e93\uff0c\u6839\u636erknn-toolkit2\\doc\\requirements_cp38-1.4.0.txt\npip install -r rknn-toolkit2\/packages\/x86_64\/requirements_cp312-2.3.2.txt<\/pre>\n\n\n\n<p>\u5b89\u88c5rknn_toolkit2,\u6839\u636e\u7cfb\u7edf\u7684python\u7248\u672c\u548c\u67b6\u6784\uff08\u6700\u65b0\u7248\u672c\u652f\u6301arm64\u548cx86\uff09\u9009\u62e9\u4e0d\u540c\u7684whl\u6587\u4ef6\u5b89\u88c5<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install rknn-toolkit2\/packages\/x86_64\/rknn_toolkit2-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\nInstalling collected packages: rknn-toolkit2\nSuccessfully installed rknn-toolkit2-2.3.2<\/pre>\n\n\n\n<p>\u68c0\u6d4b\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(rknn_venv) root@aimc-AI:\/home\/aimc\/Project\/rknn\/rknn-toolkit2# python\nPython 3.12.3 (main, Jan 22 2026, 20:57:42) [GCC 13.3.0] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> from rknn.api import RKNN\n>>> <\/pre>\n\n\n\n<p>\u8f93\u5165quit()\u6216\u8005\u4f7f\u7528\u5feb\u6377\u952eCtrl+D\u9000\u51fa\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c0f\u8282\u719f\u6089\u4e0bToolkit-lite2\u5de5\u5177\uff0c\u8be5\u5de5\u5177\u5728PC\u5e73\u53f0\u4e0a\u4f7f\u7528\uff0c\u63d0\u4f9bpython\u63a5\u53e3\u7b80\u5316\u6a21\u578b\u7684\u90e8\u7f72\u548c\u8fd0\u884c\u3002 \u7528\u6237\u901a\u8fc7\u8be5\u5de5\u5177\u53ef\u4ee5\u4fbf\u6377\u5730\u5b8c\u6210\u4e00\u4e9b\u529f\u80fd\uff1a<\/p>\n\n\n\n<p>\u6a21\u578b\u8f6c\u6362\uff0cToolkit-lite2\u5de5\u5177\u5bfc\u5165\u539f\u59cb\u7684Caffe\u3001TensorFlow\u3001TensorFlow Lite\u3001ONNX\u3001Pytorch\u3001MXNet\u7b49\u6a21\u578b\u8f6c\u6362\u6210RKNN\u6a21\u578b()\uff0c \u4e5f\u652f\u6301\u5bfc\u5165RKNN\u6a21\u578b\u7136\u540e\u5728NPU\u5e73\u53f0 \u4e0a\u52a0\u8f7d\u63a8\u7406\u7b49\u3002<\/p>\n\n\n\n<p>\u91cf\u5316\u529f\u80fd\uff0c\u652f\u6301\u5c06\u6d6e\u70b9\u6a21\u578b\u91cf\u5316\u4e3a\u5b9a\u70b9\u6a21\u578b\uff0c\u76ee\u524d\u652f\u6301\u7684\u91cf\u5316\u65b9\u6cd5\u4e3a\u975e\u5bf9\u79f0\u91cf\u5316\uff08asymmetric_quantized-8\uff09\uff0c\u5e76\u652f\u6301\u6df7\u5408\u91cf\u5316\u529f\u80fd\u3002<\/p>\n\n\n\n<p>\u6a21\u578b\u63a8\u7406\uff0c\u80fd\u591f\u5728PC\u4e0a\u6a21\u62dfNPU\u8fd0\u884cRKNN\u6a21\u578b\u5e76\u83b7\u53d6\u63a8\u7406\u7ed3\u679c\uff1b\u6216\u5c06RKNN\u6a21\u578b\u5206\u53d1\u5230\u6307\u5b9a\u7684NPU\u8bbe\u5907\u4e0a\u8fdb\u884c\u63a8\u7406\u5e76\u83b7\u53d6\u63a8\u7406\u7ed3\u679c\u3002<\/p>\n\n\n\n<p>\u6027\u80fd\u548c\u5185\u5b58\u8bc4\u4f30\uff0c\u8fde\u63a5\u677f\u5361\uff0c\u5c06RKNN\u6a21\u578b\u5206\u53d1\u5230\u6307\u5b9aNPU\u8bbe\u5907\u4e0a\u8fd0\u884c\uff0c\u7136\u540e\u8bc4\u4f30\u6a21\u578b\u5728\u5b9e\u9645\u8bbe\u5907\u4e0a\u8fd0\u884c\u65f6\u7684\u6027\u80fd\u548c\u5185\u5b58\u5360\u7528\u60c5\u51b5\u3002<\/p>\n\n\n\n<p>\u91cf\u5316\u7cbe\u5ea6\u5206\u6790\uff0c\u8be5\u529f\u80fd\u5c06\u7ed9\u51fa\u6a21\u578b\u91cf\u5316\u540e\u6bcf\u4e00\u5c42\u63a8\u7406\u7ed3\u679c\u4e0e\u6d6e\u70b9\u6a21\u578b\u63a8\u7406\u7ed3\u679c\u7684\u4f59\u5f26\u8ddd\u79bb\uff0c\u4ee5\u5206\u6790\u91cf\u5316\u8bef\u5dee\u662f\u5982\u4f55\u51fa\u73b0\u7684\uff0c\u4e3a\u63d0\u9ad8\u91cf\u5316\u6a21\u578b\u7684\u7cbe\u5ea6\u63d0\u4f9b\u601d\u8def\u3002<\/p>\n\n\n\n<p>\u6a21\u578b\u52a0\u5bc6\u529f\u80fd\uff0c\u4f7f\u7528\u6307\u5b9a\u7684\u52a0\u5bc6\u7b49\u7ea7\u5c06RKNN\u6a21\u578b\u6574\u4f53\u52a0\u5bc6\uff0c\u56e0\u4e3aRKNN\u6a21\u578b\u7684\u89e3\u5bc6\u662f\u5728NPU\u9a71\u52a8\u4e2d\u5b8c\u6210\u7684\uff0c\u6240\u4ee5\u4f7f\u7528\u52a0\u5bc6\u6a21\u578b\u65f6\uff0c\u4e0e\u666e\u901aRKNN\u6a21\u578b\u4e00\u6837\u52a0\u8f7d\u5373\u53ef\uff0cNPU\u9a71\u52a8\u4f1a\u81ea\u52a8\u5bf9\u5176\u8fdb\u884c\u89e3\u5bc6\u3002<\/p>\n\n\n\n<p>\u4f7f\u7528Toolkit-lite2\uff0c\u53ef\u4ee5\u8fd0\u884c\u5728PC\u4e0a\uff0c\u901a\u8fc7\u6a21\u62df\u5668\u8fd0\u884c\u6a21\u578b\uff0c\u7136\u540e\u8fdb\u884c\u63a8\u7406\uff0c\u6216\u8005\u6a21\u578b\u8f6c\u6362\u7b49\u64cd\u4f5c\uff1b\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5728\u8fde\u63a5\u7684\u677f\u5361NPU\u4e0a\uff0c \u5c06RKNN\u6a21\u578b\u4f20\u5230NPU\u8bbe\u5907\u4e0a\u8fd0\u884c\uff0c\u518d\u4eceNPU\u8bbe\u5907\u4e0a\u83b7\u53d6\u63a8\u7406\u7ed3\u679c\u3001\u6027\u80fd\u4fe1\u606f\u7b49\u7b49\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1.2 \u4ee5yolo v8\u4e3a\u4f8b\u8fdb\u884c\u6a21\u578b\u8f6c\u6362<\/h2>\n\n\n\n<p>RKNN-Toolkit2\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u529f\u80fd\uff0c\u5305\u62ec\u6a21\u578b\u8f6c\u6362\u3001\u6027\u80fd\u5206\u6790\u3001\u90e8\u7f72\u8c03\u8bd5\u7b49\u3002\u672c\u8282\u5c06\u91cd\u70b9\u4ecb\u7ecdRKNN\u0002Toolkit2\u7684\u6a21\u578b\u8f6c\u6362\u529f\u80fd\u3002\u6a21\u578b\u8f6c\u6362\u662fRKNN-Toolkit2\u7684\u6838\u5fc3\u529f\u80fd\u4e4b\u4e00\uff0c\u5b83\u5141\u8bb8\u7528\u6237\u5c06\u5404\u79cd\u4e0d\u540c\u6846\u67b6\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u8f6c\u6362\u4e3aRKNN\u683c\u5f0f\u4ee5\u5728RKNPU\u4e0a\u8fd0\u884c\u3002\u7528\u6237\u53ef\u53c2\u8003\u5982\u4e0b\u6a21\u578b\u8f6c\u6362\u6d41\u7a0b\u56fe\u4ee5\u7406\u89e3\u5982\u4f55\u8fdb\u884c\u6a21\u578b\u8f6c\u6362\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"818\" height=\"1024\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-2-818x1024.png\" alt=\"\" class=\"wp-image-1223\" style=\"width:574px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-2-818x1024.png 818w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-2-240x300.png 240w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-2-768x961.png 768w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-2.png 1010w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><\/figure>\n<\/div>\n\n\n<p>\u9996\u5148\u83b7\u53d6yolo v8\u6743\u91cd\u6587\u4ef6\uff0c\u53ef\u4ee5\u4f7f\u7528\u5b98\u65b9\u9884\u8bad\u7ec3pt\u6587\u4ef6\uff0c\u6216\u81ea\u884c\u8bad\u7ec3\uff08\u6216\u8005\u4f7f\u7528AIMC YOLO\u5728\u7ebf\u8bad\u7ec3\u5e73\u53f0\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"520\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-1024x520.png\" alt=\"\" class=\"wp-image-1221\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-1024x520.png 1024w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-300x152.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-768x390.png 768w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-1536x780.png 1536w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-1-2048x1040.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u793a\u4f8b yolo v8n\u6a21\u578b\uff08\u8f93\u51fa12\u4e2a\u7c7b\u522b\uff09<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-38568a94-c83d-4b8b-9623-772294a4cd68\" href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/model.pt_.zip\">model.pt<\/a><a href=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/model.pt_.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-38568a94-c83d-4b8b-9623-772294a4cd68\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1.2.1 \u5c06pytorch\u6a21\u578b\u8f6c\u6362\u4e3a\u4e2d\u95f4\u683c\u5f0fONNX<\/h3>\n\n\n\n<p>\u5728\u8f6c\u6362yolo v8\/11\u6a21\u578b\u65f6\uff0c\u63a8\u8350\u4f7f\u7528RK\u5b98\u65b9\u4fee\u6539\u540e\u7684\u4ee3\u7801<strong>RK \u5e73\u53f0\u4e0b\u7684 YOLOv8\uff0c\u5e76\u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528 Ultralytics \u539f\u59cb\u5bfc\u51fa\u7684 ONNX\u3002<\/strong><\/p>\n\n\n\n<p>\u539f\u56e0\u5728\u4e8e\uff1a<br><strong>\u745e\u82af\u5fae\u5b98\u65b9\u5bf9 YOLOv8 \u7684\u8f93\u51fa\u7ed3\u6784\u505a\u4e86\u9488\u5bf9 NPU \u7684\u4fee\u6539\u3002<\/strong><\/p>\n\n\n\n<p><strong>\u745e\u82af\u5fae\u63d0\u4f9b\u7684YOLOV8\u5de5\u7a0b\u5730\u5740\uff1a<\/strong><a href=\"https:\/\/github.com\/airockchip\/ultralytics_yolov8\">https:\/\/github.com\/airockchip\/ultralytics_yolov8<\/a><\/p>\n\n\n\n<p>RK\u5b98\u65b9\u7684\u89e3\u91ca\u4e3a\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u5728\u57fa\u4e8e\u4e0d\u5f71\u54cd\u8f93\u51fa\u7ed3\u679c, \u4e0d\u9700\u8981\u91cd\u65b0\u8bad\u7ec3\u6a21\u578b\u7684\u6761\u4ef6\u4e0b, \u6709\u4ee5\u4e0b\u6539\u52a8:<\/p>\n\n\n\n<p>\u4fee\u6539\u8f93\u51fa\u7ed3\u6784, \u79fb\u9664\u540e\u5904\u7406\u7ed3\u6784. (\u540e\u5904\u7406\u7ed3\u679c\u5bf9\u4e8e\u91cf\u5316\u4e0d\u53cb\u597d)<\/p>\n\n\n\n<p>dfl \u7ed3\u6784\u5728 NPU \u5904\u7406\u4e0a\u6027\u80fd\u4e0d\u4f73\uff0c\u79fb\u81f3\u6a21\u578b\u5916\u90e8\u7684\u540e\u5904\u7406\u9636\u6bb5\uff0c\u6b64\u64cd\u4f5c\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\u53ef\u63d0\u5347\u63a8\u7406\u6027\u80fd\u3002<\/p>\n\n\n\n<p>\u6a21\u578b\u8f93\u51fa\u5206\u652f\u65b0\u589e\u7f6e\u4fe1\u5ea6\u7684\u603b\u548c\uff0c\u7528\u4e8e\u540e\u5904\u7406\u9636\u6bb5\u52a0\u901f\u9608\u503c\u7b5b\u9009\u3002<br><\/p>\n<\/blockquote>\n\n\n\n<p>\u8bad\u7ec3\u9636\u6bb5\uff1a\u4ecd\u7136\u53ef\u4ee5\u4f7f\u7528 Ultralytics \u5b98\u65b9 YOLOv8<\/p>\n\n\n\n<p>\u5bfc\u51fa \/ \u90e8\u7f72\u9636\u6bb5\uff1a\u5207\u6362\u5230\u745e\u82af\u5fae\u5b98\u65b9 YOLOv8 \u5de5\u7a0b<\/p>\n\n\n\n<p>\u9996\u5148\u590d\u5236\u745e\u82af\u5fae\u5b98\u65b9yolo v8\u6587\u4ef6\u4e2d\u7684<a href=\"https:\/\/github.com\/airockchip\/ultralytics_yolov8\">ultralytics<\/a>\u6587\u4ef6\u5939\u81f3\u5de5\u4f5c\u76ee\u5f55\u4e0b\uff0c\u4f7f\u7528\u5982\u4e0b\u7a0b\u5e8f\u5f15\u7528\u8be5\u5e93<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import numpy as np\nfrom ultralytics import YOLO\nimport matplotlib.pyplot as plt\nfrom PIL import Image\nimport cv2\nimport shutil\nimport os\n \nmodel = YOLO(\"\/home\/aimc\/Project\/rknn\/test\/model.pt\")\n \n# \u5bfc\u51fa\u6a21\u578b\nresult = model.export(format='rknn')<\/pre>\n\n\n\n<p>\u8fd0\u884c\u540e\u547d\u4ee4\u884c\u72b6\u6001\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(rknn_venv) root@aimc-AI:\/home\/aimc\/Project\/rknn# python test\/rknn_transfer_yolov8.py \nUltralytics YOLOv8.2.82 \ud83d\ude80 Python-3.12.3 torch-2.3.1+cpu CPU (unknown)\nModel summary (fused): 168 layers, 3,008,183 parameters, 0 gradients, 8.1 GFLOPs\n\nPyTorch: starting from '\/home\/aimc\/Project\/rknn\/test\/model.pt' with input shape (1, 3, 640, 640) BCHW and output shape(s) ((1, 64, 80, 80), (1, 13, 80, 80), (1, 1, 80, 80), (1, 64, 40, 40), (1, 13, 40, 40), (1, 1, 40, 40), (1, 64, 20, 20), (1, 13, 20, 20), (1, 1, 20, 20)) (5.9 MB)\n\nRKNN: starting export with torch 2.3.1+cpu...\n\nRKNN: feed \/home\/aimc\/Project\/rknn\/test\/model.onnx to RKNN-Toolkit or RKNN-Toolkit2 to generate RKNN model.\nRefer https:\/\/github.com\/airockchip\/rknn_model_zoo\/tree\/main\/models\/CV\/object_detection\/yolo\nRKNN: export success \u2705 0.2s, saved as '\/home\/aimc\/Project\/rknn\/test\/model.onnx' (11.5 MB)\n\nExport complete (0.5s)\nResults saved to \/home\/aimc\/Project\/rknn\/test\nPredict:         yolo predict task=detect model=\/home\/aimc\/Project\/rknn\/test\/model.onnx imgsz=640  \nValidate:        yolo val task=detect model=\/home\/aimc\/Project\/rknn\/test\/model.onnx imgsz=640 data=\/home\/aimc\/SERVER\/yolo_web\/YoloUltralyticsWeb\/static\/datasets\/1\/data.yaml  \nVisualize:       https:\/\/netron.app<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"554\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-3-1024x554.png\" alt=\"\" class=\"wp-image-1225\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-3-1024x554.png 1024w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-3-300x162.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-3-768x415.png 768w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/02\/image-3.png 1102w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1.2.2 ONNX\u8f6c\u4e3aRKNN<\/h3>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def onnx2rknn(\n    onnx_model_path: str,\n    output_rknn_path: str,\n    target_platform: str = \"rk3588\",\n    do_quantization: bool = True,\n    dataset_path: str = None,\n    mean_values: list = None,\n    std_values: list = None,\n    quant_img_RGB2BGR: bool = False,\n    quantized_algorithm: str = \"normal\",\n    quantized_method: str = \"channel\",\n    optimization_level: int = 3,\n    verbose: bool = True,\n    verbose_file: str = None\n) -> bool:\n    \"\"\"\n    \u57fa\u4e8e RKNN SDK V2.3.2 \u5b9e\u73b0 ONNX \u6a21\u578b\u8f6c RKNN \u6a21\u578b\n\n    \u53c2\u8003\u624b\u518c\u7ae0\u8282\uff1a3.1 \u6a21\u578b\u8f6c\u6362\u30016 \u91cf\u5316\u8bf4\u660e\n    \u652f\u6301\u529f\u80fd\uff1a\u6a21\u578b\u8f6c\u6362\u3001INT8\u91cf\u5316\u3001\u81ea\u5b9a\u4e49\u5f52\u4e00\u5316\u53c2\u6570\u3001\u76ee\u6807\u5e73\u53f0\u6307\u5b9a\n\n    Args:\n        onnx_model_path: ONNX\u6a21\u578b\u6587\u4ef6\u8def\u5f84\uff08\u5fc5\u586b\uff09\n        output_rknn_path: \u8f93\u51faRKNN\u6a21\u578b\u8def\u5f84\uff08\u5fc5\u586b\uff09\n        target_platform: \u76ee\u6807\u786c\u4ef6\u5e73\u53f0\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4rk3588\uff0c\u652f\u6301\u5217\u8868\u89c1\u624b\u518c1.3\uff09\n                        \u652f\u6301\u503c\uff1ark2118\u3001rk3562\u3001rk3566\u3001rk3568\u3001rk3576\u3001rk3588\u3001\n                               rv1103\u3001rv1103b\u3001rv1106\u3001rv1106b\u3001rv1126b\n        do_quantization: \u662f\u5426\u5f00\u542fINT8\u91cf\u5316\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4True\uff09\n        dataset_path: \u91cf\u5316\u6821\u6b63\u96c6\u8def\u5f84\uff08do_quantization=True\u65f6\u5fc5\u586b\uff0c\u683c\u5f0f\u89c1\u624b\u518c3.1.4\uff09\n                      \u6821\u6b63\u96c6\u4e3atxt\u6587\u4ef6\uff0c\u6bcf\u884c\u662f\u56fe\u7247\u8def\u5f84\uff08jpg\/png\/bmp\/npy\uff09\n        mean_values: \u8f93\u5165\u5747\u503c\u5f52\u4e00\u5316\u53c2\u6570\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4None\uff0c\u683c\u5f0f\uff1a[[c1, c2, c3]]\uff09\n        std_values: \u8f93\u5165\u6807\u51c6\u5dee\u5f52\u4e00\u5316\u53c2\u6570\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4None\uff0c\u683c\u5f0f\uff1a[[c1, c2, c3]]\uff09\n        quant_img_RGB2BGR: \u91cf\u5316\u65f6\u662f\u5426\u5c06RGB\u8f6cBGR\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4False\uff0c\u4ec5\u91cf\u5316\u65f6\u751f\u6548\uff09\n        quantized_algorithm: \u91cf\u5316\u7b97\u6cd5\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4normal\uff0c\u652f\u6301normal\/kl_divergence\/mmse\uff09\n        quantized_method: \u91cf\u5316\u65b9\u5f0f\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4channel\uff0c\u652f\u6301layer\/channel\uff09\n        optimization_level: \u6a21\u578b\u4f18\u5316\u7b49\u7ea7\uff08\u53ef\u9009\uff0c\u9ed8\u8ba43\uff0c0=\u5173\u95ed\u6240\u6709\u4f18\u5316\uff0c3=\u5f00\u542f\u6240\u6709\u4f18\u5316\uff09\n        verbose: \u662f\u5426\u6253\u5370\u8be6\u7ec6\u65e5\u5fd7\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4True\uff09\n        verbose_file: \u65e5\u5fd7\u8f93\u51fa\u6587\u4ef6\uff08\u53ef\u9009\uff0c\u9ed8\u8ba4None\uff0cverbose=True\u65f6\u751f\u6548\uff09\n\n    Returns:\n        bool: \u8f6c\u6362\u6210\u529f\u8fd4\u56deTrue\uff0c\u5931\u8d25\u8fd4\u56deFalse\n    \"\"\"\n    # 1. \u6821\u9a8c\u5fc5\u586b\u53c2\u6570\n    if not os.path.exists(onnx_model_path):\n        print(f\"\u9519\u8bef\uff1aONNX\u6a21\u578b\u6587\u4ef6\u4e0d\u5b58\u5728 -> {onnx_model_path}\")\n        return False\n    if do_quantization and (dataset_path is None or not os.path.exists(dataset_path)):\n        print(f\"\u9519\u8bef\uff1a\u91cf\u5316\u6a21\u5f0f\u4e0b\u5fc5\u987b\u63d0\u4f9b\u6709\u6548\u6821\u6b63\u96c6\u8def\u5f84 -> {dataset_path}\")\n        return False\n\n    # 2. \u521d\u59cb\u5316RKNN\u5bf9\u8c61\uff08\u624b\u518c3.1.1\uff09\n    rknn = RKNN(\n        verbose=verbose,\n        verbose_file=verbose_file\n    )\n\n    try:\n        # 3. \u6a21\u578b\u8f6c\u6362\u914d\u7f6e\uff08\u624b\u518c3.1.2\u30016.2\uff09\n        print(\"-> \u914d\u7f6e\u6a21\u578b\u8f6c\u6362\u53c2\u6570\")\n        config_params = {\n            \"target_platform\": target_platform,\n            \"quant_img_RGB2BGR\": quant_img_RGB2BGR,\n            \"quantized_algorithm\": quantized_algorithm,\n            \"quantized_method\": quantized_method,\n            \"optimization_level\": optimization_level,\n            \"quantized_dtype\": \"asymmetric_quantized-8\"  # \u4ec5\u652f\u6301INT8\u91cf\u5316\uff08\u624b\u518c6.2.1\uff09\n        }\n        # \u6dfb\u52a0\u5f52\u4e00\u5316\u53c2\u6570\uff08\u82e5\u6709\uff09\n        if mean_values is not None:\n            config_params[\"mean_values\"] = mean_values\n        if std_values is not None:\n            config_params[\"std_values\"] = std_values\n        \n        ret = rknn.config(**config_params)\n        if ret != 0:\n            print(f\"\u9519\u8bef\uff1a\u6a21\u578b\u914d\u7f6e\u5931\u8d25\uff0c\u8fd4\u56de\u7801 -> {ret}\")\n            return False\n\n        # 4. \u52a0\u8f7dONNX\u6a21\u578b\uff08\u624b\u518c3.1.3\uff09\n        print(f\"-> \u52a0\u8f7dONNX\u6a21\u578b\uff1a{onnx_model_path}\")\n        ret = rknn.load_onnx(model=onnx_model_path)\n        if ret != 0:\n            print(f\"\u9519\u8bef\uff1aONNX\u6a21\u578b\u52a0\u8f7d\u5931\u8d25\uff0c\u8fd4\u56de\u7801 -> {ret}\")\n            return False\n\n        # 5. \u6784\u5efaRKNN\u6a21\u578b\uff08\u624b\u518c3.1.4\uff09\n        print(\"-> \u6784\u5efaRKNN\u6a21\u578b\uff08\u91cf\u5316\u6a21\u5f0f\uff1a{}\uff09\".format(\"\u5f00\u542f\" if do_quantization else \"\u5173\u95ed\"))\n        build_params = {\n            \"do_quantization\": do_quantization,\n        }\n        if do_quantization:\n            build_params[\"dataset\"] = dataset_path\n        ret = rknn.build(**build_params)\n        if ret != 0:\n            print(f\"\u9519\u8bef\uff1aRKNN\u6a21\u578b\u6784\u5efa\u5931\u8d25\uff0c\u8fd4\u56de\u7801 -> {ret}\")\n            return False\n\n        # 6. \u5bfc\u51faRKNN\u6a21\u578b\uff08\u624b\u518c3.1.5\uff09\n        print(f\"-> \u5bfc\u51faRKNN\u6a21\u578b\uff1a{output_rknn_path}\")\n        ret = rknn.export_rknn(export_path=output_rknn_path)\n        if ret != 0:\n            print(f\"\u9519\u8bef\uff1aRKNN\u6a21\u578b\u5bfc\u51fa\u5931\u8d25\uff0c\u8fd4\u56de\u7801 -> {ret}\")\n            return False\n\n        print(\"=\" * 50)\n        print(f\"ONNX\u8f6cRKNN\u6210\u529f\uff01\")\n        print(f\"\u8f93\u5165ONNX\uff1a{onnx_model_path}\")\n        print(f\"\u8f93\u51faRKNN\uff1a{output_rknn_path}\")\n        print(f\"\u76ee\u6807\u5e73\u53f0\uff1a{target_platform}\")\n        print(f\"\u91cf\u5316\u6a21\u5f0f\uff1a{'\u5f00\u542f' if do_quantization else '\u5173\u95ed'}\")\n        print(\"=\" * 50)\n        return True\n\n    except Exception as e:\n        print(f\"\u9519\u8bef\uff1a\u8f6c\u6362\u8fc7\u7a0b\u4e2d\u53d1\u751f\u5f02\u5e38 -> {str(e)}\")\n        return False\n    finally:\n        # 7. \u91ca\u653eRKNN\u5bf9\u8c61\u8d44\u6e90\uff08\u624b\u518c3.1.1\uff09\n        print(\"-> \u91ca\u653eRKNN\u8d44\u6e90\")\n        rknn.release()<\/pre>\n\n\n\n<p>\u4ee5\u4e0a\u4e3a\u4eceonnx\u8f6c\u6362\u4e3arknn\u6240\u9700\u51fd\u6570\u3002\u73af\u5883\u4f9d\u8d56\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">certifi==2026.1.4\ncharset-normalizer==3.4.4\ncontourpy==1.3.3\ncycler==0.12.1\nfast-histogram==0.14\nfilelock==3.20.3\nflatbuffers==25.12.19\nfonttools==4.61.1\nfsspec==2026.2.0\nidna==3.11\nJinja2==3.1.6\nkiwisolver==1.4.9\nMarkupSafe==3.0.3\nmatplotlib==3.10.8\nml_dtypes==0.5.4\nmpmath==1.3.0\nnetworkx==3.6.1\nnumpy==1.26.4\nnvidia-cublas==13.0.0.19\nnvidia-cublas-cu12==12.1.3.1\nnvidia-cuda-cupti==13.0.48\nnvidia-cuda-cupti-cu12==12.1.105\nnvidia-cuda-nvrtc==13.0.48\nnvidia-cuda-nvrtc-cu12==12.1.105\nnvidia-cuda-runtime==13.0.48\nnvidia-cuda-runtime-cu12==12.1.105\nnvidia-cudnn-cu12==9.1.0.70\nnvidia-cudnn-cu13==9.13.0.50\nnvidia-cufft==12.0.0.15\nnvidia-cufft-cu12==11.0.2.54\nnvidia-cufile==1.15.0.42\nnvidia-curand==10.4.0.35\nnvidia-curand-cu12==10.3.2.106\nnvidia-cusolver==12.0.3.29\nnvidia-cusolver-cu12==11.4.5.107\nnvidia-cusparse==12.6.2.49\nnvidia-cusparse-cu12==12.1.0.106\nnvidia-cusparselt-cu13==0.8.0\nnvidia-nccl-cu12==2.20.5\nnvidia-nccl-cu13==2.27.7\nnvidia-nvjitlink==13.0.39\nnvidia-nvjitlink-cu12==12.9.86\nnvidia-nvshmem-cu13==3.3.24\nnvidia-nvtx==13.0.39\nnvidia-nvtx-cu12==12.1.105\nonnx==1.16.1\nonnxruntime==1.24.1\nopencv-python==4.11.0.86\npackaging==26.0\npandas==3.0.0\npillow==12.1.1\npolars==1.38.1\npolars-runtime-32==1.38.1\nprotobuf==4.25.4\npsutil==7.2.2\npyparsing==3.3.2\npython-dateutil==2.9.0.post0\nPyYAML==6.0.3\nrequests==2.32.5\nruamel.yaml==0.19.1\nscipy==1.17.0\nsetuptools==79.0.1\nsix==1.17.0\nsympy==1.14.0\ntorch==2.3.1+cpu\ntorchaudio==2.3.1+cpu\ntorchvision==0.18.1+cpu\ntqdm==4.67.3\ntriton==3.5.0\ntyping_extensions==4.15.0\nultralytics==8.4.14\nultralytics-thop==2.0.18\nurllib3==2.6.3\nwheel==0.46.3\n<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>RKNN Toolkit2 \u5f00\u53d1\u5957\u4ef6(Python\u63a5\u53e3)\u8fd0\u884c\u5728PC\u5e73\u53f0\uff08x86\/arm64\uff09\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u8f6c\u6362\u3001 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1220,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43,5,1],"tags":[],"class_list":["post-1218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aimc_course","category-ai_hardware","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/comments?post=1218"}],"version-history":[{"count":1,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1218\/revisions"}],"predecessor-version":[{"id":1226,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1218\/revisions\/1226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/media\/1220"}],"wp:attachment":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/media?parent=1218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/categories?post=1218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/tags?post=1218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}