【发布时间】:2023-03-29 19:59:01
【问题描述】:
我正在使用以下 Python 代码“ImageAI”来使用 DenseNet 进行研究。
ImageAI github:https://github.com/OlafenwaMoses/ImageAI
ImageAI 示例:https://towardsdatascience.com/train-image-recognition-ai-with-5-lines-of-code-8ed0bdd8d9ba
我目前正在使用 CNN 方法 (DenseNet) 进行与符号识别(二维建筑绘图符号)相关的研究。 VAV 盒子符号的一个例子是:https://ibb.co/cyhwRvf
我正在尝试对 39 个类进行分类(对象数,在这种情况下是符号数),并且每个类有 2,000 张图像用于训练数据(2,000 x 39 = 78,000)。对于测试数据,我有 1,000 张图像(1,000 x 39 = 39,000)。数据集的总大小为 1.82 GB(我认为这是一个相对较小的大小,但如果我错了请纠正我)。
但问题是训练时间太长了。
我尝试过使用 GPU(Nvidia Geforce RTX 2080 Ti),当我将 epoch(实验次数)设置为 200 时需要 3 天的时间来训练。
我想知道是否有办法减少培训时间。是否有任何我可以更改的参数或任何其他选项?
或者考虑到数据集的大小和我使用的 GPU,这是否被视为正常消耗时间?
训练的五行代码如下:
from imageai.Prediction.Custom import ModelTraining
model_trainer = ModelTraining()
model_trainer.setModelTypeAsDenseNet()
model_trainer.setDataDirectory("mechsymbol")
model_trainer.trainModel(num_objects=39, num_experiments=200, enhance_data=True, batch_size=32, show_network_summary=True)
【问题讨论】:
标签: python conv-neural-network training-data