我想使用iOS的新CoreML框架开发一个进行图像识别的应用。为此,我可能需要训练自己的模型,我想知道这需要多少数据和计算能力。我能否使用双核i5的Macbook Pro和Google图片作为数据源来完成这一任务,还是需要更多的投入?
回答:
这取决于你希望模型识别什么类型的图像。
通常的做法是对现有模型进行微调。你可以使用预训练的Inception-v3版本(例如),然后替换掉最后的层,用你自己的图像来训练这一层。
你仍然需要相当数量的训练图像(每个类别几百张,但越多越好),但你可以在MacBook Pro上用30分钟到几个小时完成这个任务。
TensorFlow自带一个脚本,可以非常方便地完成这个操作。Keras有一篇优秀的博客文章,介绍了如何做到这一点。我使用TensorFlow的脚本重新训练了Inception-v3,以便区分我的两只猫,每只猫大约有50张图片。
如果你想从头开始训练,你可能需要在云端使用AWS、Google的Cloud ML Engine,或者像FloydHub这样方便的服务来完成。