首页 > 解决方案 > 为什么 tflite 模式中的 SparseIndexVector 是联合?

问题描述

查看架构,我有一个问题。有SparseIndexVector一个类型是联合。

union SparseIndexVector {
  Int32Vector,
  Uint16Vector,
  Uint8Vector
}

这是 的子参数SparsityParameters。但我不知道为什么它应该是联合。

我能猜到的只有一段记忆。是否有任何其他原因必须是联合,而不仅仅是 Int32Vector?

标签: tensorflowflatbufferstensorflow-lite

解决方案


它的设计方式是尽可能高效地存储稀疏张量的元数据。如果张量本身比较小,那么将索引存储为 int32 类型会很浪费。还要考虑一个量化的稀疏张量。如果元数据盲目使用 int32 类型,它很容易变得比张量本身大。


推荐阅读