Closed tjgalvin closed 4 years ago
Best I can tell from a quick read is that the DataIteratorShuffled
does not accept the input_data.m_number_of_iterations
attribute, where as the ProgressBar
does. The main iterating for
loop that handles iterating over the training data items
for (; iter_data_cur != iter_data_end; ++iter_data_cur, ++progress_bar)
will perform a single pass through the training image dataset. The same goes for the DataIterator
. Perhaps we should edit the iterator classes to use the m_number_of_iterations
appropriately and change the terminating condition in the above for loop to iter_data_cur.end_flag == true
- seems like the data iteration classes already have the ==
operator overloaded.
Thanks Tim for pointing this error out. I will fix it in release 2.4.
Something else might be up with this. I was rereading the code for a separate issue and came across this line
for (uint32_t i = 0; i < input_data.m_number_of_iterations; ++i)
in which the iteration over the training data items is nested in. So, something else may be at play causing my weird issue? I am not 100% sure at the moment. This is withing the main_generic.h
btw.
The other thing I noticed is that only the DataIteratorShuffled
class is used when iterating throughout training.
I am using the latest release of
pink v2.4 git revision f385715
.It seems that whatever value I pass to
--num-iter
is ignored. The progress bar will include it in its computation but not when it comes to iterating over data items.