TensorFlow Lite Micro推理时模型权重与中间值存储在内存哪一部分?
TensorFlow Lite Micro tensor_arena 内存用途说明
tensor_arena 是 TFLM 预留给推理运行时的专用内存池,所有推理阶段的动态内存分配都会从这块空间申请,具体存储内容如下:
- 推理过程的中间张量值:各个算子计算产生的临时输出、中间计算结果都会存储在这里,TFLM内置的内存规划器会自动复用不存在依赖关系的张量空间,大幅降低整体内存占用。
- 模型的输入、输出张量:你喂入网络输入层的输入数据,以及最终推理得到的输出结果,默认都会存储在tensor_arena中。
- 算子运行所需的临时缓冲区:部分特殊算子(比如卷积、大尺寸池化)计算时需要的临时工作区、量化运算的临时参数等运行时动态申请的内存,也会从tensor_arena中分配。
注意:模型权重默认不会存储在tensor_arena中,静态编译部署的模型权重一般直接存放在Flash/ROM中,运行时按需读取,不会占用RAM里的tensor_arena空间。只有你手动将动态加载的模型权重主动存入这块空间时,才会占用它的容量。
内容的提问来源于stack exchange,提问作者Joan Mihali
相关产品推荐
相关产品推荐

