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по порядку их индексов. В случае утвердительного ответа, пропускается сортировка. По умолчанию ложь (необязательно).
| Атрибуты | |
|---|---|
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.3/api_docs/python/tf/io/SparseFeature