0

我正在用 tensorflow 训练一个网络,但结果还不够好。该模型无法泛化,因此它仅检测每个图像的几个对象(框)。

从上面看,我不确定如何确定我的网络对于我的目的是否太小/太大。目前,我使用 Resnet101,但我不知道它是否真的适合我(我想检测 5 个对象类)或者我是否应该更改为 ResNet50 或 ResNet152。

有什么方法可以正确选择。

谢谢你。

4

1 回答 1

1

在继续自己实施网络之前,您可以尝试将学习的预训练模型转移到您的数据中。

由于您正在解决对象检测和分类的问题。你可以看看一些流行的网络,比如 Faster RCNN 和 YOLO。

您自己训练的模型可能会出现很多问题,这些是我能想到的一些事情:

  1. 训练和测试数据的分布不同
  2. 您的模型过度拟合了您的训练数据,您可以尝试一些正则化方法来防止这种情况。
  3. 对几个 epoch 进行超参数网格搜索,以找到学习率、keep_prob 等的最佳值。
  4. 没有足够的训练数据进行泛化。
  5. 至于网络大小,请尽可能在当前训练设备上安装最大的网络,然后开始减小其大小以找到准确度和计算强度之间的最佳平衡点。
于 2018-02-12T19:21:12.133 回答