tf.io.SparseFeature
| Просмотреть исходный код на GitHub |
Конфигурация для разбора разреженного входного атрибута из Example.
tf.io.SparseFeature(
index_key, value_key, dtype, size, already_sorted=False
)
Обратите внимание, предпочтительно использовать VarLenFeature (возможно, в сочетании с SequenceExample), чтобы разобрать SparseTensor вместо SparseFeature из-за простоты.
Тесно имитируя SparseTensor, который будет получен при разборе Example с SparseFeature конфигурацией, SparseFeature содержит
value_key: Имя ключа дляFeatureвExample, чьи разобранныеTensorбудут результирующимSparseTensor.values.index_key: Список имен — по одному для каждой размерности в результирующемSparseTensor, чьиindices[i][dim], указывающие на положениеi-го значения вdimразмерности, будут равныi-му значению в атрибуте со значениемindex_key[dim]вExample.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. Для представленияSparseTensorсdense_shapeболее 1 должна использоваться список длинойrank. -
value_key: Имя признака значения. Тип базового признака должен бытьdtype, а его длина всегда должна совпадать с длиной всех признаковindex_key. -
dtype: Тип данных признакаvalue_key. -
size: Целое число Python или список целых чисел, определяющий плотный размер. Должен быть списком, если и только еслиindex_keyявляется списком. В этом случае список должен быть равен длинеindex_key. Для каждого элементаiвсе значения вindex_key[i] атрибуте должны быть в[0, size[i]). -
already_sorted: Логическое значение Python, указывающее, отсортированы ли значения вvalue_keyпо их позициям индекса. В таком случае сортировку пропускают. По умолчанию False (необязательно).
| Атрибуты | |
|---|---|
index_key | Псевдоним namedtuple для поля номер 0 |
value_key | Псевдоним namedtuple для поля номер 1 |
dtype | Псевдоним namedtuple для поля номер 2 |
size | Псевдоним namedtuple для поля номер 3 |
already_sorted | Псевдоним namedtuple для поля номер 4 |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/io/SparseFeature