首页 > 解决方案 > 无法使用 DenseFeature 输入层构建模型,得到“'DenseFeatures' 对象没有属性 'shape'”

问题描述

我正在尝试使用 DenseFeatures 层作为输入来构建 Keras 模型;输入作为张量的字典。TF 坚持我在优化之前使用 model.build() 构建模型,但由于 DenseFeatures 没有输入形状,我无法构建它。我得到错误

AttributeError: 'DenseFeatures' object has no attribute 'shape'

我该如何解决这个问题?这是我的代码:

    input_layer = tf.keras.layers.DenseFeatures(params.columns)
    predictions = Dense(1, input_dim=len(params.columns), activation='softmax')(input_layer)
    model = Sequential([input_layer, predictions])
    model.build()

ETA:一些进一步的信息以供深入了解:我实际上并没有用这段代码拟合模型;相反,我正在创建一个 EstimatorSpec 以与 Sagemaker 模型一起使用(因此看起来这可能需要在两种不同的范式之间进行一些奇怪的步法。)

标签: tensorflowkerastensorflow2.0keras-layer

解决方案


推荐阅读