author | Sergei Nikolaev <snikolaev@nvidia.com> | |
Sun, 7 May 2017 08:23:07 +0000 (01:23 -0700) | ||
committer | Sergei Nikolaev <snikolaev@nvidia.com> | |
Sun, 7 May 2017 08:23:07 +0000 (01:23 -0700) |
1 | 2 | |||
---|---|---|---|---|
src/caffe/data_reader.cpp | patch | | diff1 | | diff2 | | blob | history |
src/caffe/layers/data_layer.cpp | patch | | diff1 | | diff2 | | blob | history |
diff --cc src/caffe/data_reader.cpp
index db9e407f88f72f3a744e01afa4b26504b4ee1111,7c180167e47420779187634a6b615b421e621007..80f8b6c3b1389bac86b2976aa10c8f116a081867
rec_id_ += full_cycle_ - batch_size_;
rec_end_ += full_cycle_;
}
- for (size_t i = old_id; i < rec_id_; ++i) {
+ size_t rnd_skip = 0UL; // batch_size_ > 100 ? (caffe_rng_rand() % 5) : 0UL;
+ for (size_t i = old_id; i < rec_id_ + rnd_skip; ++i) {
cursor_->Next();
if (!cursor_->valid()) {
- LOG_IF(INFO, solver_rank_ == 0 && parser_thread_id_ == 0)
- << "Restarting data pre-fetching";
+ if(cache_) {
+ LOG(INFO) << "Solver " << solver_rank_ << ", parser " << parser_thread_id_
+ << ", records cached ";
+
+ break; // we cache first epoch, then we just read it from cache
+ }
+ LOG_IF(INFO, solver_rank_ == 0 && parser_thread_id_ == 0) << "Restarting data pre-fetching";
cursor_->SeekToFirst();
}
}
diff --cc src/caffe/layers/data_layer.cpp
Simple merge