hi I was trying to compile caffe-dilation but I met some error.
In file included from /usr/include/c++/5/random:35:0,
from /home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_data_layer.hpp:4,
from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
error This file requires compiler and library support \
^
[ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/loss_layer.cpp.o
[ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/bnll_layer.cpp.o
[ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/cudnn_lcn_layer.cpp.o
In file included from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10:0:
/home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_datalayer.hpp:60:8: error: ‘mt19937’ in namespace ‘std’ does not name a type
std::mt19937 *rng;
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In constructor ‘caffe::ImageLabelDataLayer::ImageLabelDataLayer(const caffe::LayerParameter&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:85:3: error: ‘random_device’ is not a member of ‘std’
std::random_device rand_dev;
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:86:3: error: ‘rng’ was not declared in this scope
rng_ = new std::mt19937(rand_dev());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:86:14: error: expected type-specifier
rng = new std::mt19937(rand_dev());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:86:14: error: expected ‘;’
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In destructor ‘virtual caffe::ImageLabelDataLayer::~ImageLabelDataLayer()’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:92:10: error: ‘rng’ was not declared in this scope
delete rng_;
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:99:32: error: request for member ‘data_dir’ in ‘data_param’, which is of non-class type ‘int’
string data_dir = data_param.data_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:100:33: error: request for member ‘image_dir’ in ‘data_param’, which is of non-class type ‘int’
string image_dir = data_param.image_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:101:33: error: request for member ‘label_dir’ in ‘data_param’, which is of non-class type ‘int’
string label_dir = data_param.label_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:150:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:150:8: error: ‘transform_param’ does not name a type
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:151:7: error: ‘transform_param’ was not declared in this scope
if (transform_param.has_crop_size()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:169:33: error: request for member ‘offset’ in ‘label_slice’, which is of non-class type ‘int’
label_marginh = label_slice.offset(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:170:33: error: request for member ‘offset’ in ‘label_slice’, which is of non-class type ‘int’
label_marginw = label_slice.offset(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:175:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:176:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::SampleScale(cv::Mat, cv::Mat)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:222:18: error: ‘uniform_real_distribution’ is not a member of ‘std’
double scale = std::uniform_real_distribution(
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:222:49: error: expected primary-expression before ‘double’
double scale = std::uniform_real_distribution(
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::load_batch(caffe::Batch)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:286:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:286:8: error: ‘transform_param’ does not name a type
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:287:7: error: ‘transform_param’ was not declared in this scope
if (transform_param.has_crop_size()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:317:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:318:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:325:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto lines_size = imagelines.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:325:8: error: ‘lines_size’ does not name a type
auto lines_size = imagelines.size();
^
In file included from /home/aigrp/kai/caffe-dilation/include/caffe/common.hpp:6:0,
from /home/aigrp/kai/caffe-dilation/include/caffe/blob.hpp:8,
from /home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_data_layer.hpp:9,
from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:329:14: error: ‘lines_size’ was not declared in this scope
CHECK_GT(lines_size, linesid);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:390:22: error: ‘lines_size’ was not declared in this scope
if (linesid >= lines_size) {
^
[ 70%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/batch_norm_layer.cpp.o
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:64: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::ImageLabelDataParameter’
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::load_batch(caffe::Batch) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: error: no matching function for call to ‘GetLabelSlice(const float&, int&, int&, int&, float&)’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: candidate: template void {anonymous}::GetLabelSlice(const Dtype, int, int, const caffe::Slice&, Dtype)
void GetLabelSlice(const Dtype labels, int rows, int cols,
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: template argument deduction/substitution failed:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: note: cannot convert ‘label_slice’ (type ‘int’) to type ‘const caffe::Slice&’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:64: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::ImageLabelDataParameter’
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::load_batch(caffe::Batch) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: error: no matching function for call to ‘GetLabelSlice(const double&, int&, int&, int&, double&)’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: candidate: template void {anonymous}::GetLabelSlice(const Dtype, int, int, const caffe::Slice&, Dtype)
void GetLabelSlice(const Dtype *labels, int rows, int cols,
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: template argument deduction/substitution failed:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: note: cannot convert ‘label_slice’ (type ‘int’) to type ‘const caffe::Slice&’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
[ 70%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/bin_label_data_layer.cpp.o
[ 71%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/spp_layer.cpp.o
[ 71%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/tile_layer.cpp.o
src/caffe/CMakeFiles/caffe.dir/build.make:2299: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/image_label_data_layer.cpp.o' failed
make[2]: [src/caffe/CMakeFiles/caffe.dir/layers/image_label_data_layer.cpp.o] Error 1
make[2]: Waiting for unfinished jobs....
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In member function ‘virtual void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:365:44: error: request for member ‘bin_list_path’ in ‘data_param’, which is of non-class type ‘int’
const string& bin_list_path = data_param.bin_list_path();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:34: error: request for member ‘label_slice’ in ‘data_param’, which is of non-class type ‘int’
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:375:46: error: request for member ‘label_list_path’ in ‘data_param’, which is of non-class type ‘int’
const string& label_list_path = data_param.label_list_path();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:385:18: error: request for member ‘shuffle’ in ‘data_param’, which is of non-class type ‘int’
if (data_param.shuffle()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:399:28: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[0]), data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:399:67: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[0]), data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:401:37: error: request for member ‘batch_size’ in ‘data_param’, which is of non-class type ‘int’
const int batch_size = data_param.batch_size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:412:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:413:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In member function ‘virtual void caffe::BinLabelDataLayer::load_batch(caffe::Batch)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:472:37: error: request for member ‘batch_size’ in ‘data_param’, which is of non-class type ‘int’
const int batch_size = data_param.batch_size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:473:38: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
const string &bin_dir = data_param.bin_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:474:40: error: request for member ‘label_dir’ in ‘data_param’, which is of non-class type ‘int’
const string &label_dir = data_param.label_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:475:41: error: request for member ‘label_slice’ in ‘data_param’, which is of non-class type ‘int’
caffe::Slice label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:479:28: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[linesid]),
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:480:18: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:505:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto lines_size = binnames.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:505:8: error: ‘lines_size’ does not name a type
auto lines_size = binnames.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:507:33: error: request for member ‘mirror’ in ‘data_param’, which is of non-class type ‘int’
bool do_mirror = data_param.mirror() && Rand(2);
^
In file included from /home/aigrp/kai/caffe-dilation/include/caffe/common.hpp:6:0,
from /home/aigrp/kai/caffe-dilation/include/caffe/blob.hpp:8,
from /home/aigrp/kai/caffe-dilation/include/caffe/layers/bin_label_data_layer.hpp:6,
from /home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:12:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:510:14: error: ‘lines_size’ was not declared in this scope
CHECK_GT(lines_size, linesid);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:524:45: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
image = SliceChannels(image, data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:576:22: error: ‘lines_size’ was not declared in this scope
if (linesid >= lines_size) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:580:22: error: request for member ‘shuffle’ in ‘data_param’, which is of non-class type ‘int’
if (data_param.shuffle()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::load_batch(caffe::Batch) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::load_batch(caffe::Batch*) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: At global scope:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:68:5: warning: ‘int {anonymous}::ReadBinImageChannels(const string&)’ defined but not used [-Wunused-function]
int ReadBinImageChannels(const std::string &filename) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:115:13: warning: ‘std::vector {anonymous}::ReadImageShape(const string&)’ defined but not used [-Wunused-function]
vector ReadImageShape(const std::string &filename) {
^
src/caffe/CMakeFiles/caffe.dir/build.make:2419: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/bin_label_data_layer.cpp.o' failed
hi I was trying to compile caffe-dilation but I met some error. In file included from /usr/include/c++/5/random:35:0, from /home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_data_layer.hpp:4, from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10: /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
error This file requires compiler and library support \
^ [ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/loss_layer.cpp.o [ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/bnll_layer.cpp.o [ 68%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/cudnn_lcn_layer.cpp.o In file included from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10:0: /home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_datalayer.hpp:60:8: error: ‘mt19937’ in namespace ‘std’ does not name a type std::mt19937 *rng; ^ /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In constructor ‘caffe::ImageLabelDataLayer::ImageLabelDataLayer(const caffe::LayerParameter&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:85:3: error: ‘random_device’ is not a member of ‘std’
std::random_device rand_dev;
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:86:3: error: ‘rng’ was not declared in this scope
rng_ = new std::mt19937(rand_dev());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:86:14: error: expected type-specifier
rng = new std::mt19937(rand_dev());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:86:14: error: expected ‘;’
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In destructor ‘virtual caffe::ImageLabelDataLayer::~ImageLabelDataLayer()’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_datalayer.cpp:92:10: error: ‘rng’ was not declared in this scope
delete rng_;
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob >&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:99:32: error: request for member ‘data_dir’ in ‘data_param’, which is of non-class type ‘int’
string data_dir = data_param.data_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:100:33: error: request for member ‘image_dir’ in ‘data_param’, which is of non-class type ‘int’
string image_dir = data_param.image_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:101:33: error: request for member ‘label_dir’ in ‘data_param’, which is of non-class type ‘int’
string label_dir = data_param.label_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:150:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:150:8: error: ‘transform_param’ does not name a type
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:151:7: error: ‘transform_param’ was not declared in this scope
if (transform_param.has_crop_size()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:169:33: error: request for member ‘offset’ in ‘label_slice’, which is of non-class type ‘int’
label_marginh = label_slice.offset(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:170:33: error: request for member ‘offset’ in ‘label_slice’, which is of non-class type ‘int’
label_marginw = label_slice.offset(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:175:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:176:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::SampleScale(cv::Mat, cv::Mat)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:222:18: error: ‘uniform_real_distribution’ is not a member of ‘std’
double scale = std::uniform_real_distribution(
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:222:49: error: expected primary-expression before ‘double’
double scale = std::uniform_real_distribution(
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In member function ‘virtual void caffe::ImageLabelDataLayer::load_batch(caffe::Batch)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:286:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:286:8: error: ‘transform_param’ does not name a type
auto transform_param = this->layerparam.transform_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:287:7: error: ‘transform_param’ was not declared in this scope
if (transform_param.has_crop_size()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:317:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:318:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:325:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto lines_size = imagelines.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:325:8: error: ‘lines_size’ does not name a type
auto lines_size = imagelines.size();
^
In file included from /home/aigrp/kai/caffe-dilation/include/caffe/common.hpp:6:0,
from /home/aigrp/kai/caffe-dilation/include/caffe/blob.hpp:8,
from /home/aigrp/kai/caffe-dilation/include/caffe/layers/image_label_data_layer.hpp:9,
from /home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:10:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:329:14: error: ‘lines_size’ was not declared in this scope
CHECK_GT(lines_size, linesid);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:390:22: error: ‘lines_size’ was not declared in this scope
if (linesid >= lines_size) {
^
[ 70%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/batch_norm_layer.cpp.o
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob >&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:64: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::ImageLabelDataParameter’
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::load_batch(caffe::Batch ) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: error: no matching function for call to ‘GetLabelSlice(const float&, int&, int&, int&, float&)’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: candidate: template void {anonymous}::GetLabelSlice(const Dtype, int, int, const caffe::Slice&, Dtype)
void GetLabelSlice(const Dtype labels, int rows, int cols,
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: template argument deduction/substitution failed:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: note: cannot convert ‘label_slice’ (type ‘int’) to type ‘const caffe::Slice&’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob >&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:98:64: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::ImageLabelDataParameter’
auto &data_param = this->layerparam.image_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:168:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp: In instantiation of ‘void caffe::ImageLabelDataLayer::load_batch(caffe::Batch ) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:406:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:314:79: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::Slice’
auto &label_slice = this->layerparam.image_label_data_param().label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: error: no matching function for call to ‘GetLabelSlice(const double&, int&, int&, int&, double&)’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: candidate: template void {anonymous}::GetLabelSlice(const Dtype, int, int, const caffe::Slice&, Dtype)
void GetLabelSlice(const Dtype *labels, int rows, int cols,
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:62:6: note: template argument deduction/substitution failed:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/image_label_data_layer.cpp:377:18: note: cannot convert ‘label_slice’ (type ‘int’) to type ‘const caffe::Slice&’
GetLabelSlice(t_label_data, crop_size, crop_size, label_slice, label_data);
^
[ 70%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/bin_label_data_layer.cpp.o
[ 71%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/spp_layer.cpp.o
[ 71%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/tile_layer.cpp.o
src/caffe/CMakeFiles/caffe.dir/build.make:2299: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/image_label_data_layer.cpp.o' failed
make[2]: [src/caffe/CMakeFiles/caffe.dir/layers/image_label_data_layer.cpp.o] Error 1
make[2]: Waiting for unfinished jobs....
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In member function ‘virtual void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob >&)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:365:44: error: request for member ‘bin_list_path’ in ‘data_param’, which is of non-class type ‘int’
const string& bin_list_path = data_param.bin_list_path();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:9: error: ISO C++ forbids declaration of ‘label_slice’ with no type [-fpermissive]
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:366:34: error: request for member ‘label_slice’ in ‘data_param’, which is of non-class type ‘int’
auto &label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:375:46: error: request for member ‘label_list_path’ in ‘data_param’, which is of non-class type ‘int’
const string& label_list_path = data_param.label_list_path();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:385:18: error: request for member ‘shuffle’ in ‘data_param’, which is of non-class type ‘int’
if (data_param.shuffle()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:399:28: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[0]), data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:399:67: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[0]), data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:401:37: error: request for member ‘batch_size’ in ‘data_param’, which is of non-class type ‘int’
const int batch_size = data_param.batch_size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:412:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[2] = label_slice.dim(0);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:413:32: error: request for member ‘dim’ in ‘label_slice’, which is of non-class type ‘int’
label_shape[3] = label_slice.dim(1);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In member function ‘virtual void caffe::BinLabelDataLayer::load_batch(caffe::Batch)’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:9: error: ISO C++ forbids declaration of ‘data_param’ with no type [-fpermissive]
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:472:37: error: request for member ‘batch_size’ in ‘data_param’, which is of non-class type ‘int’
const int batch_size = data_param.batch_size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:473:38: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
const string &bin_dir = data_param.bin_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:474:40: error: request for member ‘label_dir’ in ‘data_param’, which is of non-class type ‘int’
const string &label_dir = data_param.label_dir();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:475:41: error: request for member ‘label_slice’ in ‘data_param’, which is of non-class type ‘int’
caffe::Slice label_slice = data_param.label_slice();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:479:28: error: request for member ‘bin_dir’ in ‘data_param’, which is of non-class type ‘int’
ReadImage(data_param.bin_dir() + binnames[linesid]),
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:480:18: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:505:3: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
auto lines_size = binnames.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:505:8: error: ‘lines_size’ does not name a type
auto lines_size = binnames.size();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:507:33: error: request for member ‘mirror’ in ‘data_param’, which is of non-class type ‘int’
bool do_mirror = data_param.mirror() && Rand(2);
^
In file included from /home/aigrp/kai/caffe-dilation/include/caffe/common.hpp:6:0,
from /home/aigrp/kai/caffe-dilation/include/caffe/blob.hpp:8,
from /home/aigrp/kai/caffe-dilation/include/caffe/layers/bin_label_data_layer.hpp:6,
from /home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:12:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:510:14: error: ‘lines_size’ was not declared in this scope
CHECK_GT(lines_size, linesid);
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:524:45: error: request for member ‘bin_slice’ in ‘data_param’, which is of non-class type ‘int’
image = SliceChannels(image, data_param.bin_slice());
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:576:22: error: ‘lines_size’ was not declared in this scope
if (linesid >= lines_size) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:580:22: error: request for member ‘shuffle’ in ‘data_param’, which is of non-class type ‘int’
if (data_param.shuffle()) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob >&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::load_batch(caffe::Batch ) [with Dtype = float]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::DataLayerSetUp(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob >&) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:362:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: In instantiation of ‘void caffe::BinLabelDataLayer::load_batch(caffe::Batch*) [with Dtype = double]’:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:591:1: required from here
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:471:62: error: invalid initialization of reference of type ‘int&’ from expression of type ‘const caffe::BinLabelDataParameter’
auto &data_param = this->layerparam.bin_label_data_param();
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp: At global scope:
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:68:5: warning: ‘int {anonymous}::ReadBinImageChannels(const string&)’ defined but not used [-Wunused-function]
int ReadBinImageChannels(const std::string &filename) {
^
/home/aigrp/kai/caffe-dilation/src/caffe/layers/bin_label_data_layer.cpp:115:13: warning: ‘std::vector {anonymous}::ReadImageShape(const string&)’ defined but not used [-Wunused-function]
vector ReadImageShape(const std::string &filename) {
^
src/caffe/CMakeFiles/caffe.dir/build.make:2419: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/bin_label_data_layer.cpp.o' failed
anyone can help?