我已经使用 TensorFlow 开发了一个神经网络,并尝试用它来预测新图像。我已加载 JPEG 图像作为测试示例,并使用 OpenCV 重新格式化它:
formatted_image = cv.resize(image, dsize = (128,128))
使用
image.shape
返回 (128, 128, 3),这是我的目标。
但是,将此图像通过
model.predict()
会出现以下错误:
ValueError: Input 0 of layer "model_1" is incompatible with the layer: expected shape=(None, 128, 128, 3), found shape=(32, 128, 3)
我不确定这个值从哪里来;我尝试了几种将其转换为张量的方法,例如
tf_formatted_image = tf.convert_to_tensor(formatted_image, dtype=tf.int8)
,但这并不成功。
也许在将图像传递给 model.pedit() 之前对其进行预处理会有所帮助。
尝试使用此代码-
tf_formatted_image = tf.convert_to_tensor(formatted_image, dtype=tf.float32) # converting to TensorFlow tensor
tf_formatted_image = tf.expand_dims(tf_formatted_image, axis=0)
tf_formatted_image = tf_formatted_image / 255.0 #normalizing
model = tf.keras.models.load_model('path_to_model') #loading the model
predictions = model.predict(tf_formatted_image)