python - 我有 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:我正在做回归,对于每张图像我都有一个值作为输出
解决方案
Reshape
从图层开始:
model = models.Sequential()
model.add(layers.Reshape((28, 28, 1), input_shape=(784,)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
# ...
推荐阅读
- robotframework - For Loop 直到机器人框架中的给定范围才循环
- qt - 出现滚动条时如何调整 QScrollArea 的大小(因此只需要一个条)?
- javascript - 正则表达式在 JS 中每秒出现一次后替换 \n\n
- javascript - 是否可以在 html img 标签的 src 中加载和运行脚本?
- json - JSONiq 中的数组和对象查找
- r - 在 R 中按唯一日期而不是观察值来训练和测试拆分
- python - 返回_compile(pattern,flags).findall(string)时出错TypeError:预期的字符串或类似字节的对象
- .net - 如何在没有 .net SDK 的情况下构建 .Net SDK
- css - flex 0 0 的引导解决方案
- c++ - 在模板中使用非模板嵌套类