我有一个非常复杂的网络,占用了我的GPU上的大量内存。我发现,如果我训练和测试我的数据(这是标准情况),内存使用率比单纯训练高两倍。真的有必要测试我的数据吗?或者它只是用于可视化,即向我展示我的网络是否过度配合或者像那样?caffe:需要测试吗?
我认为这是必要的,但我不知道原因。我的问题是:如何区分培训和测试?我知道你可以做
test_initialization: false
但是,如果我想测试我的网后,我会怎么做?
在此先感谢!
我有一个非常复杂的网络,占用了我的GPU上的大量内存。我发现,如果我训练和测试我的数据(这是标准情况),内存使用率比单纯训练高两倍。真的有必要测试我的数据吗?或者它只是用于可视化,即向我展示我的网络是否过度配合或者像那样?caffe:需要测试吗?
我认为这是必要的,但我不知道原因。我的问题是:如何区分培训和测试?我知道你可以做
test_initialization: false
但是,如果我想测试我的网后,我会怎么做?
在此先感谢!
如果您的train.prototxt中有一个测试阶段,您可以使用命令行来测试您的网络。你可以看到这个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您可以按照加载训练有素的网络与脚本并在现场使用它。这可以被操纵来执行单独的前向传球,并将结果与预期结果进行比较。我不指望它完全开箱即用,所以你将不得不尝试一些东西。
你的图层中是否还有测试阶段? – Cassie
不,我应该吗? @Cassie – thigi
如果你这样做,那么你可以使用命令行测试。如果没有,你可以写一个脚本。我正在为你写一个答案。 – Cassie