kendryte / nncase

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

如何输出网络最终的反量化结果并显示在屏幕上? #34

Closed changwenkai101 closed 5 years ago

changwenkai101 commented 5 years ago

使用TF尝试构建了一个分割的网络,在PC上运行良好,经过nncase_v0.1转换为kmodel后,主体部分是一堆卷积,和本问题有关的模型的最后几行信息如下:

image

使用了maix bit开发板,固件0.4.0_44_minimum,下载进上述网络模型kmodel后打印网络信息的最后几行如下:

image

上述两个网络信息相对比,感觉后者最后的“layer[55] KL_INVALID, 16 bytes”对应前者网络信息的“56:Logistic 1x8x64x128->1x8x64x128”,而这在原网络中是个Sigmoid函数,那么

问题1:加载到开发板后的模型信息显示INVALID等关键字,但Sigmoid函数在nncase_v0.1中是支持的,实际运行中,模型是否真正运行了Sigmoid函数?

由于图像分割最终需要在屏幕上输出一幅图,参考http://blog.sipeed.com/p/673.html#more-673 输出了自己网络第53层的特征图,程序如下:

image

中间层的fmap可以显示,但是始终无法获得最终的网络输出,加载kmodel运行到不同层,打印出输出的信息如下:

image

感觉[54]和[55]是参与量化的参数,因此

问题2:如何获得网络最终输出的结果,即最终的经过kmodel中layer[54]和layer[55]后的结果?能生成一幅图像显示在小屏幕上的那种

谢谢!

sunnycase commented 5 years ago

请使用 kendryte standalone SDK 最新版,其他第三方 SDK 的问题请联系相关厂商。