TensorFlow 2生态系统:从模型转换到边缘联邦学习
1. TensorFlow Lite基础
1.1 量化与FlatBuffers
TensorFlow Lite支持将值的精度从全精度浮点数降低到半精度浮点数(float16)或8位整数。对于选定的CNN模型,TensorFlow报告了在准确性、延迟和空间方面的多种权衡。
FlatBuffers是一种开源格式,专为在移动和嵌入式设备上序列化数据而优化。它最初由Google为游戏开发和其他对性能要求较高的应用程序创建。FlatBuffers支持在不解析/解包的情况下访问序列化数据,以实现快速处理。该格式通过避免在内存中进行不必要的多次复制,实现了内存效率和速度的优化,并且可以跨多种平台和语言使用,包括C++、C#、C、Go、Java、JavaScript、Lobster、Lua、TypeScript、PHP、Python和Rust。
1.2 移动转换器与优化解释器
使用TensorFlow生成的模型需要转换为TensorFlow Lite模型。转换器可以引入优化措施,以改善二进制文件大小和性能。例如,转换器可以去除计算图中与推理不直接相关但在训练中需要的所有节点。
TensorFlow Lite在高度优化的解释器上运行,该解释器用于优化底层计算图,而计算图又用于描述机器学习模型。解释器内部使用多种技术,通过引入静态图顺序和确保更好的内存分配来优化计算图。解释器核心单独占用约100 kb,包含所有支持的内核时约占用300 kb。
1.3 支持的平台
TensorFlow Lite支持多种平台:
| 平台 | 支持的语言 | <
超级会员免费看
订阅专栏 解锁全文
1928

被折叠的 条评论
为什么被折叠?



