Ich erhalte Fehler wie "Eingabe 1 von Layer" model_5 "ist mit der Ebene nicht kompatibel: Erwartete Form = (keine, 224, Python

Python-Programme
Anonymous
 Ich erhalte Fehler wie "Eingabe 1 von Layer" model_5 "ist mit der Ebene nicht kompatibel: Erwartete Form = (keine, 224,

Post by Anonymous »

Ich versuche, Merkmale von zwei Bildeingängen der Form (299, 299, 3), (224, 224, 3) zu verschmelzen und Formfehler zu erhalten.

Code: Select all

from tensorFlow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.applications.vgg16 import VGG16
import tensorflow as tf
from tensorflow.keras import layers, Input

inp_pre_trained_model = InceptionV3( include_top=False)
inp_pre_trained_model.trainable=False
inp_input=tf.keras.Input(shape=(299,299,3),name="input_layer_inception_V3")
inp_x=inp_pre_trained_model (inp_input)
inp_x=layers.GlobalAveragePooling2D(name="global_average_pooling_layer_inception_v3")(inp_x)
vgg_pre_trained_model = VGG16( include_top=False)
vgg_pre_trained_model.trainable=False
vgg_input=tf.keras.Input(shape=(224,224,3),name="input_layer_VGG_16")

vgg_x=vgg_pre_trained_model(vgg_input)
vgg_x=layers.GlobalAveragePooling2D(name="global_average_pooling_layer_vgg_16")(vgg_x)
x=tf.keras.layers.concatenate([inp_x,vgg_x],axis=-1)
x = tf.keras.layers.Flatten()(x)
outputs=tf.keras.layers.Dense(5,activation="softmax", name= "output_layer") (x)
model=tf.keras.Model(inputs=[inp_input,vgg_input],outputs=outputs)

model.summary()
Meine Modellübersicht

Code: Select all

Model: "model_9"
__________________________________________________________________________________________________
Layer (type)                   Output Shape         Param #     Connected to
==================================================================================================
input_layer_inception_V3 (Inpu  [(None, 224, 224, 3  0          []
tLayer)                        )]

input_layer_VGG_16 (InputLayer  [(None, 299, 299, 3  0          []
)                              )]

inception_v3 (Functional)      (None, None, None,   21802784    ['input_layer_inception_V3[0][0]'
2048)                            ]

vgg16 (Functional)             (None, None, None,   14714688    ['input_layer_VGG_16[0][0]']
512)

global_average_pooling_incepti  (None, 2048)        0           ['inception_v3[0][0]']
on (GlobalAveragePooling2D)

global_average_pooling_vgg (Gl  (None, 512)         0           ['vgg16[0][0]']
obalAveragePooling2D)

concatenate_71 (Concatenate)   (None, 2560)         0           ['global_average_pooling_inceptio
n[0][0]',
'global_average_pooling_vgg[0][0
]']

output_layer (Dense)           (None, 5)            12805       ['concatenate_71[0][0]']

==================================================================================================
Total params: 36,530,277
Trainable params: 12,805
Non-trainable params:  36,517,472
Compiler

Code: Select all

model.compile(loss="sparse_categorical_crossentropy",optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),metrics=["accuracy"])

train = tf.data.Dataset.zip((cache_train_data, ceced_train_data))
test = tf.data.Dataset.zip((cache_test_data, ceced_test_data))
train_dataset = train.prefetch(tf.data.AUTOTUNE)
test_dataset = test.prefetch(tf.data.AUTOTUNE)

train_dataset, test_dataset
< /code>
---> (
 name=None), TensorSpec(shape=(None, 5), dtype=tf.float32, name=None)), (TensorSpec(shape=(None, 224, 224, 3), dtype=tf.float32, name=None), TensorSpec(shape=(None, 5), dtype=tf.float32, name=None)))>)
 Passen Sie das Modell < /strong> < /p>
anmodel_history = model.fit(train_dataset,
steps_per_epoch=len(train_dataset),
epochs=3,
validation_data=test_dataset,
validation_steps=len(test_dataset))

< /code>
 Fehler < /strong>
valueError: In Benutzercode: < /p>
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1051, in train_function  *
return step_function(self, iterator)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1040, in step_function  **
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1030, in run_step  **
outputs = model.train_step(data)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 889, in train_step
y_pred = self(x, training=True)
File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/usr/local/lib/python3.7/dist-packages/keras/engine/input_spec.py", line 264, in assert_input_compatibility
raise ValueError(f'Input {input_index} of layer "{layer_name}" is '

ValueError: Input 1 of layer "model_9" is incompatible with the layer: expected shape=(None, 299, 299, 3), found shape=(None, 5)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post