Я использую приведенную ниже конфигурацию для модели классификации изображений:
model = keras.Sequential([
keras.layers.Flatten(input_shape=(100, 100, 3)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10)
])
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
Если I, если print model.inputs, то он возвращает
[<tf.Tensor 'flatten_input:0' shape=(None, 100, 100, 3) dtype=float32>]
Если я передам тензорное изображение этому модель тогда не работает. Поэтому мой вопрос: какие изменения я должен сделать в моей модели, чтобы она принимала тензорное изображение
Я передаю изображение, используя следующий код:
image = np.asarray(image)
# The input needs to be a tensor, convert it using `tf.convert_to_tensor`.
input_tensor = tf.convert_to_tensor(image)
# The model expects a batch of images, so add an axis with `tf.newaxis`.
input_tensor = input_tensor[tf.newaxis,...]
# Run inference
output_dict = model(input_tensor)
Я получаю ошибку ниже, если я передам тензорное изображение
WARNING:tensorflow:Model was constructed with shape (None, 100, 100, 3) for input Tensor("flatten_input:0", shape=(None, 100, 100, 3), dtype=float32), but it was called on an input with incompatible shape (1, 886, 685, 3).
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
Я просто хотел узнать, какие слои Keras и входные параметры я должен обновить в модели, чтобы она могла принимать тензорное изображение в качестве входных данных. Любая помощь будет оценена. Спасибо!