【发布时间】:2016-09-24 01:31:05
【问题描述】:
我有一个预训练的网络,我想用它来测试我的数据。我使用 .prototxt 定义了网络架构,我的数据层是一个自定义 Python 层,它接收带有我的数据路径及其标签的 .txt 文件,对其进行预处理,然后馈送到网络。
在网络的末端,我有一个自定义 Python 层,它获取网络和标签(来自第一层)所做的类预测并打印,例如,关于所有批次的准确度。
我想运行网络,直到所有示例都通过网络。
但是,在搜索测试网络的命令时,I've found:
caffe test -model architecture.prototxt -weights model.caffemodel -gpu 0 -iterations 100
如果我不设置 -iterations,它使用默认值 (50)。
你们中有人知道不设置迭代次数即可运行 caffe 测试的方法吗?
非常感谢您的帮助!
【问题讨论】:
-
“不设置迭代次数”是指迭代次数等于1吗?实际上,您可以将
iterations设置为一个数字n以确保n*batch_size == TOTAL_NUM,其中TOTAL_NUM是所有样本的数量。如果你的内存足够大,你可以设置iterations = 1, batch_size = TOTAL_NUM一次传遍所有的例子。 -
是的,我现在的做法是找出
n,即TOTAL_NUM / batch_size并运行caffe test,将n 作为参数传递。但是假设我更改了TOTAL_NUM(例如,通过增加我的数据集)......我希望有一种方法可以运行caffe test,而无需事先确定n。 -
也许您可以在启动
caffe test的脚本(.bat或.sh)中编写一些代码来预先计算n。
标签: deep-learning caffe