重新训练最后一个 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的主要内容,如果未能解决你的问题,请参考以下文章

使用 tiff 图像重新训练 Inception

如何训练Inception的最后一层新的类别

计算机视觉:用inception-v3模型重新训练自己的数据模型

我想重新训练 inception-resnet-v2,但 GPU 内核不可用

为啥在同一数据集上使用 tensorflow 和 keras 重新训练的 Inception V3 显示出不同的准确性?

卷积神经网络