caffe-segnet icon indicating copy to clipboard operation
caffe-segnet copied to clipboard

make runtest fail

Open AliRaza21918 opened this issue 6 years ago • 4 comments

OS:: Ubuntu16.04 CPU_ONLY

I have make changes in the line 56 of "contrastive_loss_layer.cpp" file to fix an error while make all Dtype dist = std::max(margin - (float)sqrt(dist_sq_.cpu_data()[i]), Dtype(0.0)); here “(float)” is added

So when I executed make runtest my terminal display this result

CXX src/caffe/test/test_power_layer.cpp In file included from src/caffe/test/test_power_layer.cpp:12:0: ./include/caffe/test/test_gradient_check_util.hpp: In instantiation of ‘void caffe::GradientChecker<Dtype>::CheckGradientSingle(caffe::Layer<Dtype>, const std::vector<caffe::Blob<Dtype>>&, const std::vector<caffe::Blob<Dtype>>&, int, int, int, bool) [with Dtype = float]’: ./include/caffe/test/test_gradient_check_util.hpp:208:26: required from ‘void caffe::GradientChecker<Dtype>::CheckGradientEltwise(caffe::Layer<Dtype>, const std::vector<caffe::Blob<Dtype>>&, const std::vector<caffe::Blob<Dtype>>&) [with Dtype = float]’ src/caffe/test/test_power_layer.cpp:78:5: required from ‘void caffe::PowerLayerTest<TypeParam>::TestBackward(caffe::PowerLayerTest<TypeParam>::Dtype, caffe::PowerLayerTest<TypeParam>::Dtype, caffe::PowerLayerTest<TypeParam>::Dtype) [with TypeParam = caffe::CPUDevice; caffe::PowerLayerTest<TypeParam>::Dtype = float]’ src/caffe/test/test_power_layer.cpp:167:3: required from ‘void caffe::PowerLayerTest_TestPowerTwoScaleHalfGradient_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = caffe::CPUDevice]’ src/caffe/test/test_power_layer.cpp:170:1: required from here ./include/caffe/test/test_gradient_check_util.hpp:167:31: error: no matching function for call to ‘max(const double&, float)’ Dtype scale = std::max( ^ In file included from /usr/include/c++/5/algorithm:61:0, from src/caffe/test/test_power_layer.cpp:1: /usr/include/c++/5/bits/stl_algobase.h:219:5: note: candidate: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/5/bits/stl_algobase.h:219:5: note: template argument deduction/substitution failed: In file included from src/caffe/test/test_power_layer.cpp:12:0: ./include/caffe/test/test_gradient_check_util.hpp:167:31: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘float’) Dtype scale = std::max( ^ In file included from /usr/include/c++/5/algorithm:61:0, from src/caffe/test/test_power_layer.cpp:1: /usr/include/c++/5/bits/stl_algobase.h:265:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/5/bits/stl_algobase.h:265:5: note: template argument deduction/substitution failed: In file included from src/caffe/test/test_power_layer.cpp:12:0: ./include/caffe/test/test_gradient_check_util.hpp:167:31: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘float’) Dtype scale = std::max( ^ Makefile:526: recipe for target '.build_release/src/caffe/test/test_power_layer.o' failed make: *** [.build_release/src/caffe/test/test_power_layer.o] Error 1

AliRaza21918 avatar Jul 14 '18 19:07 AliRaza21918

Somebody plz help me

AliRaza21918 avatar Jul 15 '18 13:07 AliRaza21918

@alexgkendall plz help me to solve this problem

AliRaza21918 avatar Jul 16 '18 10:07 AliRaza21918

I solved this by changing the line 168 in test_gradient_check_util.hpp to (float)(std::max(fabs(computed_gradient), fabs(estimated_gradient))), (float)1.);

vinicius-cleves avatar Aug 27 '18 16:08 vinicius-cleves

I solved this by changing the Dtype scale = std::max( std::max(fabs(computed_gradient), fabs(estimated_gradient)), 1.);

to Dtype scale = std::max<Dtype>( std::max(fabs(computed_gradient), fabs(estimated_gradient)), Dtype(1.));

Villjoie avatar Jan 15 '20 16:01 Villjoie