首页 > 解决方案 > 我有 10000 张矢量形式的图像,如何将其转换为我的卷积神经网络?

问题描述

我是卷积神经网络的新手。我没有以图像格式获取我的数据,而是得到了[10000x784]的扁平图像矩阵。

表示 10000 张大小为 28x28 的图像

考虑到一个图像大小是28x28,我应该如何将数据矩阵提供给我的 CNN 输入?

我的模型是:

model = models.Sequential()
model.add(layers.Conv2D(64, (3, 3), activation='relu', input_shape=(28,28,1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
#model.add(layers.Flatten())
model.add(layers.Dense(2500, activation='relu'))
model.add(layers.Dense(2500, activation='relu'))
model.add(layers.Dense(1, activation='relu'))
model.compile(optimizer='adam',
              loss='mean_squared_error',
              metrics=['mae','mse'])
callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=15)
#Fits model
history= model.fit(x_trained, y_train, epochs = 7000, validation_split = 0.2, shuffle= True, verbose = 1, callbacks=[callback])

我在model.fit收到错误。

PS:我正在做回归,对于每张图像我都有一个值作为输出

标签: pythontensorflowmatrixdeep-learningconv-neural-network

解决方案


Reshape从图层开始:

model = models.Sequential()
model.add(layers.Reshape((28, 28, 1), input_shape=(784,)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
# ...

推荐阅读