我有以下張量流模型:
img_width, img_height = 120, 120
dg = DataGenerator('/mnt/e/Shared/Stfc/Images', target_size=(img_height, img_width), batch_size=1)
input_tensor = tf.keras.Input(shape=(img_width, img_height, 3))
base_model = tf.keras.applications.ResNet50(weights='imagenet', include_top=False, input_tensor=input_tensor)
model = base_model
optimizer = tf.keras.optimizers.RMSprop(0.001)
model.compile(loss='mse',
optimizer=optimizer,
metrics=['mae', 'mse'])
model.fit(dg)
我已經稍微簡化了這一點,試圖縮小問題的范圍,
當我運行它時,我收到以下錯誤:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [1,2] vs. [1,4,4,2048]
[[node mean_squared_error/SquaredDifference (defined at /projects/tensorflow/stfcxy.py:130) ]] [Op:__inference_train_function_15679]
此錯誤似乎總是發生在不同的輸入影像上。我所有的影像都是完全相同的尺寸。
我正在使用張量流 2.4.1
我錯過了什么?
uj5u.com熱心網友回復:
該ResNet50模型輸出一個形狀為 的張量,(4,4,2048)并且您期望的形狀為(2,),因此您肯定必須通過應用更多的密集層來減小該張量的大小。這是一個簡單的作業示例,但我建議使用具有更多層的深層網路。
import tensorflow as tf
img_width, img_height = 120, 120
input_tensor = tf.keras.Input(shape=(img_width, img_height, 3))
base_model = tf.keras.applications.ResNet50(weights='imagenet', include_top=False, input_tensor=input_tensor)
x = tf.keras.layers.GlobalMaxPool2D()(base_model.output)
output = tf.keras.layers.Dense(2, activation='linear')(x)
model = tf.keras.Model(base_model.input, output)
optimizer = tf.keras.optimizers.RMSprop(0.001)
model.compile(loss='mse',
optimizer=optimizer,
metrics=['mae', 'mse'])
samples = 20
images = tf.random.normal((samples, 120, 120, 3))
x_y_coords = tf.random.normal((samples, 2))
model.fit(images, x_y_coords, batch_size=2, epochs=5)
Epoch 1/5
10/10 [==============================] - 20s 689ms/step - loss: 547.9037 - mae: 16.8050 - mse: 547.9037
Epoch 2/5
10/10 [==============================] - 7s 685ms/step - loss: 560.1724 - mae: 17.3702 - mse: 560.1724
Epoch 3/5
10/10 [==============================] - 7s 694ms/step - loss: 166.5985 - mae: 8.9817 - mse: 166.5985
Epoch 4/5
10/10 [==============================] - 7s 684ms/step - loss: 169.9773 - mae: 8.6677 - mse: 169.9773
Epoch 5/5
10/10 [==============================] - 7s 684ms/step - loss: 201.1059 - mae: 9.6540 - mse: 201.1059
<keras.callbacks.History at 0x7fcaae3e5890>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/417929.html
標籤:
