tf.io.SparseFeature
Конфигурация для разбора разреженного входного признака из Example.
tf.io.SparseFeature(
index_key, value_key, dtype, size, already_sorted=False
)
Обратите внимание: для разбора SparseTensors рекомендуется использовать VarLenFeature (возможно, в сочетании с SequenceExample) вместо SparseFeature, поскольку это проще.
Точно воспроизводя SparseTensor, который будет получен при разборе Example с конфигурацией SparseFeature, SparseFeature содержит:
value_key: имя ключа дляFeatureвExample, разобранноеTensorкоторого станет результирующимSparseTensor.values.index_key: список имён — по одному для каждого измерения результирующегоSparseTensor,indices[i][dim]которого указывает положениеi-го значения вdim-м измерении и будет равноi-му значению в Feature с ключомindex_key[dim]вExample.size: список целых чисел для результирующегоSparseTensor.dense_shape.
Например, можно представить следующий двумерный 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 с двумя index_key
SparseFeature(index_key=["ix0", "ix1"],
value_key="val",
dtype=tf.float32,
size=[100, 3])
| Поля | |
|---|---|
index_key | Одна строка с именем или список строк с именами индексных признаков. Для каждого ключа тип соответствующего признака должен быть int64, а его длина всегда должна совпадать с длиной признака value_key. Для представления SparseTensors с dense_shape, значение rank которого больше 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/api_docs/python/tf/io/SparseFeature