【发布时间】:2021-11-11 18:41:37
【问题描述】:
在我的模型中,我有一个用于 1 列特征数组的规范化层。我假设这给出了 1 ndim 输出:
single_feature_model = keras.models.Sequential([
single_feature_normalizer,
layers.Dense(1)
])
标准化步骤:
single_feature_normalizer = preprocessing.Normalization(axis=None)
single_feature_normalizer.adapt(single_feature)
我得到的错误是:
ValueError Traceback (most recent call last)
<ipython-input-98-22191285d676> in <module>()
2 single_feature_model = keras.models.Sequential([
3 single_feature_normalizer,
----> 4 layers.Dense(1) # Linear Model
5 ])
/usr/local/lib/python3.7/dist-packages/keras/engine/input_spec.py in assert_input_compatibility(input_spec, inputs, layer_name)
225 ndim = x.shape.rank
226 if ndim is not None and ndim < spec.min_ndim:
--> 227 raise ValueError(f'Input {input_index} of layer "{layer_name}" '
228 'is incompatible with the layer: '
229 f'expected min_ndim={spec.min_ndim}, '
ValueError: Input 0 of layer "dense_27" is incompatible with the layer: expected min_ndim=2, found ndim=1. Full shape received: (None,)
我似乎密集层正在寻找一个 2 ndim 数组,而归一化层输出一个 1 ndim 数组。 有没有办法解决这个问题并让模型正常工作?
【问题讨论】:
-
模型的输入形状是什么?
-
那就是 (314, )
标签: python tensorflow keras neural-network