我对使用自定义训练模型进行预测有问题。
输入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
。