API feature_columns Tensorflow весьма полезен для обработки нечисловых объектов.Тем не менее, текущий документ API больше об использовании feature_columns с оценщиком tenorflow.Есть ли возможный способ использовать feature_columns для представления категориальных объектов, а затем построить модель на основе tf.keras?
Единственная ссылка, которую я нашел, - это следующее руководство.Здесь показано, как передать столбцы объектов в последовательную модель Keras: Ссылка
Фрагмент кода выглядит следующим образом:
from tensorflow.python.feature_column import feature_column_v2 as fc
feature_columns = [fc.embedding_column(ccv, dimension=3), ...]
feature_layer = fc.FeatureLayer(feature_columns)
model = tf.keras.Sequential([
feature_layer,
tf.keras.layers.Dense(128, activation=tf.nn.relu),
tf.keras.layers.Dense(64, activation=tf.nn.relu),
tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)
])
...
model.fit(dataset, steps_per_epoch=8) # dataset is created from tensorflow Dataset API
Вопрос заключается в том, как использоватьмодель с керасом функциональная модель API.Я попробовал следующее, но это не сработало (тензор потока версии 1.12)
feature_layer = fc.FeatureLayer(feature_columns)
dense_features = feature_layer(features) # features is a dict of ndarrays in dataset
layer1 = tf.keras.layers.Dense(128, activation=tf.nn.relu)(dense_features)
layer2 = tf.keras.layers.Dense(64, activation=tf.nn.relu)(layer1)
output = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)(layer2)
model = Model(inputs=dense_features, outputs=output)
Журнал ошибок:
ValueError: Input tensors to a Model must come from `tf.layers.Input`. Received: Tensor("feature_layer/concat:0", shape=(4, 3), dtype=float32) (missing previous layer metadata).
Я не знаю, как преобразовать столбцы объектов в модели kerasвход.