我需要将图像分类为2000类中的一个。
我使用的是Nvidia数字+ caffe (GoogLeNet),并提供了每类10K的样本(因此高达2000万张图像,~1Tb数据!)但是数据准备("create“)任务本身被估计为102天,如果这个估计是正确的,我会不寒而栗地思考实际的训练时间。
应对这一挑战的最佳方式是什么?我应该把数据集分解成3-4个模型吗?然后分开使用?使用较小的数据集和风险较低的准确性?还有别的吗?
谢谢你帮了个新手。
发布于 2015-11-11 06:08:30
你拿到训练数据了!!这是整个过程中最具挑战性的部分,不要放弃!
尝试将数据创建任务分解为几个步骤,并将它们并行化。训练需要很长时间(取决于你的GPU),但是你应该有耐心。
发布于 2016-01-25 12:40:02
我认为您可以使用ImageDataLayer而不是LMDB或levelDB。
发布于 2016-06-14 07:52:13
首先,您需要知道应该使用LMDB/LevelDB的场景以及您得到了什么好处(特别是在平行方面的培训)。但是,您将遇到的情况是,创建LMDB是大而慢的,您还需要使用SSD取代HDD来减少耗时的问题。
第二,当你只需要用小的数据集(例如<200万张图片)训练CNN时,你可以使用和@kli_nlpr一样的ImageDataLayer。
最后,就像@Shai所说的,所有流程中最大的挑战始终是准备数据,检查培训结果是否如您所期望的,如果不是您应该检查数据、重新准备数据或检查培训配置。如果您尝试了所有可能的解决方案,但是您仍然感到很慢,并且可以尝试将您的硬件更改为GPU集群。
https://stackoverflow.com/questions/33643301
复制相似问题