gpt4 book ai didi

image-processing - 使用 Keras 深度学习进行层计数

转载 作者:行者123 更新时间:2023-11-30 09:48:11 24 4
gpt4 key购买 nike

我正在开展我的第一个深度学习项目,使用卷积神经网络计算图像中的层数。

修复大量错误后,我终于可以训练我的模型了。然而,我的准确度为 0;在第二个纪元之后,它就停止了,因为它没有学习任何东西。

输入将为 1200 x 100 大小的图层图像,输出将为整数。

如果有人可以查看我的模型并提出建议。那会很棒。

谢谢。

from keras.layers import Reshape, Conv2D, MaxPooling2D, Flatten


model = Sequential()
model.add(Convolution2D(32, 5, 5, activation='relu', input_shape=(1,1200,100)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(64, 5, 5, activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(1, activation='relu'))



batch_size = 1
epochs = 10
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(sgd, loss='poisson', metrics=['accuracy'])

earlyStopping=keras.callbacks.EarlyStopping(monitor='val_loss', patience=0, verbose=0, mode='auto')
history = model.fit(xtrain, ytrain, batch_size=batch_size, nb_epoch=epochs, validation_data=validation, callbacks=[earlyStopping], verbose=1)

最佳答案

有太多值得批评的地方?

  1. 1200*100 的图像尺寸(我假设它们是像素)对于 CNN 来说太大了。在ImageNet比赛中,图像都是224*224、299*299。2.为什么不在最后一层使用线性或S形激活?
  2. 您是否将输出标准化为 0 到 1 之间的值?对其进行归一化,只需将输出除以输出的最大值,然后在训练/预测后使用 CNN 时乘以相同的数字即可。
  3. 不要将其用于小数据,不必要:EarlyStopping=keras.callbacks.EarlyStopping(monitor='val_loss', Patient=0, verbose=0, mode='auto')
  4. 与 Adam 将优化器降低至 0.001。

您的数据实际上并不大,它应该可以工作,可能您的问题在于输出/输入的标准化,请检查它们。

关于image-processing - 使用 Keras 深度学习进行层计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com