【发布时间】:2023-03-23 16:26:01
【问题描述】:
我在 Colab 上运行以下代码。这是一个回归问题,我想从每个大小为 224 x 224 的图像中生成 5 个浮点值。根据我的理解,为了解决这个问题,我应该在最后一层使用具有 5 个节点的全连接网络。但是在 keras 上这样做给了我下面描述的错误。
import keras, os
import numpy as np
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.applications.inception_v3 import InceptionV3
## data_list = list of four 224x224 numpy arrays
inception = InceptionV3(weights='imagenet', include_top=False)
x = inception.output
x = GlobalAveragePooling2D()(x)
x = Dense(1024, activation='relu')(x)
predictions = Dense(5, activation='relu')(x)
y = [np.random.random(5),np.random.random(5),np.random.random(5),np.random.random(5)]
model = Model(inputs=inception.input, outputs=predictions)
opt = Adam(lr=0.001)
model.compile(optimizer=opt, loss="mae")
model.fit(data_list, y, verbose=0, epochs=100)
错误:
ValueError:数据基数不明确:
x 尺寸:224、224、224、224
y 尺寸:5、5、5、5
确保所有数组都包含相同数量的样本。
可能出了什么问题?
【问题讨论】:
标签: tensorflow keras deep-learning regression conv-neural-network