简单tensorflow模型中输入维度的问题



我对使用自定义训练模型进行预测有问题。

输入128维向量,输出2个值。

到目前为止,我的模型是这样的:
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
dense_12 (Dense)             (None, 128)               16512
_________________________________________________________________
dense_13 (Dense)             (None, 2)                 258
=================================================================
Total params: 16,770
Trainable params: 16,770
Non-trainable params: 0

因此,我尝试输入数据来进行预测,(对于示例目的,它只是一个np。的数组)

my_model = tf.keras.models.load_model('my_saved_model.h5')

probability_model = tf.keras.Sequential([my_model, tf.keras.layers.Softmax()])

simple_data = np.ones((128))
predictions = probability_model.predict(simple_data)
print(predictions)

并输出关于simple_data的形状的错误为(32,1):

ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 128 but received input with shape (32, 1)

我不知道为什么。

Thanks in advance

也许你应该尝试在输入数据中添加批处理维度,就像这样:

simple_data = np.ones((1, 128))

我认为你必须在预测方法中添加参数batch_size=1

相关内容

  • 没有找到相关文章

最新更新