一、安装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文件在同路径下,命名相同。

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐