069、TensorFlow Lite Micro的Testing项目:测试与验证
069 TensorFlow Lite Micro的Testing项目:测试与验证
昨晚调试一块STM32U5板子,模型推理结果死活不对——输出全是0.0。折腾到凌晨两点,最后发现是测试用例没跑通,模型量化参数在PC端和MCU端对不上。这种坑,我猜你也踩过。
TFLM的Testing项目,很多人以为只是“跑个单元测试看看绿不绿”,实际上它是你从PC模型到嵌入式部署之间的最后一道防线。今天把这套东西掰开揉碎讲清楚。
Testing项目的骨架:别被目录吓到
打开tensorflow/lite/micro/testing目录,你会看到一堆以_test.cc结尾的文件。这些不是普通的单元测试,它们是跨平台验证脚本。
核心文件就这几个:
micro_test.h:测试框架头文件,别自己写断言宏test_utils.h:辅助函数,比如加载模型、比较张量micro_test.cc:测试入口,负责初始化TFLM运行时
这里踩过坑:有人直接复制PC端的gtest来用,结果在ARM Cortex-M上编译不过。TFLM的测试框架是自包含的,不依赖任何标准库的测试框架,因为嵌入式环境里根本没有gtest。
写一个能跑的测试用例
假设你有一个简单的加法模型,
