tf.compat.v1.keras.layers.DenseFeatures
Слой, который генерирует плотное Tensor на основе заданных feature_columns.
tf.compat.v1.keras.layers.DenseFeatures(
feature_columns, trainable=True, name=None, partitioner=None, **kwargs
)
Обычно каждый пример в обучающих данных описывается FeatureColumns. На первом слое модели эти данные, ориентированные на столбцы, должны быть преобразованы в единый Tensor.
Этот слой можно вызывать несколько раз с различными признаками.
Это версия V1 этого слоя, использующая variable_scope или partitioner для создания переменных, что хорошо работает с PartitionedVariables. Variable scopes устарели в V2, поэтому версия V2 использует name_scopes вместо них. Но в настоящее время это не поддерживает распределенные переменные. Используйте этот слой, если вам нужны распределенные переменные. Используйте аргумент partitioner, если у вас есть модель Keras и вы используете tf.compat.v1.keras.estimator.model_to_estimator для обучения.
Пример:
price = tf.feature_column.numeric_column('price')
keywords_embedded = tf.feature_column.embedding_column(
tf.feature_column.categorical_column_with_hash_bucket("keywords", 10K),
dimension=16)
columns = [price, keywords_embedded, ...]
partitioner = tf.compat.v1.fixed_size_partitioner(num_shards=4)
feature_layer = tf.compat.v1.keras.layers.DenseFeatures(
feature_columns=columns, partitioner=partitioner)
features = tf.io.parse_example(
..., features=tf.feature_column.make_parse_example_spec(columns))
dense_tensor = feature_layer(features)
for units in [128, 64, 32]:
dense_tensor = tf.compat.v1.keras.layers.Dense(
units, activation='relu')(dense_tensor)
prediction = tf.compat.v1.keras.layers.Dense(1)(dense_tensor)
| Аргументы | |
|---|---|
feature_columns | Итерируемый объект, содержащий FeatureColumns, которые будут использоваться в качестве входных данных вашей модели. Все элементы должны быть экземплярами классов, производных от DenseColumn , таких как numeric_column, embedding_column, bucketized_column, indicator_column. Если у вас есть категориальные признаки, вы можете обернуть их с помощью embedding_column или indicator_column. |
trainable | Булево значение, указывающее, будут ли обновляться переменные слоя с помощью градиентного спуска во время обучения. |
name | Имя для DenseFeatures. |
partitioner | Разделитель для входного слоя. По умолчанию равен None. |
**kwargs | Аргументы ключевых слов для построения слоя. |
| Исключения | |
|---|---|
ValueError | если элемент в feature_columns не является DenseColumn. |
© 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/compat/v1/keras/layers/DenseFeatures