K230部署yolov8目标检测
例如:我的k230使用的镜像支持的nncase版本是2.9.0,我的电脑是Linux系统python版本是3.8那么我就要下载蓝色框的文件。接下来是.onnx文件转换为.kmodel文件,在工程中打开脚本转换工具文件夹找到...\test_yolov8\classify中的“to_kmodel.py"文件,将这个文件复制到工程文件夹下。到此我们的环境配置就完成了,可以先在工程中创建一个python
一、安装pycharm,使用python3.10版本。在pycharm中安装ultralytics库
方法一:在终端中运行pip install ultralytics
pip install ultralytics
方法二:在pycharm软件包中搜索安装
二、安装nncase
首先要知道我们的k230刷入的镜像支持的nncase版本是多少,由于我使用的是01studio的k230。在嘉楠社区中下载镜像的网站里嘉楠开发者社区-资料下载 我使用的镜像是图中标注这个。在镜像名称上写着nncase_v2.9。所以我在下载.whl文件时要下载对应的版本。

然后进入网址Releases · kendryte/nncase · GitHub 在网站里找我们要下载的两个.whl文件。在上一步查询了我的k230镜像支持的nncase是2.9.0版本。所以我在2.9.0版本中查找,如果你是其他版本在网站中向下滑动能找到对应的版本。由于我的电脑是windows系统pycharm环境是python3.10,所以我需要下载红框的.whl文件(这是需要的第一个文件)。
注意:文件名称中“nncase-2.9.0”是nncase的版本对应k230镜像支持的nncase版本;“cp310”是python版本3.10这是和电脑中的python版本相对应的;“win”就是windows系统与自己电脑系统对应。(这些需要根据自己的k230镜像支持的nncase版本、电脑系统、python版本自行选择对应文件。例如:我的k230使用的镜像支持的nncase版本是2.9.0,我的电脑是Linux系统python版本是3.8那么我就要下载蓝色框的文件。
我们还需要下载第二个.whl文件,点击黑色框的“Show all 20 assets”

点击后所有文件显示出来

我们要在黄色框中的两个文件中下载其中一个,根据自己电脑系统,windows系统下载第二个,Linux系统下载第一个。
二、安装.net7.0并添加环境变量
下载 .NET 7.0 (Linux、macOS 和 Windows)在网站中下载安装后查看自己的.net7.0安装在哪里。点击键盘上win+r打开运行输入cmd按下回车打开命令提示符输入以下指令并按下回车
dotnet --list-sdks
接下来能看到返回的已经安装的.net和路径
注意我这里有两个.net版本。一定需要7.0的版本!!!!!
版本后面的是安装位置。记住这个安装位置后点击win菜单搜索环境变量

打开后点击红框中新建

这里显示添加变量名,变量名我填的NET,变量值就是.net7.0安装的路径。填入后点击确定。

三、创建工程下载安装相关库和文件
在pycharm中创建一个工程文件夹,将下载的两个.whl文件复制到文件夹内后点击红框中的终端
在下方终端中输入以下指令后敲击回车安装nncase2.9,等待安装完成。
pip install nncase==2.9
安装完成后再在终端中输入以下指令后敲击回车,等待安装完成。
pip install nncase_kpu-2.*-py2.py3-none-win_amd64.whl
安装完成后添加nncase环境变量,添加过程与步骤二中添加.net环境变量步骤相同,变量名输入为nncase,变量值为nncase安装路径。安装路径可以在命令提示符中输入以下指令查看
pip show nncase
接下来再在pycharm终端中输入以下指令后敲击回车,等待安装完成。
pip install onnx
安装完成后再在终端中输入以下指令后敲击回车,等待安装完成。
pip install onnxruntime
安装完成后再在终端中输入以下指令后敲击回车,等待安装完成。
pip install onnxsim
安装完后浏览器进入开始下载模型转换脚本工具。下载完成后解压到工程文件夹
https://kendryte-download.canaan-creative.com/developer/k230/yolo_files/test_yolov8.zip
接下来我们还需要下载最后一个文件libomp140,进入网站下载libomp140.x86_64.dll : Free .DLL Download 下载完成后将“libomp140.x86_64.dll”复制到C:\Windows\System32内。
到此我们的环境配置就完成了,可以先在工程中创建一个python文件将我们的.pt文件转为.onnx文件转换完的.onnx文件与.pt文件同路径。
from ultralytics import YOLO
# 加载 YOLOv8 模型
model = YOLO(r'C:\Users\31014\PycharmProjects\YOLO\runs\detect\train4\weights\best.pt') # 替换为你的 .pt 文件路径
# 导出为 ONNX 格式
model.export(format="onnx", imgsz=(320, 320), dynamic=False, simplify=True)
print("模型已成功转换为 ONNX 格式!")
接下来是.onnx文件转换为.kmodel文件,在工程中打开脚本转换工具文件夹找到...\test_yolov8\classify中的“to_kmodel.py"文件,将这个文件复制到工程文件夹下。在pycharm终端中输入
python to_kmodel.py --target k230 --model ../../runs/classify/train/weights/best.onnx --dataset ../test --input_width 320 --input_height 320 --ptq_option 0
更改:--model后面的路径,更改为要转换的onnx的路径。
--dataset后面的路径,更改为...test_yolov8文件夹中test路径。
--input_width和--input_height 320后面的参数模型训练时设置多少就输入多少,这里我使用时输入为320(k230例程是320,同理模型训练时我也设置为320)
输入并修改完成后敲击回车。有一个警告不用理会,等待代码运行完。生成的.kmodel文件与.onnx文件在同路径下,命名相同。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)