【发布时间】:2020-10-16 18:57:32
【问题描述】:
我正在对四类医学图像实施 ResNet50 模型。我最初有一个每类 250 张图像的数据集,我将它们分成 2 个文件夹 train 和 val,并使用 val 数据作为测试数据集,80% 的训练数据作为训练数据集,20% 作为验证数据集。
我尝试了一个我在网上找到的代码。我做了很多实验,但没有什么能提高验证数据集的准确度,尽管训练准确度不错,以后可以改进。
请就我的问题陈述向我提出提高验证准确性的方法。 PS:虽然图像是黑白的,但我使用输入形状为(224,224,3),因为我无法翻译我找到的灰度图像代码。希望这不是这里的主要问题。
我所做的唯一更改是更改数据集的目录,并在我的代码中排除了 Flatten 层,因为 avg_pool 层也被展平,因此可以直接应用 Dense 层。
last_layer = model.get_layer('avg_pool').output
out = Dense(num_classes, activation='softmax', name='output_layer')(last_layer)
custom_resnet_model = Model(inputs=image_input,outputs= out)
t=time.time()
hist = custom_resnet_model.fit(X_train, y_train, batch_size=32, epochs=12, verbose=1,
validation_data=(X_test, y_test))
print('Training time: %s' % (t - time.time()))
(loss, accuracy) = custom_resnet_model.evaluate(X_test, y_test, batch_size=10, verbose=1)
print("[INFO] loss={:.4f}, accuracy: {:.4f}%".format(loss,accuracy * 100))
【问题讨论】:
标签: tensorflow keras conv-neural-network