Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compile error about tbb #4

Open
shengxingdong opened this issue Jan 9, 2017 · 8 comments
Open

compile error about tbb #4

shengxingdong opened this issue Jan 9, 2017 · 8 comments

Comments

@shengxingdong
Copy link

I intalled tbb from https://github.com/wjakob/tbb
but there are still some link errors. how to intall it?

@benjisympa
Copy link
Contributor

Hi, I have the same problem on Ubuntu 14.04 with no GPU (I have also comment the line for #ifdef CPU_ONLY in src/caffe/layers/pca_layer.cpp), OpenCV 3.2 and python 2.7 :
Thank you for your answer.

[100%] Building CXX object python/CMakeFiles/pycaffe.dir/caffe/_caffe.cpp.o
Linking CXX executable device_query
[100%] Built target device_query
Linking CXX executable compute_image_mean
Linking CXX executable cifar10/convert_cifar_data
Linking CXX executable siamese/convert_mnist_siamese_data
Linking CXX executable mnist/convert_mnist_data
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/compute_image_mean] Erreur 1
make[1]: *** [tools/CMakeFiles/compute_image_mean.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [examples/mnist/convert_mnist_data] Erreur 1
make[1]: *** [examples/CMakeFiles/convert_mnist_data.dir/all] Erreur 2
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : .référence./lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
indéfinie vers « tbb:collect2: error: ld returned 1 exit status
:internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [examples/siamese/convert_mnist_siamese_data] Erreur 1
make[1]: *** [examples/CMakeFiles/convert_mnist_siamese_data.dir/all] Erreur 2
make[2]: *** [examples/cifar10/convert_cifar_data] Erreur 1
make[1]: *** [examples/CMakeFiles/convert_cifar_data.dir/all] Erreur 2
Linking CXX executable convert_imageset
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/convert_imageset] Erreur 1
make[1]: *** [tools/CMakeFiles/convert_imageset.dir/all] Erreur 2
Linking CXX executable test_net
Linking CXX executable train_net
Linking CXX executable finetune_net
[100%] Built target test_net
Linking CXX executable upgrade_net_proto_binary
[100%] Built target train_net
Linking CXX executable net_speed_benchmark
[100%] Linking CXX executable upgrade_net_proto_text
Built target finetune_net
[100%] Built target net_speed_benchmark
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/upgrade_net_proto_binary] Erreur 1
make[1]: *** [tools/CMakeFiles/upgrade_net_proto_binary.dir/all] Erreur 2
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/upgrade_net_proto_text] Erreur 1
make[1]: *** [tools/CMakeFiles/upgrade_net_proto_text.dir/all] Erreur 2
Linking CXX executable extract_features
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/extract_features] Erreur 1
make[1]: *** [tools/CMakeFiles/extract_features.dir/all] Erreur 2
Linking CXX executable cpp_classification/classification
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp_classification/classification] Erreur 1
make[1]: *** [examples/CMakeFiles/classification.dir/all] Erreur 2
Linking CXX executable caffe
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_push(void const*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Allocate(unsigned long, unsigned long, void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::NFS_Free(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::throw_exception_v4(tbb::internal::exception_id) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::user_abort »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop_if_present(void*) »
../lib/libcaffe.so : référence indéfinie vers « typeinfo for tbb::internal::concurrent_queue_base_v3 »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(unsigned long) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_empty() const »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_finish_clear() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_abort() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_pop(void*) »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3() »
../lib/libcaffe.so : référence indéfinie vers « tbb::internal::concurrent_queue_base_v3::internal_set_capacity(long, unsigned long) »
collect2: error: ld returned 1 exit status
make[2]: *** [tools/caffe] Erreur 1
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Erreur 2
Linking CXX shared library ../lib/_caffe.so

@jsupancic
Copy link
Owner

Could you post the actual command that's failing? Try make VERBOSE=1 -j1 then post the actual command (should probably start with g++ or ld) that produces the error?

I suspect, either (1) you're using too new a version of TBB (I used 2015, looks like that repo uses a 2017 version) or (2) the paths aren't getting setup right... which knowing the command should help us diagnose.

Best wishes,
James

@benjisympa
Copy link
Contributor

benjisympa commented Jan 19, 2017

Thank you for your answer.
I install the official version of TBB on Ubuntu 14.04.
I think that I've solved the problem by adding theses lines in deep_hand_pose/src/caffe/CMakeLists.txt :
FIND_PACKAGE(TBB 4.2 REQUIRED)
INCLUDE_DIRECTORIES(${TBB_INCLUDE_DIRS})
add_definitions(${TBB_DEFINITIONS})

#TARGET_LINK_LIBRARIES(Caffe ${OpenCV_LIBS} ${TBB_LIBRARIES})

target_link_libraries(caffe proto ${TBB_LIBRARIES} ${Caffe_LINKER_LIBS} ${Boost_LIBRARIES})

and also by adding theses lines in CMakeLists.txt :

FIND_PACKAGE(TBB 4.2 REQUIRED)
INCLUDE_DIRECTORIES(${TBB_INCLUDE_DIRS})
add_definitions(${TBB_DEFINITIONS})

@benjisympa
Copy link
Contributor

benjisympa commented Jan 19, 2017

But now, I have an __cxa_throw() exception and I don't know why (I've read stackoverflow and typically it's a problem with pthread, but it was found during the installation), if you have an idea ? :

layer {
name: "ignore"
type: "Silence"
bottom: "index"
bottom: "heatmap"
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "label"
bottom: "keypoint_predictions"
top: "loss"
loss_weight: 1
}
I0118 16:56:03.603484 6559 layer_factory.hpp:76] Creating layer DataSrc
batch_size = 64
!HandDataLayer::HandDataLayer!

I0118 16:56:03.625819 6559 net.cpp:110] Creating Layer DataSrc
I0118 16:56:03.625885 6559 net.cpp:433] DataSrc -> data
I0118 16:56:03.625933 6559 net.cpp:433] DataSrc -> label
I0118 16:56:03.625952 6559 net.cpp:433] DataSrc -> index
I0118 16:56:03.625964 6559 net.cpp:433] DataSrc -> heatmap
batch_size = 64
I0118 16:56:03.625994 6559 hand_data_layer.cpp:130] output data size: 64,1,128,128
I0118 16:56:03.626009 6559 net.cpp:155] Setting up DataSrc
I0118 16:56:03.626029 6559 net.cpp:163] Top shape: 64 1 128 128 (1048576)
I0118 16:56:03.626037 6559 net.cpp:163] Top shape: 64 28 1 1 (1792)
I0118 16:56:03.626045 6559 net.cpp:163] Top shape: 64 1 1 1 (64)
I0118 16:56:03.626052 6559 net.cpp:163] Top shape: 64 14 18 18 (290304)
I0118 16:56:03.626062 6559 layer_factory.hpp:76] Creating layer conv1
I0118 16:56:03.626085 6559 net.cpp:110] Creating Layer conv1
I0118 16:56:03.626094 6559 net.cpp:477] conv1 <- data
I0118 16:56:03.626112 6559 net.cpp:433] conv1 -> conv1
I0118 16:56:03.626854 6559 net.cpp:155] Setting up conv1
I0118 16:56:03.629004 6559 net.cpp:163] Top shape: 64 8 124 124 (7872512)
I0118 16:56:03.629104 6559 layer_factory.hpp:76] Creating layer pool1
I0118 16:56:03.629149 6559 net.cpp:110] Creating Layer pool1
I0118 16:56:03.629173 6559 net.cpp:477] pool1 <- conv1
I0118 16:56:03.629194 6559 net.cpp:433] pool1 -> pool1
I0118 16:56:03.629312 6559 net.cpp:155] Setting up pool1
I0118 16:56:03.629344 6559 net.cpp:163] Top shape: 64 8 62 62 (1968128)
I0118 16:56:03.629359 6559 layer_factory.hpp:76] Creating layer reluA
I0118 16:56:03.629381 6559 net.cpp:110] Creating Layer reluA
I0118 16:56:03.629397 6559 net.cpp:477] reluA <- pool1
I0118 16:56:03.629415 6559 net.cpp:419] reluA -> pool1 (in-place)
I0118 16:56:03.629446 6559 net.cpp:155] Setting up reluA
I0118 16:56:03.629463 6559 net.cpp:163] Top shape: 64 8 62 62 (1968128)
I0118 16:56:03.629477 6559 layer_factory.hpp:76] Creating layer conv2
I0118 16:56:03.629506 6559 net.cpp:110] Creating Layer conv2
I0118 16:56:03.629528 6559 net.cpp:477] conv2 <- pool1
I0118 16:56:03.629549 6559 net.cpp:433] conv2 -> conv2
I0118 16:56:03.629645 6559 net.cpp:155] Setting up conv2
I0118 16:56:03.629676 6559 net.cpp:163] Top shape: 64 8 58 58 (1722368)
I0118 16:56:03.629701 6559 layer_factory.hpp:76] Creating layer pool2
I0118 16:56:03.629722 6559 net.cpp:110] Creating Layer pool2
I0118 16:56:03.629736 6559 net.cpp:477] pool2 <- conv2
I0118 16:56:03.629752 6559 net.cpp:433] pool2 -> pool2
I0118 16:56:03.629775 6559 net.cpp:155] Setting up pool2
I0118 16:56:03.629792 6559 net.cpp:163] Top shape: 64 8 29 29 (430592)
I0118 16:56:03.629806 6559 layer_factory.hpp:76] Creating layer reluB
I0118 16:56:03.629822 6559 net.cpp:110] Creating Layer reluB
++read_csv_double: /mnt/data/NYU-Hands-v2//test//joint_1_u.csv
I0118 16:56:03.629838 6559 net.cpp:477] reluB <- pool2
I0118 16:56:03.630101 6559 net.cpp:419] reluB -> pool2 (in-place)
I0118 16:56:03.630240 6559 net.cpp:155] Setting up reluB
I0118 16:56:03.630357 6559 net.cpp:163] Top shape: 64 8 29 29 (430592)
I0118 16:56:03.630539 6559 layer_factory.hpp:76] Creating layer conv3
I0118 16:56:03.630645 6559 net.cpp:110] Creating Layer conv3
I0118 16:56:03.630666 6559 net.cpp:477] conv3 <- pool2
I0118 16:56:03.630684 6559 net.cpp:433] conv3 -> conv3
I0118 16:56:03.630758 6559 net.cpp:155] Setting up conv3
I0118 16:56:03.630821 6559 net.cpp:163] Top shape: 64 8 25 25 (320000)
I0118 16:56:03.630842 6559 layer_factory.hpp:76] Creating layer reluC
I0118 16:56:03.630861 6559 net.cpp:110] Creating Layer reluC
I0118 16:56:03.630872 6559 net.cpp:477] reluC <- conv3
I0118 16:56:03.630897 6559 net.cpp:419] reluC -> conv3 (in-place)
I0118 16:56:03.630924 6559 net.cpp:155] Setting up reluC
I0118 16:56:03.630940 6559 net.cpp:163] Top shape: 64 8 25 25 (320000)
I0118 16:56:03.630954 6559 layer_factory.hpp:76] Creating layer ip1
I0118 16:56:03.631055 6559 net.cpp:110] Creating Layer ip1
I0118 16:56:03.631074 6559 net.cpp:477] ip1 <- conv3
I0118 16:56:03.631099 6559 net.cpp:433] ip1 -> ip1
[New Thread 0x7fffea839700 (LWP 6563)]
[New Thread 0x7fffea038700 (LWP 6564)]
[New Thread 0x7fffe9436700 (LWP 6565)]
[New Thread 0x7fffe8834700 (LWP 6566)]
[Switching to Thread 0x7fffea839700 (LWP 6563)]
Catchpoint 1 (exception thrown), 0x00007ffff69d18b0 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
A debugging session is active.

Inferior 1 [process 6559] will be killed.

Quit anyway? (y or n)

I've also tried with caffe in docker mode but I have an unknow error in the stack trace.
For the command, I've followed your instructions, so I compiled with cmake and launched gdb like in train.sh.

Sincerly yours,
Benjamin

@jsupancic
Copy link
Owner

Instead of quitting, try hitting 'n' and then entering 'bt' for backtrace at the gdb prompt. Then post the resulting stack trace... it should give us some insight.

@benjisympa
Copy link
Contributor

benjisympa commented Jan 20, 2017

It's different now, I have a problem, I haven't all the .csv. Are there another .csv to download ?
Thank you.

I0120 10:32:19.765781 28676 net.cpp:298] Memory required for data: 74970888
I0120 10:32:19.765894 28676 solver.cpp:66] Solver scaffolding done.
I0120 10:32:19.765947 28676 caffe.cpp:212] Starting Optimization
I0120 10:32:19.765959 28676 solver.cpp:294] Solving HandPoseHM
I0120 10:32:19.765969 28676 solver.cpp:295] Learning Rate Policy: inv
I0120 10:32:19.791790 28676 solver.cpp:347] Iteration 0, Testing net (#0)
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//joint_1_d.csv
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_u.csv
error: failed to open /mnt/data/NYU-Hands-v2//train//train_u.csv
--read_csv_double: [0 x 0]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_v.csv
error: failed to open /mnt/data/NYU-Hands-v2//train//train_v.csv
--read_csv_double: [0 x 0]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_d.csv
error: failed to open /mnt/data/NYU-Hands-v2//train//train_d.csv
--read_csv_double: [0 x 0]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//test_predictions_u.csv
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//test_predictions_v.csv
--read_csv_double: [37 x 8252]
[New Thread 0x7fffea839700 (LWP 28680)]
[New Thread 0x7fffea038700 (LWP 28681)]
[New Thread 0x7fffe9436700 (LWP 28682)]
[New Thread 0x7fffe3fff700 (LWP 28683)]
[New Thread 0x7fffe17a0700 (LWP 28684)]
[New Thread 0x7fffe0f9f700 (LWP 28685)]
[New Thread 0x7fffcffff700 (LWP 28686)]
[New Thread 0x7fffcf7fe700 (LWP 28687)]

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fffea839700 (LWP 28680)]
0x00007ffff79f202c in jvl::load_nyu_datum(std::string const&, int) () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
A debugging session is active.

Inferior 1 [process 28676] will be killed.

Quit anyway? (y or n) n
Not confirmed.
(gdb) bt
#0 0x00007ffff79f202c in jvl::load_nyu_datum(std::string const&, int) () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
#1 0x00007ffff7a6c218 in caffe::HandDataLayerPrivate::producer() () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
#2 0x00007ffff7a6de71 in std::thread::_Impl<std::_Bind_simple<caffe::HandDataLayerPrivate::HandDataLayerPrivate(int, std::string const&)::{lambda()#1} ()> >::_M_run() () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
#3 0x00007ffff6a24a60 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff5b34184 in start_thread (arg=0x7fffea839700) at pthread_create.c:312
#5 0x00007ffff649237d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) q
A debugging session is active.

Inferior 1 [process 28676] will be killed.

Quit anyway? (y or n) y
leonie@leonie-ThinkPad-L540 ~/deep_hand_pose $ ls nyu_csv_annotations/test/ | grep ".csv"
joint_1_d.csv
joint_1_u.csv
joint_1_v.csv
test_predictions_u.csv
test_predictions_v.csv

@benjisympa
Copy link
Contributor

benjisympa commented Jan 20, 2017

Ok, the train works, just in your instructions there is an error with train, it's "cp nyu_csv_annotations/train/*.csv /mnt/data/NYU-Hands-v2/train/".

But, just after the test, I have an error. Maybe a bad compilation with pthread ?

I0120 11:56:31.675287 30564 solver.cpp:347] Iteration 0, Testing net (#0)
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//joint_1_d.csv
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_u.csv
--read_csv_double: [37 x 72757]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_v.csv
--read_csv_double: [37 x 72757]
++read_csv_double: /mnt/data/NYU-Hands-v2//train//train_d.csv
--read_csv_double: [37 x 72757]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//test_predictions_u.csv
--read_csv_double: [37 x 8252]
++read_csv_double: /mnt/data/NYU-Hands-v2//test//test_predictions_v.csv
--read_csv_double: [37 x 8252]
I0120 11:57:04.214550 30564 solver.cpp:415] Test net output #0: accuracy = 0.856293
I0120 11:57:04.215598 30564 solver.cpp:415] Test net output #1: loss = 4485.16 (* 1 = 4485.16 loss)
I0120 11:57:05.764050 30564 solver.cpp:243] Iteration 0, loss = 5682.16
I0120 11:57:05.764106 30564 solver.cpp:259] Train net output #0: loss = 5682.16 (* 1 = 5682.16 loss)
I0120 11:57:05.764144 30564 solver.cpp:590] Iteration 0, lr = 5e-06
I0120 11:57:48.229879 30564 solver.cpp:243] Iteration 25, loss = 5387.68
I0120 11:57:48.230145 30564 solver.cpp:259] Train net output #0: loss = 4870.47 (* 1 = 4870.47 loss)
I0120 11:57:48.230181 30564 solver.cpp:590] Iteration 25, lr = 4.99065e-06
I0120 11:58:24.442348 30564 solver.cpp:468] Snapshotting to binary proto file out/network_iter_50.caffemodel
I0120 11:58:24.704654 30564 solver.cpp:753] Snapshotting solver state to binary proto file out/network_iter_50.solverstate
I0120 11:58:24.799126 30564 solver.cpp:347] Iteration 50, Testing net (#0)
I0120 11:58:31.938609 30564 solver.cpp:415] Test net output #0: accuracy = 0.596095
I0120 11:58:31.938803 30564 solver.cpp:415] Test net output #1: loss = 2161.22 (* 1 = 2161.22 loss)
I0120 11:58:33.443783 30564 solver.cpp:243] Iteration 50, loss = 3946.94
I0120 11:58:33.443841 30564 solver.cpp:259] Train net output #0: loss = 3558.72 (* 1 = 3558.72 loss)
I0120 11:58:33.443857 30564 solver.cpp:590] Iteration 50, lr = 4.98133e-06
I0120 11:59:12.800185 30564 solver.cpp:243] Iteration 75, loss = 3299.95
I0120 11:59:12.801255 30564 solver.cpp:259] Train net output #0: loss = 3489.21 (* 1 = 3489.21 loss)
I0120 11:59:12.801362 30564 solver.cpp:590] Iteration 75, lr = 4.97206e-06
I0120 11:59:49.226238 30564 solver.cpp:468] Snapshotting to binary proto file out/network_iter_100.caffemodel
I0120 11:59:49.455024 30564 solver.cpp:753] Snapshotting solver state to binary proto file out/network_iter_100.solverstate
I0120 11:59:49.994309 30564 solver.cpp:327] Iteration 100, loss = 2937.72
I0120 11:59:49.994355 30564 solver.cpp:347] Iteration 100, Testing net (#0)
I0120 11:59:56.404495 30564 solver.cpp:415] Test net output #0: accuracy = 0.573024
I0120 11:59:56.404702 30564 solver.cpp:415] Test net output #1: loss = 2019.26 (* 1 = 2019.26 loss)
I0120 11:59:56.404813 30564 solver.cpp:332] Optimization Done.
I0120 11:59:56.404914 30564 caffe.cpp:215] Optimization Done.
terminate called without an active exception
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
[New Thread 0x7fffea839700 (LWP 30568)]
[New Thread 0x7fffea038700 (LWP 30569)]
[New Thread 0x7fffe9436700 (LWP 30570)]
[New Thread 0x7fffe8834700 (LWP 30571)]
[New Thread 0x7fffd99e7700 (LWP 30572)]
[New Thread 0x7fffd91e6700 (LWP 30573)]
[New Thread 0x7fffcbfff700 (LWP 30574)]
[New Thread 0x7fffcb7fe700 (LWP 30575)]
[New Thread 0x7fffca7fb700 (LWP 30578)]
[New Thread 0x7fffc9ffa700 (LWP 30579)]
[New Thread 0x7fffc923a700 (LWP 30580)]
[New Thread 0x7fffc0e6d700 (LWP 30581)]
[New Thread 0x7fffbab75700 (LWP 30582)]
[New Thread 0x7fffba374700 (LWP 30583)]
[New Thread 0x7fffb9b73700 (LWP 30584)]
[New Thread 0x7fffb9372700 (LWP 30585)]

Program received signal SIGABRT, Aborted.
0x00007ffff63cec37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
A debugging session is active.

Inferior 1 [process 30564] will be killed.

Quit anyway? (y or n) n
Not confirmed.
(gdb) bt
#0 0x00007ffff63cec37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff63d2028 in __GI_abort () at abort.c:89
#2 0x00007ffff69d3535 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff69d16d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff69d1703 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff7a71235 in caffe::HandDataLayer::~HandDataLayer() () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
#6 0x00007ffff7a71249 in caffe::HandDataLayer::~HandDataLayer() () from /home/leonie/deep_hand_pose/build/lib/libcaffe.so
#7 0x000000000040eb70 in caffe::Net::~Net() ()
#8 0x000000000040ed99 in caffe::Net::~Net() ()
#9 0x0000000000411a4e in caffe::Solver::~Solver() ()
#10 0x0000000000411f37 in caffe::SGDSolver::~SGDSolver() ()
#11 0x000000000040d5ee in boost::detail::sp_counted_base::release() ()
#12 0x000000000040b2ec in train() ()
#13 0x0000000000409091 in main ()
(gdb) q
A debugging session is active.

Inferior 1 [process 30564] will be killed.

Quit anyway? (y or n) y

Thank you.

@K3Y4NG
Copy link

K3Y4NG commented Jul 13, 2017

@shengxingdong @benjisympa Do you have the pre-trained model, network_iter_15000.caffemodel, I couldn't find it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants