|
书接上回 一、优化 1、前面提到的两个默认的配置文件:neural_art.json和stm32n6.mpool,我们将其拷贝到当前的工 作目录,并打开neural_art.json进行编辑,添加下面一项内容: "allmems--O3-ec" : { "memory_pool": ./stm32n6.mpool", "options": "--native-float --mvei --cache-maintenance --Ocache-opt --enable-virtual-mempools --Os --optimization 3 --enable-epoch-controller" }
2、使用下面指令重新生成文件: stedgeai generate -m mobilenet_v2_0.35_224_fft_int8.tflite --target stm32n6 --st-neural-art [email]allmems--O3-ec@neural_art.json[/email] 3、 完成后,参考(2.编译和下载)的内容,重新编译后下载,会得到下面的评估结果: 4、性能从118.30inf/s提升到159.30inf/s
二、I/O格式 1、可以看到模型输出为float32类型的数据
2、在应用层,有时候可能需要使用int8,ST的编译器可以支持直接输出int8,而不需要重新修改模型文件,只需要添加--output-data-type int8选项即可,如下: stedgeai generate -m mobilenet_v2_0.35_224_fft_int8.tflite --target stm32n6 --st-neural-art [email]allmems--O3-ec@neural_art.json[/email] --output-data-type int8 3、改变后从右图可以看到,输出格式变为了int8,并且最后一个用于int8到float32转换的epoch被移除了
三、测试数据集格式
四、CubeMX流程 1、
2、添加network,选择框架
3、选择NPU运行时,选择模型,随机数据验证
4、选择串口,波特率921600,使能自动编译和下载
5、编译和下载界面
6、结果
|
《STM32N6视频课程》学习笔记+STM32N6 ST EdgeAI tool工具介绍(二)
《STM32N6视频课程》学习笔记+STM32N6 ST EdgeAI tool工具介绍(一)
《STM32N6视频课程》学习笔记+STM32N6 ISP调试(二)
《STM32N6视频课程》学习笔记+STM32N6 ISP调试(一)
《STM32N6视频课程》学习笔记+使用STM32CubeMX生成STM32N6的ExtMemLoader, FSBL, Appli的一个LED点灯工程
《STM32N6视频课程》学习笔记+STM32N6 功耗测量
《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(三)
《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(二)
《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(一)
《STM32N6视频课程》学习笔记+STM32N6硬件系统设计及注意事项
微信公众号
手机版