什么*重启数据从start*预取*意味着在caffe中

8 machine-learning neural-network deep-learning caffe

我一直在阅读日志输出从开始重新启动数据预取.显然,这意味着一个人没有足够的数据,数据从一开始就被预取*.但是,我的数据集存在10.000个数据样本,我的批量大小为4.如何预取数据是可能的,因为我的批量大小为4,这意味着每次迭代需要4个数据样本.任何人都可以澄清我的理解吗?

日志:

I0409 20:33:35.053406 20072 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:35.053447 20074 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:40.320605 20074 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:40.320598 20072 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:45.591019 20072 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:45.591047 20074 data_layer.cpp:73] Restarting data prefetching from start.
I0409 20:33:49.392580 20034 solver.cpp:398]     Test net output #0: loss = nan (* 1 = nan loss)
I0409 20:33:49.780678 20034 solver.cpp:219] Iteration 0 (-4.2039e-45 iter/s, 20.1106s/100 iters), loss = 54.0694
I0409 20:33:49.780731 20034 solver.cpp:238]     Train net output #0: loss = 54.0694 (* 1 = 54.0694 loss)
I0409 20:33:49.780750 20034 sgd_solver.cpp:105] Iteration 0, lr = 0.0001
I0409 20:34:18.812854 20034 solver.cpp:219] Iteration 100 (3.44442 iter/s, 29.0325s/100 iters), loss = 21.996
I0409 20:34:18.813213 20034 solver.cpp:238]     Train net output #0: loss = 21.996 (* 1 = 21.996 loss)
Run Code Online (Sandbox Code Playgroud)

Sha*_*hai 6

如果您有10,000个样品并且您以4个批次处理它们,则意味着在10,000/4 = 2,500次迭代后,您将处理所有数据,并且caffe将从头开始读取数据.
顺便说一下,所有样本一次也被称为"时代".

每个epoch caffe将打印到日志

从开始重新启动数据预取

  • 我想我已经找到了问题所在.我的测试数据集比列车数据集小得多,而我的batch_size是相同的.显然,对于网络测试,网络必须从一开始就预取数据.我的一个可怕的错误.很抱歉打扰你这么愚蠢的问题!@Shai (2认同)