【发布时间】:2018-05-12 12:38:09
【问题描述】:
我正在尝试从头开始训练 VGG16 模型(来自 keras.applications),但出现了一个奇怪的错误
X_train 形状为 (73257, 48, 48, 3)
Y_train 形状为 (73257, 10)
我不知道发生了什么...我认为它与之前的 conv 层有关,但由于我是直接从 keras 导入模型,所以我无法确定我哪里出错了。
我的数据集由 73,257 张具有 (48,48,3) 形状的图像组成。我本质上是在尝试进行字符识别(想想 mnist 风格),但我对通过模型进行输入(权重设置为 0)感到困惑。
model = keras.applications.vgg16.VGG16(include_top=False,
weights=None,
input_shape=(48, 48, 3),
input_tensor=None, pooling='avg', classes=10)
sgd = SGD(lr=.1)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
print('X_train shape is {}'.format(X_train.shape))
print('Y_train shape is {}'.format(y_train.shape))
model.fit(X_train, y_train,
epochs=20,
batch_size=128)
score = model.evaluate(X_test, y_test, batch_size=128)
这是我遇到的错误
文件“/home/codebrotherone/PycharmProjects/Computer Vision/deep_neural/dnn.py”,第 169 行,在 VGG16 批量大小=128)
文件“/home/codebrotherone/anaconda2/envs/tensorflow/lib/python3.4/site-packages/keras/engine/training.py”,第 1574 行,适合 批量大小=批量大小)
文件“/home/codebrotherone/anaconda2/envs/tensorflow/lib/python3.4/site-packages/keras/engine/training.py”,第 1411 行,在 _standardize_user_data exception_prefix='目标')
文件“/home/codebrotherone/anaconda2/envs/tensorflow/lib/python3.4/site-packages/keras/engine/training.py”,第 141 行,在 _standardize_input_data str(array.shape))
ValueError: 检查目标时出错:预期 block5_pool 有 4 个维度,但得到了形状为 (73257, 10) 的数组
【问题讨论】:
标签: python-3.x machine-learning computer-vision keras keras-layer