本文整理汇总了C++中LayerParameter::data_param方法的典型用法代码示例。如果您正苦于以下问题:C++ LayerParameter::data_param方法的具体用法?C++ LayerParameter::data_param怎么用?C++ LayerParameter::data_param使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LayerParameter
的用法示例。
在下文中一共展示了LayerParameter::data_param方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
AnnotatedDataLayer<Dtype>::AnnotatedDataLayer(const LayerParameter& param)
: BasePrefetchingDataLayer<Dtype>(param),
//reader_(param) {
offset_() {
db_.reset(db::GetDB(param.data_param().backend()));
db_->Open(param.data_param().source(), db::READ);
cursor_.reset(db_->NewCursor());
}
示例2: QueuePair
DataReader::DataReader(const LayerParameter& param)
: queue_pair_(new QueuePair( //
param.data_param().prefetch() * param.data_param().batch_size())) {
// Get or create a body
boost::mutex::scoped_lock lock(bodies_mutex_);
string key = source_key(param);
weak_ptr<Body>& weak = bodies_[key];
body_ = weak.lock();
if (!body_) {
body_.reset(new Body(param));
bodies_[key] = weak_ptr<Body>(body_);
}
body_->new_queue_pairs_.push(queue_pair_);
}
示例3: return
size_t BasePrefetchingDataLayer<Ftype, Btype>::parser_threads(const LayerParameter& param) {
// Check user's override in prototxt file
size_t parser_threads = param.data_param().parser_threads();
if (!auto_mode(param) && parser_threads == 0U) {
parser_threads = 1U; // input error fix
}
// 1 thread for test net
return (auto_mode(param) || param.phase() == TEST || parser_threads == 0U) ? 1U : parser_threads;
}
示例4:
BasePrefetchingDataLayer<Dtype>::BasePrefetchingDataLayer(
const LayerParameter& param)
: BaseDataLayer<Dtype>(param),
prefetch_(param.data_param().prefetch()),
prefetch_free_(), prefetch_full_(), prefetch_current_() {
for (int i = 0; i < prefetch_.size(); ++i) {
prefetch_[i].reset(new Batch<Dtype>());
prefetch_free_.push(prefetch_[i].get());
}
}
示例5: QueuePair
// 第一个solver里的DataReader reader_初始化的时候,
// 剩下的solvers里的DataReader reader_初始化的时候,
// 构造函数,传入的是网络的参数、
// 初始化queue_pair_(里面包含两个阻塞队列free_和full_)
DataReader::DataReader(const LayerParameter& param)
: queue_pair_(new QueuePair( // 1.往free_里放进去(push)了这么多个Datum. (4 x batch_size)
param.data_param().prefetch() * param.data_param().batch_size()))
{
// Get or create a body
// 首先创建或者获取一个body实例
boost::mutex::scoped_lock lock(bodies_mutex_);
string key = source_key(param);// 从网络参数中获取key
weak_ptr<Body>& weak = bodies_[key];// bodies_是存放的string到Body的映射
body_ = weak.lock();
// 如果bodies是空的
if (!body_)
{
// 2.新建一个Body. 见下面分析.
body_.reset(new Body(param)); // 则新建Body实例到body_
bodies_[key] = weak_ptr<Body>(body_);// 然后存放到bodies_中去
}
// 如果只有一个source,就只有一个Body对象. Body body_的成员new_queue_pairs里的free_和full_队列中的元素为Datum, 队列长度为 (4 x batch_size)
body_->new_queue_pairs_.push(queue_pair_); // 并将queue_pair放入body_中的new_queue_pairs_中去
}
示例6:
// A source is uniquely identified by its layer name + path, in case
// the same database is read from two different locations in the net.
static inline string source_key(const LayerParameter& param, bool is_nv_data) {
return param.name() + ":" +
(is_nv_data ? param.nvdata_param().source() : param.data_param().source());
}
示例7:
// A source is uniquely identified by its layer name + path, in case
// the same database is read from two different locations in the net.
static inline string source_key(const LayerParameter& param) {
return param.name() + ":" + param.data_param().source();
}
示例8: QueuePair
DataReader::DataReader(const LayerParameter& param) :param(param),cur_idx(0){
pair.reset(new QueuePair(param.data_param().prefetch()*param.data_param().batch_size()));
parseImageset();
startThread();
}
示例9:
bool BasePrefetchingDataLayer<Ftype, Btype>::auto_mode(const LayerParameter& param) {
// Both should be set to positive for manual mode
const DataParameter& dparam = param.data_param();
bool auto_mode = !dparam.has_threads() && !dparam.has_parser_threads();
return auto_mode;
}
示例10: DataSiameseLayer
explicit DataSiameseLayer(const LayerParameter& param): BaseDataLayer<Dtype>(param), data_param_(param.data_param()) {}