为什么 tflite 模式中的 SparseIndexVector 是并集?
Why SparseIndexVector in tflite schema is union?
查看架构,我有一个问题。有 SparseIndexVector
类型是 union.
union SparseIndexVector {
Int32Vector,
Uint16Vector,
Uint8Vector
}
这是SparsityParameters
的子参数。但是不知道为什么要union
我唯一能猜到的是记忆。除了 Int32Vector 之外,还有其他原因必须是联合吗?
这样设计是为了尽可能高效地存储稀疏张量的元数据。如果张量本身比较小,用 int32 类型存储索引会很浪费。还要考虑一个量化的稀疏张量。如果元数据盲目使用int32类型,很容易变得比张量本身大。
查看架构,我有一个问题。有 SparseIndexVector
类型是 union.
union SparseIndexVector {
Int32Vector,
Uint16Vector,
Uint8Vector
}
这是SparsityParameters
的子参数。但是不知道为什么要union
我唯一能猜到的是记忆。除了 Int32Vector 之外,还有其他原因必须是联合吗?
这样设计是为了尽可能高效地存储稀疏张量的元数据。如果张量本身比较小,用 int32 类型存储索引会很浪费。还要考虑一个量化的稀疏张量。如果元数据盲目使用int32类型,很容易变得比张量本身大。