重新训练最后一个 inception 或 mobilenet 层以使用 INPUT_SIZE 64x64 或 32x32
Posted
技术标签:
【中文标题】重新训练最后一个 inception 或 mobilenet 层以使用 INPUT_SIZE 64x64 或 32x32【英文标题】:Retrain last inception or mobilenet layer to work with INPUT_SIZE 64x64 or 32x32 【发布时间】:2018-01-17 12:15:14 【问题描述】:我想重新训练最后一个 inception 或 mobilenet 层,以便对我自己的对象进行分类(大约 5-15 个) 我还希望它可以与 INPUT_SIZE == 64x64 或 32x32 一起使用(而不是像默认初始模型那样的 224)
我发现了一些关于再训练模型的文章: https://hackernoon.com/creating-insanely-fast-image-classifiers-with-mobilenet-in-tensorflow-f030ce0a2991 https://medium.com/@daj/creating-an-image-classifier-on-android-using-tensorflow-part-3-215d61cb5fcd
他们说对于mobilenet
输入图像大小,“224”、“192”、“160”或“128”
所以我不能用 64 或 32 训练(这很糟糕)https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py#L80
初始模型呢?我能否以某种方式训练模型以处理较小的图像输入尺寸(以更快地获得结果)?
我想从这些小图像中分类的对象将已经从其父图像(例如从相机帧)中裁剪出来,它可能是由最快的级联分类器 (LBP/Haar) 裁剪的交通/道路标志,这些分类器被训练为检测所有看起来像标志形状/图形的东西(三角形/菱形,圆形) 因此,完全包含/仅包含感兴趣对象的 64x64 图像应该足以进行分类
【问题讨论】:
【参考方案1】:不,您仍然可以,使用最小的选项,即 128。它只会将您的 32 或 64 图像放大,这很好。
【讨论】:
【参考方案2】:分类器是不可能的
但是 tensorflow 对象检测 api 成为可能(我们可以设置任何输入大小)https://github.com/tensorflow/models/tree/master/research/object_detection
【讨论】:
以上是关于重新训练最后一个 inception 或 mobilenet 层以使用 INPUT_SIZE 64x64 或 32x32的主要内容,如果未能解决你的问题,请参考以下文章
计算机视觉:用inception-v3模型重新训练自己的数据模型
我想重新训练 inception-resnet-v2,但 GPU 内核不可用
为啥在同一数据集上使用 tensorflow 和 keras 重新训练的 Inception V3 显示出不同的准确性?