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 | |
value_key | |
dtype | |
size | |
already_sorted | |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/io/SparseFeature