【问题标题】:caffe: Test needed?咖啡:需要测试吗?
【发布时间】:2016-12-09 19:57:20
【问题描述】:

我有一个非常复杂的网络,它在我的 gpu 上占用了大量内存。我发现如果我训练和测试我的数据(这是标准情况),内存使用量是我只进行训练的两倍。真的有必要测试我的数据吗?或者它只是用于可视化,即显示我的网络是否过度拟合或类似的东西?

我认为这是必要的,但我不知道原因。我的问题是:如何分开训练和测试?我知道你能做到

test_initialization: false

但是,如果我想测试我的网络,我该怎么做呢?

提前致谢!

【问题讨论】:

  • 您的图层中还有 TEST 阶段吗?
  • 不,应该吗? @卡西
  • 如果你这样做了,那么你可以使用命令行测试。如果没有,你可以写一个脚本。我正在为你写一个答案。

标签: deep-learning caffe conv-neural-network


【解决方案1】:

如果您的 train.prototxt 中有 TEST 阶段,您可以使用命令行来测试您的网络。你可以看到这个link,他们提到了以下命令行:

    # score the learned LeNet model on the validation set as defined in the
    # model architeture lenet_train_test.prototxt
    caffe test -model examples/mnist/lenet_train_test.prototxt -weights 
    examples/mnist/lenet_iter_10000.caffemodel -gpu 0 -iterations 100

您可以对其进行编辑以测试您的网络。

还有一个Python tutorial,您可以按照脚本加载训练好的网络并在现场使用它。这可以被操纵以执行单独的前向传递并将结果与​​您的期望进行比较。我不希望它完全开箱即用,所以你必须尝试一些东西。

【讨论】:

  • 是的,但这是否与我在培训期间有一个测试阶段一样?因为如果是这样,为什么我什至需要一个测试阶段呢? @卡西
  • 在训练期间运行 TEST 阶段可提供有关您的模型在训练期间的泛化程度的信息。这当然不是必需的,但它确实可以了解模型的学习速度以及它是否以及何时过度拟合。
  • 啊,好吧,所以它通常只是一个“测试”,正如它所说的,但不会改善训练本身。谢谢!
  • 来自caffe.berkeleyvision.org/gathered/examples/imagenet.html 我读到 TEST 阶段确实只报告了,没有用于反向传播。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多