在训练卷积神经网络(DenseNet)时,有没有什么选项或参数可以改变以减少训练时间?

2024-09-25 00:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的python代码ImageAI来使用DenseNet进行研究。你知道吗

图像集线器:https://github.com/OlafenwaMoses/ImageAI

图像示例:https://towardsdatascience.com/train-image-recognition-ai-with-5-lines-of-code-8ed0bdd8d9ba

我目前正在使用CNN方法(DenseNet)进行与符号识别(2D建筑图形符号)相关的研究。 VAV箱符号的一个示例是:https://ibb.co/cyhwRvf

我尝试对39个类进行分类(对象的数量,在本例中是符号的数量),每个类有2000个图像作为训练数据(2000x39=78000)。对于测试数据,我有1000张图片(1000 x 39=39000)。数据集的总大小是1.82 GB(我认为这是一个相对较小的大小,但如果我错了,请纠正我)。你知道吗

但问题是训练时间太长了。你知道吗

我试过使用GPU(nvidiageforcertx2080ti),当我将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)

Tags: 数据代码https图像com示例数量model
1条回答
网友
1楼 · 发布于 2024-09-25 00:27:45

我对ImageAI/Tensorflow相当陌生,但仍在学习。你知道吗

关于使用参数获得更快的学习,我认为增强\u数据通过将其设置为False,将使您获得更快的学习。 如果您没有这么大的一组图像要训练(少于1000),那么应该将此参数设置为True。此参数将从现有样本中删除更多样本。你知道吗

enhance_data = False

另外值得一提的是,如果你没有得到任何更好的结果后,例如50纪元由于过度拟合你的模型,你不必做所有的200代培训。你知道吗

听说过用FP16代替FP32的“混合精度训练”吗?你知道吗

我没有尝试过,因为这将是一个Nvidia GTX1080TI的边际差异,因为它没有张量核心。但你可以在这里读到更多 https://medium.com/tensorflow/automatic-mixed-precision-in-tensorflow-for-faster-ai-training-on-nvidia-gpus-6033234b2540

参考:

当我对一个有62个类(26GB)的图像数据集进行ResNet训练时,有1000到2000个图像用于训练,200个用于验证,每个历元大约需要10分钟。你知道吗

对于一个200代人的培训来说,这大约需要33个小时。你知道吗

这是我的imageAi python代码行

model_trainer = ModelTraining()
model_trainer.setModelTypeAsResNet()
model_trainer.setDataDirectory('.')
model_trainer.trainModel(num_objects=classes_in_train, num_experiments=100, 
enhance_data=False, batch_size=32)

Found 81086 images belonging to 62 classes.
Found 13503 images belonging to 62 classes.

Epoch 38/100
231/2533 [=>............................] - ETA: 10:00 - loss: 2.9065e-04 - acc: 0.9999

希望能给你一些有用的信息。你知道吗

相关问题 更多 >