Skip to content

error from make -j8 & make pycaffee #1

Description

@SeunghoHan

Hello,
Thank you for your sharing the code of up-down-captioner.
Actually, I have some question..

During the make -j8 & make pycaffee following your instruction,
some errors occurred in src/caffe/layers/beam_search_node_layer.cpp.
The detailed errors are below.

And I tried make -j8 & make pycaffee step by removing beam_search_node_layer.cpp and beam_search_node_layer.cu files. The step was passed, but I cannot use the Demo.ipynb in the line of 'Load captioning model'.
Maybe it was caused from the beam_search_node_layer.cpp.

So.. have you any comment or idea for solving this problem?
My environment is as follows:

  • Ubuntu 16.04
  • Python: 2.7.13 (Anaconda)
  • gcc version: 5.4.0
  • installed needed libs

-- Detailed errors during make beam_search_node_layer.cpp.
....
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
** occuring error**
src/caffe/layers/beam_search_node_layer.cpp: In instantiation of \u2018void caffe::BeamSearchNodeLayer::Forward_cpu(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]\u2019:
src/caffe/layers/beam_search_node_layer.cpp:208:1: required from here
src/caffe/layers/beam_search_node_layer.cpp:97:51: error: no matching function for call to \u2018make_pair(const float&, float)\u2019
cpu_beams_.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence_));
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:276:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^
/usr/include/c++/5/bits/stl_pair.h:276:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:97:63: note: cannot convert \u2018*(partial_sum + ((sizetype)(((long unsigned int)src) * 4ul)))\u2019 (type \u2018const float\u2019) to type \u2018float&&\u2019
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
^
src/caffe/layers/beam_search_node_layer.cpp:108:54: error: no matching function for call to \u2018make_pair(const float&, int)\u2019
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:276:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^
/usr/include/c++/5/bits/stl_pair.h:276:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:108:60: note: cannot convert \u2018*(score + ((sizetype)(((long unsigned int)(ix + w)) * 4ul)))\u2019 (type \u2018const float\u2019) to type \u2018float&&\u2019
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
^
src/caffe/layers/beam_search_node_layer.cpp: In instantiation of \u2018void caffe::BeamSearchNodeLayer::Forward_cpu(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]\u2019:
src/caffe/layers/beam_search_node_layer.cpp:208:1: required from here
src/caffe/layers/beam_search_node_layer.cpp:97:51: error: no matching function for call to \u2018make_pair(const double&, double)\u2019
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:276:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^
/usr/include/c++/5/bits/stl_pair.h:276:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:97:63: note: cannot convert \u2018*(partial_sum + ((sizetype)(((long unsigned int)src) * 8ul)))\u2019 (type \u2018const double\u2019) to type \u2018double&&\u2019
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
^
src/caffe/layers/beam_search_node_layer.cpp:108:54: error: no matching function for call to \u2018make_pair(const double&, int)\u2019
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:276:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, _T2&& _y)
^
/usr/include/c++/5/bits/stl_pair.h:276:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:108:60: note: cannot convert \u2018*(score + ((sizetype)(((long unsigned int)(ix + w)) * 8ul)))\u2019 (type \u2018const double\u2019) to type \u2018double&&\u2019
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
^
Makefile:584: recipe for target '.build_release/src/caffe/layers/beam_search_node_layer.o' failed
make: *** [.build_release/src/caffe/layers/beam_search_node_layer.o] Error 1
make: *** Waiting for unfinished jobs....

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions