【发布时间】:2021-10-17 03:34:33
【问题描述】:
我是 python 新手 所以对于我的大学期末项目,我使用 EfficientNet 将成熟度棕榈油分为 4 类。 我总共有 5852 个训练数据(每个 1463 个)和 132 个测试数据(每个 33 个)。 我使用了来自互联网的代码。 但结果远非好。 我已经添加了 layers.dropout 以防止/避免欠拟合。 我还使用 imagenet 进行迁移学习。 有什么办法可以改善结果吗?
编辑: 我已经将我的代码从 conv_base.trainable = False 更改为 conv_base.trainable = True。但我觉得结果还是不好
这是我的完整代码:https://drive.google.com/file/d/1OeiSA23xmF5ceq19aqc1l20mlT3Uxocs/view?usp=sharing
这是我的结果
【问题讨论】:
-
您的代码对我来说看起来不错。我认为你只需要做更多的实验。目前,我建议您尝试过度拟合您的训练数据,然后进行正则化。此外,还要训练
conv_base。 -
先生有什么线索吗?
-
将此行
conv_base.trainable = False更改为conv_base.trainable = True。此外,dropout 可以防止过拟合而不是欠拟合。 -
我会试试的。但是,你能帮我看看哪些代码可以丢弃防止过拟合而不是欠拟合吗?
-
我尝试训练我的模型。但是出现了另一个模型,它说“这可能是因为cuDNN初始化失败,所以试着看看上面是否打印了警告日志消息。”我已经在下面添加了代码来限制内存增长。但是还是出现了同样的错误。有什么线索可以解决这个问题吗? physical_devices = tf.config.experimental.list_physical_devices('GPU') tf.config.experimental.set_memory_growth(physical_devices[0], True)
标签: python deep-learning conv-neural-network overfitting-underfitting efficientnet