TensorFlow函数:tf.SparseFeature
tf.SparseFeature 函数
SparseFeature 类
定义在:tensorflow/python/ops/parsing_ops.py.
请参阅指南:输入和读取器>协议缓冲区示例
从一个Example中分析稀疏输入功能的配置.
请注意,最好使用VarLenFeature(可能与SequenceExample组合)来解析SparseTensors,而不是SparseFeature,由于其简单性.
这将通过解析一个带有SparseFeature配置的一个Example来密切地模仿将获得的SparseTensor,一个SparseFeature包含如下部分:
- value_key:在Example中Feature的键的名称,其解析Tensor将是结果SparseTensor.values.
- index_key:一个名称的列表;一个用于在所产生的SparseTensor中的每个维度,其indices[i][dim]指示的dim维度中的第 i 值的位置将等同于Example中具有键名为index_key [dim]的Feature中的第 i 值.
- size:生成的 SparseTensor. dense_shape 的整数列表.
例如,我们可以表示下面的2D SparseTensor:
SparseTensor(indices=[[3, 1], [20, 0]],
values=[0.5, -1.0]
dense_shape=[100, 3])
带有一个Example输入原型:
features {
feature { key: "val" value { float_list { value: [ 0.5, -1.0 ] } } }
feature { key: "ix0" value { int64_list { value: [ 3, 20 ] } } }
feature { key: "ix1" value { int64_list { value: [ 1, 0 ] } } }
}
并且SparseFeature使用2个index_key配置:
SparseFeature(index_key=["ix0", "ix1"],
value_key="val",
dtype=tf.float32,
size=[100, 3])
字段:
index_key: 单个字符串名称或索引功能的字符串名称列表.对于每个键, 基础特征的类型必须是 int64 的, 并且它的长度必须始终与 value_key 特征的匹配.要代表 SparseTensors 与 dense_shape 等级高于1一个长度等级名单应该使用.value_key: 值功能的名称.基础特征的类型必须是 dtype 的, 并且它的长度必须与所有 index_keys 的特征相匹配.dtype: value_key 特征的数据类型.大小: 一个 Python int 或它的列表,
它指定稠密的形状.应该是一个列表, 如果和仅当 index_key 是一个列表.在这种情况下, 列表必须等于 index_key 的长度.每个条目 i 所有值的 index_key [i] 功能必须在 [0, 大小 [i]).already_sorted: 一个 Python 布尔值, 用于指定是否已按照 value_key 的索引位置对其进行排序.如果是这样跳过排序.默认为 False (可选).
- index_key:单个字符串名称或索引功能的字符串名称列表.对于每个键,基础功能的类型必须是int64,并且其长度必须始终与 value_key 功能的长度相匹配.为了表示带有dense_shape的rank大于1的SparseTensor s,长度为rank的列表应该被使用.
- value_key:值功能的名称.基础功能的类型必须是dtype,其长度必须始终与所有index_key的特征的相匹配.
- dtype:index_key功能的数据类型.
- size:指定稠密形状的Python int或其列表.应该是一个列表,当且仅当index_key是一个列表.在这种情况下,列表必须等于index_key的长度.每个项 i 中的index_key[i]功能中的所有值都必须在[0, size[i]).
- already_sorted:一个Python布尔值,用来指定值value_key是否已经按索引位置排序.如果这样则跳过排序;默认为false.
属性
- already_sorted
字段编号4的别名 - dtype
字段编号2的别名 - index_key
0字段编号0的别名 - size
字段编号3的别名 - value_key
字段编号1的别名
方法
__new__
@staticmethod
__new__(
cls,
index_key,
value_key,
dtype,
size,
already_sorted=False
)