TensorFlow:检查预训练模型是否成功恢复?

时间:2017-02-03 13:23:52

标签: python machine-learning tensorflow computer-vision deep-learning

我目前正在使用主管运行managed_session()来测试官方启动-resnet-v2模型检查点文件(由Google提供)对几张狗图像(我从谷歌拍摄的边境牧羊犬图像)的性能图片)。但是我看到了一个非常奇怪的行为:管理会话的损失由具有init_fn的主管运行,该管理器使用保护程序从检查点文件恢复所有变量,而另一个托管会话由没有{的主管运行{1}}几乎完全相同的损失(大约6)。有趣的是,没有init_fn的主管甚至有少于6的损失(约为5.9是特定的),而init_fn的主管有少于6的损失。我明白甚至如果损失有时可能是随机的,那么两者的表现如何相似呢?

我很担心我的模型可能会重复使用之前会话中的相同权重(只是一个猜测),所以我在代码的最开头使用了init_fn。此外,我还确保清除主管可能在以前的会话中查找检查点的日志目录。然而,表现非常相似。只是模型在有或没有检查点文件的情况下表现得太好了吗?所有图像都已成功预测,标签为232(边境牧羊犬)。

可以肯定的是,在我的任何训练开始之前,我做了初步预测。未恢复的模型具有411级(围裙)的初始预测,而恢复的模型具有232的正确预测。但是我不确定这是否表明我恢复的模型正在工作 - 我如何明确地检查是否模型成功恢复了吗?

此外,什么被认为是softmax_cross_entropy损失的可接受损失?我认为6左右的值可能太高,但我无法找到Google论文在inception-resnet-v2模型中获得的官方损失。

以下是我的模型的一些细节: 1.由于我的GPU内存限制,我只能运行6的批量大小。我只包含8个图像进行测试。

  1. 未恢复的模型初始损失约为8,而恢复模型的初始模型约为6。
  2. 我的代码对两位主管的主要区别在于:

    tf.reset_default_graph()

0 个答案:

没有答案