weiliu89 / caffe

Caffe: a fast open framework for deep learning.
http://caffe.berkeleyvision.org/
Other
4.77k stars 1.68k forks source link

Compiling errors with the SSD branch #463

Open livenletdie opened 7 years ago

livenletdie commented 7 years ago

Issue summary

I am not able to compile the SSD branch of caffe. It fails with the error below. I am able to compile the master branch just fine but it fails once I do checkout ssd and then compile. Any help would be greatly appreciated.

CXX .build_release/src/caffe/proto/caffe.pb.cc CXX src/caffe/data_reader.cpp In file included from src/caffe/data_reader.cpp:8:0: ./include/caffe/layers/annotated_datalayer.hpp:34:3: error: 'caffe::DataReader' is not a template DataReader reader; ^ ./include/caffe/layers/annotated_datalayer.hpp:34:14: error: 'AnnotatedDatum' was not declared in this scope DataReader reader; ^ ./include/caffe/layers/annotated_data_layer.hpp:36:3: error: 'AnnotatedDatum_AnnotationType' does not name a type AnnotatedDatum_AnnotationType annotype; ^ ./include/caffe/layers/annotated_data_layer.hpp:37:10: error: 'BatchSampler' was not declared in this scope vector batchsamplers; ^ ./include/caffe/layers/annotated_data_layer.hpp:37:22: error: template argument 1 is invalid vector batchsamplers; ^ ./include/caffe/layers/annotated_data_layer.hpp:37:22: error: template argument 2 is invalid src/caffe/data_reader.cpp:20:28: error: 'caffe::DataReader' is not a template map<const string, weak_ptr<DataReader::Body> >

Steps to reproduce

I am using the standard Makefile.config with CUDNN and WITH_PYTHON_LAYERS enabled. For compilation I use g++-5 by pointing the custom_cxx to it.

Your system configuration

Operating system: Ubuntu 16.04 Compiler: g++ 5.4 CUDA version (if applicable): 8.0 CUDNN version (if applicable): 5 BLAS: Tried with Atlas and OpenBlas but same issue. Python or MATLAB version (for pycaffe and matcaffe respectively): 2.7

weiliu89 commented 7 years ago

How about disabling WITH_PYTHON_LAYERS?

weiliu89 commented 7 years ago

And probably you want to make clean first and then make again

livenletdie commented 7 years ago

No luck. Same error. I commented the WITH_PYTHON_LAYERS line, then did make clean && make all.

91Eric commented 6 years ago

@livenletdie @weiliu89 do you solve the problem?I meet the same problem.I found it'e defination is a class but used as a templete.Thanks