kendryte / nncase

Open deep learning compiler stack for Kendryte AI accelerators ✨
Apache License 2.0
750 stars 182 forks source link

ncc compile 舍弃 --inference-type这个参数了吗?如果舍弃了,我应该如何将onnx编译到uint8格式的kmodel? #374

Closed atyzy0 closed 2 years ago

atyzy0 commented 3 years ago

我是在这个地址下载的命令行工具:https://github.com/kendryte/nncase/releases/download/v1.0.0-beta2/nncase-windows-2019-x86_64.zip

它可以成功编译我的onnx,但是不是我期望的uint8,而是f32。即使我将所有可以设置到uint8的参数都设置了,还是f32的。

我注意到这个版本和beta1版本的的命令行工具均不支持--inference-type。 而其它版本的命令行工具都无法全部支持我模型的所有算子或操作

zhen8838 commented 3 years ago

@atyzy0 请参考yolox的demo

zhen8838 commented 3 years ago

使用python接口可以满足您的需求. 建议你可以从ci下载最新版的nncase binary文件,可以把python目录和lib加到你的环境变量中进行使用.可以参考 #359

zhen8838 commented 3 years ago

具体python接口环境变量设置: #373

caffelearn commented 3 years ago

@zhen8838 参考yolox的demo,可以成功转换自己的onnx模型,ncc infer也正常,但是上板测试时,kmodel无法加载成功(kpu_load_kmodel或kpu_model_load_from_buffer均失败),我的板子是在淘宝官方店买的。请问新的nncase会和板子存在不兼容的问题吗?还是有 别的什么原因?

zhen8838 commented 3 years ago

@caffelearn 你的sdk是如何下载的? 需要手动pull sdk的dev分支,得到最新版的sdk才支持. 如果已经是最新版本的, 你可以试试我提供的yolox的k210代码,如果我提供的可以, 那你可以先排查一下模型是否太大了等原因.

caffelearn commented 3 years ago

@zhen8838 我安装的nncase-1.0.0.20210902-cp37-cp37m-win_amd64.whl,然后下载的https://github.com/kendryte/nncase.git。我不明白你说的dev分支,你能说的详细些吗?具体我要怎么去做,才能在K210上跑起来,现在都蒙了,感觉老版本的onnx转换不过来,新的可以转换,却不能使用,都不知道该怎么办了?

zhen8838 commented 3 years ago

@caffelearn 我不是在example里面写了使用最新的裸机sdk吗,你就下载最新的裸机sdk去测试

caffelearn commented 3 years ago

@zhen8838 不好意思,再次打扰啊,使用最新的裸机sdk,遇到错误 libkendryte.a , this file does not exist,

错误输出: cmake .. -DPROJ=baidu_flower -G "Unix Makefiles" PROJ = baidu_flower -- Check for RISCV toolchain ... -- Using C:/k210/kendryte-toolchain/bin RISCV toolchain CMake Error at lib/nncase/v1/lib/cmake/nncaseruntime/nncaseruntimeTargets.cmake:125 (message): The imported target "kendryte" references the file "C:/k210/kendryte-standalone-sdk-develop/lib/nncase/v1/lib/libkendryte.a" but this file does not exist. Possible reasons include:

zhen8838 commented 3 years ago

@caffelearn 我今天测试一下

zhen8838 commented 3 years ago

@caffelearn 解决了, 更新一下sdk就好了.