markson14 / FaceRecognitionCpp

Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
48 stars 24 forks source link

tvm_complier error #6

Open XinghaoChen9 opened 4 years ago

XinghaoChen9 commented 4 years ago

Hi! markson14: Thanks for your wonderful project, I have met a problem recently, could you help me? After installing tvm and llvm, I can run complier.py successfully and thus generate the .so .params .json files. However, when I change target = tvm.target.create("llvm -mcpu=haswell") to target = tvm.target.arm_cpu('rasp3b'), I encountered some errors. log `download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 2 attempts left download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 1 attempt left WARNING:root:Failed to download tophub package for arm_cpu: <urlopen error [Errno 111] Connection refused> download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 2 attempts left download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 1 attempt left WARNING:root:Failed to download tophub package for llvm: <urlopen error [Errno 111] Connection refused> download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 2 attempts left download failed due to URLError(ConnectionRefusedError(111, 'Connection refused')), retrying, 1 attempt left Traceback (most recent call last): File "./complier.py", line 44, in main() File "./complier.py", line 33, in main params=relay_params) File "/home/cxh/project/tvm/python/tvm/relay/build_module.py", line 255, in build graph_json, mod, params = bld_mod.build(mod, target, target_host, params) File "/home/cxh/project/tvm/python/tvm/relay/build_module.py", line 121, in build self._build(mod, target, target_host) File "/home/cxh/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 225, in call raise get_last_ffi_error() tvm._ffi.base.TVMError: Traceback (most recent call last): [bt] (8) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)+0x8e) [0x7f15b1068a2e] [bt] (7) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)+0x82) [0x7f15b106fca2] [bt] (6) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)+0x27) [0x7f15b106ad77] [bt] (5) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::MixedModeMutator::VisitExpr(tvm::relay::CallNode const*)+0x43) [0x7f15b0ebf1e3] [bt] (4) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::ForwardRewriter::Rewrite(tvm::relay::CallNode const, tvm::RelayExpr const&)+0x139f) [0x7f15b0ef192f] [bt] (3) /home/cxh/project/tvm/build/libtvm.so(tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef const&)>::AssignTypedLambda<tvm::RelayExpr ()(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef const&)>(tvm::RelayExpr ()(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef const&))::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue)#1}::operator()(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue) const+0x24b) [0x7f15b0e6f3fb] [bt] (2) /home/cxh/project/tvm/build/libtvm.so(tvm::RelayExpr tvm::relay::LayoutRewriter(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef const&)+0xca0) [0x7f15b0e6d0d0] [bt] (1) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::alter_op_layout::AlterTransformMemorizer::CallWithNewLayouts(tvm::relay::Call const&, std::vector<tvm::RelayExpr, std::allocator > const&)+0x81b) [0x7f15b0e6a9cb] [bt] (0) /home/cxh/project/tvm/build/libtvm.so(+0xec763b) [0x7f15b114a63b] File "/home/cxh/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 78, in cfun rv = local_pyfunc(pyargs) File "/home/cxh/project/tvm/python/tvm/relay/op/nn/_nn.py", line 98, in alter_op_layout_conv2d return topi.nn.conv2d_alter_layout(attrs, inputs, tinfos, out_type) File "", line 2, in conv2d_alter_layout File "/home/cxh/project/tvm/python/tvm/target/generic_func.py", line 267, in dispatch_func return dispatch_dict[k](*args, *kwargs) File "/home/cxh/project/tvm/topi/python/topi/arm_cpu/conv2d_alter_op.py", line 40, in _alter_conv2d_layout relay.op.get("nn.conv2d"), attrs, tinfos, out_type, target) File "/home/cxh/project/tvm/python/tvm/relay/backend/compile_engine.py", line 199, in select_implementation outs = impl.compute(attrs, inputs, out_type) File "/home/cxh/project/tvm/python/tvm/relay/op/op.py", line 89, in compute return _OpImplementationCompute(self, attrs, inputs, out_type) File "/home/cxh/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 225, in call raise get_last_ffi_error() [bt] (3) /home/cxh/project/tvm/build/libtvm.so(TVMFuncCall+0x65) [0x7f15b114dd35] [bt] (2) /home/cxh/project/tvm/build/libtvm.so(+0xe00aa8) [0x7f15b1083aa8] [bt] (1) /home/cxh/project/tvm/build/libtvm.so(tvm::relay::OpImplementation::Compute(tvm::Attrs const&, tvm::runtime::Array<tvm::te::Tensor, void> const&, tvm::Type const&)+0xb1) [0x7f15b1083871] [bt] (0) /home/cxh/project/tvm/build/libtvm.so(+0xec763b) [0x7f15b114a63b] File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 1319, in do_open encode_chunked=req.has_header('Transfer-encoding')) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 1252, in request self._send_request(method, url, body, headers, encode_chunked) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 1298, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 1247, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 1026, in _send_output self.send(msg) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 966, in send self.connect() File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 1414, in connect super().connect() File "/home/cxh/anaconda2/envs/abc/lib/python3.7/http/client.py", line 938, in connect (self.host,self.port), self.timeout, self.source_address) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/socket.py", line 728, in create_connection raise err File "/home/cxh/anaconda2/envs/abc/lib/python3.7/socket.py", line 716, in create_connection sock.connect(sa) File "/home/cxh/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 78, in cfun rv = local_pyfunc(pyargs) File "/home/cxh/project/tvm/python/tvm/relay/op/strategy/generic.py", line 169, in _compute_conv2d return [topi_compute(args)] File "/home/cxh/project/tvm/python/tvm/autotvm/task/topi_integration.py", line 155, in wrapper node = topi_compute(cfg, args) File "/home/cxh/project/tvm/topi/python/topi/arm_cpu/conv2d.py", line 41, in conv2d_nchw_spatial_pack dilation, out_dtype, num_tile=2) File "/home/cxh/project/tvm/topi/python/topi/arm_cpu/conv2d_spatial_pack.py", line 83, in conv2d_spatial_pack_nchw 'arm_cpu', 'rk3399', 'conv2d_nchw_spatial_pack.arm_cpu') File "/home/cxh/project/tvm/python/tvm/autotvm/tophub.py", line 222, in load_reference_log download_package(tophub_location, package_name) File "/home/cxh/project/tvm/python/tvm/autotvm/tophub.py", line 187, in download_package download(download_url, os.path.join(rootpath, package_name), True, verbose=0) File "/home/cxh/project/tvm/python/tvm/contrib/download.py", line 111, in download raise err File "/home/cxh/project/tvm/python/tvm/contrib/download.py", line 97, in download urllib2.urlretrieve(url, tempfile, reporthook=_download_progress) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 247, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 525, in open response = self._open(req, data) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 543, in _open '_open', req) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 503, in _call_chain result = func(*args) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 1362, in https_open context=self._context, check_hostname=self._check_hostname) File "/home/cxh/anaconda2/envs/abc/lib/python3.7/urllib/request.py", line 1321, in do_open raise URLError(err) ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred:

urllib.error.URLError: <urlopen error [Errno 111] Connection refused> ` Do you know why this occurs? Could you help me?

markson14 commented 3 years ago

@XinghaoChen9 It looks like some kind of network issues. It doesn't related to the library.

carlosvillagio commented 1 year ago

Hi Markson14, I'm trying to compile this project on Raspberry pi 4 (4GB) with g++ (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110. Could you help me fix the errors below?

/home/acarlos/tvm/include/tvm/runtime/logging.h: In function ‘std::unique_ptr<std::__cxx11::basic_string > tvm::runtime::detail::LogCheckFormat(const X&, const Y&)’: /home/acarlos/tvm/include/tvm/runtime/logging.h:547:15: error: ‘make_unique’ is not a member of ‘std’ 547 | return std::make_unique(os.str()); | ^~~ /home/acarlos/tvm/include/tvm/runtime/logging.h:547:15: note: ‘std::make_unique’ is only available from C++14 onwards /home/acarlos/tvm/include/tvm/runtime/logging.h:547:38: error: expected primary-expression before ‘>’ token 547 | return std::make_unique(os.str()); | ^ In file included from /home/acarlos/tvm/include/tvm/runtime/memory.h:26, from /home/acarlos/tvm/include/tvm/runtime/container/base.h:29, from /home/acarlos/tvm/include/tvm/runtime/container/string.h:29, from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/object.h: At global scope: /home/acarlos/tvm/include/tvm/runtime/object.h:572:50: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 572 | template <typename ObjectType, typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/object.h:572:45: note: ‘std::enable_if_t’ is only available from C++14 onwards 572 | template <typename ObjectType, typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/object.h:572:61: error: expected ‘>’ before ‘<’ token 572 | template <typename ObjectType, typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>> | ^ /home/acarlos/tvm/include/tvm/runtime/object.h:593:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 593 | typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/object.h:593:24: note: ‘std::enable_if_t’ is only available from C++14 onwards 593 | typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/object.h:593:40: error: expected ‘>’ before ‘<’ token 593 | typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>> | ^ In file included from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/container/string.h: In member function ‘size_t tvm::runtime::ObjectHash::operator()(const tvm::runtime::ObjectRef&) const’: /home/acarlos/tvm/include/tvm/runtime/container/string.h:511:41: error: no matching function for call to ‘tvm::runtime::ObjectRef::as() const’ 511 | if (const auto str = a.as()) { | ^ In file included from /home/acarlos/tvm/include/tvm/runtime/memory.h:26, from /home/acarlos/tvm/include/tvm/runtime/container/base.h:29, from /home/acarlos/tvm/include/tvm/runtime/container/string.h:29, from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: candidate: ‘template<class ObjectType, class> const ObjectType tvm::runtime::ObjectRef::as() const’ 573 | inline const ObjectType as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: template argument deduction/substitution failed: /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: candidate: ‘template<class ObjectRefType, class> tvm::runtime::Optional tvm::runtime::ObjectRef::as() const’ 594 | inline Optional as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: template argument deduction/substitution failed: In file included from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/container/string.h: In member function ‘bool tvm::runtime::ObjectEqual::operator()(const tvm::runtime::ObjectRef&, const tvm::runtime::ObjectRef&) const’: /home/acarlos/tvm/include/tvm/runtime/container/string.h:521:43: error: no matching function for call to ‘tvm::runtime::ObjectRef::as() const’ 521 | if (const auto str_a = a.as()) { | ^ In file included from /home/acarlos/tvm/include/tvm/runtime/memory.h:26, from /home/acarlos/tvm/include/tvm/runtime/container/base.h:29, from /home/acarlos/tvm/include/tvm/runtime/container/string.h:29, from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: candidate: ‘template<class ObjectType, class> const ObjectType tvm::runtime::ObjectRef::as() const’ 573 | inline const ObjectType as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: template argument deduction/substitution failed: /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: candidate: ‘template<class ObjectRefType, class> tvm::runtime::Optional tvm::runtime::ObjectRef::as() const’ 594 | inline Optional as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: template argument deduction/substitution failed: In file included from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/container/string.h:522:45: error: no matching function for call to ‘tvm::runtime::ObjectRef::as() const’ 522 | if (const auto str_b = b.as()) { | ^ In file included from /home/acarlos/tvm/include/tvm/runtime/memory.h:26, from /home/acarlos/tvm/include/tvm/runtime/container/base.h:29, from /home/acarlos/tvm/include/tvm/runtime/container/string.h:29, from /home/acarlos/tvm/include/tvm/runtime/module.h:31, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: candidate: ‘template<class ObjectType, class> const ObjectType tvm::runtime::ObjectRef::as() const’ 573 | inline const ObjectType as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:573:28: note: template argument deduction/substitution failed: /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: candidate: ‘template<class ObjectRefType, class> tvm::runtime::Optional tvm::runtime::ObjectRef::as() const’ 594 | inline Optional as() const; | ^~ /home/acarlos/tvm/include/tvm/runtime/object.h:594:34: note: template argument deduction/substitution failed: In file included from /home/acarlos/tvm/include/tvm/runtime/container/array.h:34, from /home/acarlos/tvm/include/tvm/runtime/packed_func.h:28, from /home/acarlos/tvm/include/tvm/runtime/module.h:322, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/container/./optional.h: At global scope: /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:112:3: error: ‘operator==’ function uses ‘auto’ type specifier without trailing return type 112 | auto operator==(const Optional& other) const { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:112:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:123:3: error: ‘operator!=’ function uses ‘auto’ type specifier without trailing return type 123 | auto operator!=(const Optional& other) const { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:123:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:134:3: error: ‘operator==’ function uses ‘auto’ type specifier without trailing return type 134 | auto operator==(const T& other) const { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:134:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:140:3: error: ‘operator!=’ function uses ‘auto’ type specifier without trailing return type 140 | auto operator!=(const T& other) const { return !(this == other); } | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:140:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:142:3: error: ‘operator==’ function uses ‘auto’ type specifier without trailing return type 142 | auto operator==(const U& other) const { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:142:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:148:3: error: ‘operator!=’ function uses ‘auto’ type specifier without trailing return type 148 | auto operator!=(const U& other) const { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/./optional.h:148:3: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’ In file included from /home/acarlos/tvm/include/tvm/runtime/packed_func.h:28, from /home/acarlos/tvm/include/tvm/runtime/module.h:322, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/container/array.h:261:25: error: expected template-name before ‘<’ token 261 | : std::bool_constant<std::is_base_of_v< | ^ /home/acarlos/tvm/include/tvm/runtime/container/array.h:261:25: error: expected ‘{’ before ‘<’ token /home/acarlos/tvm/include/tvm/runtime/container/array.h:268:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’ 268 | inline constexpr bool is_valid_iterator_v = is_valid_iterator<T, IterType>::value; | ^~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:268:23: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’ 268 | inline constexpr bool is_valid_iterator_v = is_valid_iterator<T, IterType>::value; | ^~~~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:650:43: error: ‘invoke_result_t’ in namespace ‘std’ does not name a template type 650 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^~~~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:650:38: note: ‘std::invoke_result_t’ is only available from C++17 onwards 650 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:650:58: error: expected ‘>’ before ‘<’ token 650 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^ /home/acarlos/tvm/include/tvm/runtime/container/array.h:661:41: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 661 | template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:661:36: note: ‘std::enable_if_t’ is only available from C++14 onwards 661 | template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:661:52: error: expected ‘>’ before ‘<’ token 661 | template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>> | ^ /home/acarlos/tvm/include/tvm/runtime/container/array.h:784:43: error: ‘invoke_result_t’ in namespace ‘std’ does not name a template type 784 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^~~~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:784:38: note: ‘std::invoke_result_t’ is only available from C++17 onwards 784 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:784:58: error: expected ‘>’ before ‘<’ token 784 | template <typename F, typename U = std::invoke_result_t<F, T>> | ^ /home/acarlos/tvm/include/tvm/runtime/container/array.h: In static member function ‘static tvm::runtime::ObjectPtr tvm::runtime::Array< , >::MapHelper(tvm::runtime::ObjectPtr, F)’: /home/acarlos/tvm/include/tvm/runtime/container/array.h:792:47: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’? 792 | constexpr bool is_same_output_type = std::is_same_v<T, U>; | ^~~~~ | is_same /home/acarlos/tvm/include/tvm/runtime/container/array.h:792:58: error: expected primary-expression before ‘,’ token 792 | constexpr bool is_same_output_type = std::is_same_v<T, U>; | ^ /home/acarlos/tvm/include/tvm/runtime/container/array.h:794:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 794 | if constexpr (is_same_output_type) { | ^~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:794:19: error: the value of ‘is_same_output_type’ is not usable in a constant expression 794 | if constexpr (is_same_output_type) { | ^~~~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:814:8: warning: ‘if constexpr’ only available with ‘-std=c++17’ or ‘-std=gnu++17’ 814 | if constexpr (compatible_types) { | ^~~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h: At global scope: /home/acarlos/tvm/include/tvm/runtime/container/array.h:876:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’ 876 | inline constexpr bool is_tvm_array = false; | ^~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:876:23: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’ 876 | inline constexpr bool is_tvm_array = false; | ^~~~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:879:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’ 879 | inline constexpr bool is_tvm_array<Array> = true; | ^~ /home/acarlos/tvm/include/tvm/runtime/container/array.h:879:23: warning: variable templates only available with ‘-std=c++14’ or ‘-std=gnu++14’ 879 | inline constexpr bool is_tvm_array<Array> = true; | ^~~~~~ In file included from /home/acarlos/tvm/include/tvm/runtime/module.h:322, from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:9, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/packed_func.h:148:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 148 | typename = std::enable_if_t< | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:148:24: note: ‘std::enable_if_t’ is only available from C++14 onwards 148 | typename = std::enable_if_t< | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:148:40: error: expected ‘>’ before ‘<’ token 148 | typename = std::enable_if_t< | ^ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:22: error: ‘integer_sequence’ is not a member of ‘std’ 1378 | struct Zipper<std::integer_sequence<std::size_t, id...>> { | ^~~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:22: error: ‘integer_sequence’ is not a member of ‘std’ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:54: error: template argument 1 is invalid 1378 | struct Zipper<std::integer_sequence<std::size_t, id...>> { | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:54: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Args> template<class ...> struct tvm::runtime::detail::parameter_pack::EnumerateImpl::Zipper’ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:54: note: expected a type, got ‘id ...’ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1378:57: error: expected unqualified-id before ‘>’ token 1378 | struct Zipper<std::integer_sequence<std::size_t, id...>> { | ^~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1384:43: error: ‘index_sequence_for’ is not a member of ‘std’ 1384 | using WithoutArg = typename Zipper<std::index_sequence_for>::WithoutArg; | ^~~~~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1384:43: error: ‘index_sequence_for’ is not a member of ‘std’ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1384:66: error: expected parameter pack before ‘...’ 1384 | using WithoutArg = typename Zipper<std::index_sequence_for>::WithoutArg; | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1384:66: error: template argument 1 is invalid /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1384:31: error: expected nested-name-specifier 1384 | using WithoutArg = typename Zipper<std::index_sequence_for>::WithoutArg; | ^~~~~~~~~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1385:40: error: ‘index_sequence_for’ is not a member of ‘std’ 1385 | using WithArg = typename Zipper<std::index_sequence_for>::WithArg; | ^~~~~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1385:40: error: ‘index_sequence_for’ is not a member of ‘std’ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1385:63: error: expected parameter pack before ‘...’ 1385 | using WithArg = typename Zipper<std::index_sequence_for>::WithArg; | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1385:63: error: template argument 1 is invalid /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1385:28: error: expected nested-name-specifier 1385 | using WithArg = typename Zipper<std::index_sequence_for>::WithArg; | ^~~~~~~~~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1469:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 1469 | template <typename = std::enable_if_t<std::is_base_of<ObjectRef, T>::value>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1469:24: note: ‘std::enable_if_t’ is only available from C++14 onwards 1469 | template <typename = std::enable_if_t<std::is_base_of<ObjectRef, T>::value>> | ^~~ /home/acarlos/tvm/include/tvm/runtime/packed_func.h:1469:40: error: expected ‘>’ before ‘<’ token 1469 | template <typename = std::enable_if_t<std::is_base_of<ObjectRef, T>::value>> | ^ In file included from /home/acarlos/FaceRecognitionCpp/facetracking.hpp:10, from /home/acarlos/FaceRecognitionCpp/facetracking.cpp:10: /home/acarlos/tvm/include/tvm/runtime/registry.h:113:38: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 113 | typename = typename std::enable_if_t< | ^~~ /home/acarlos/tvm/include/tvm/runtime/registry.h:113:38: note: ‘std::enable_if_t’ is only available from C++14 onwards /home/acarlos/tvm/include/tvm/runtime/registry.h:113:49: error: expected ‘>’ before ‘<’ token 113 | typename = typename std::enable_if_t< | ^ /home/acarlos/FaceRecognitionCpp/facetracking.cpp: In function ‘int InferenceOnce(RetinaFaceDeploy&, FR_MFN_Deploy&)’: /home/acarlos/FaceRecognitionCpp/facetracking.cpp:730:1: warning: no return statement in function returning non-void [-Wreturn-type] 730 | } | ^ /home/acarlos/FaceRecognitionCpp/facetracking.cpp: In function ‘int MTCNNTracking(MTCNN&, FR_MFN_Deploy&)’: /home/acarlos/FaceRecognitionCpp/facetracking.cpp:95:9: warning: control reaches end of non-void function [-Wreturn-type] 95 | Mat faces, face_avg; | ^~~~~ /home/acarlos/FaceRecognitionCpp/facetracking.cpp: In function ‘int MTCNNDetection(MTCNN&)’: /home/acarlos/FaceRecognitionCpp/facetracking.cpp:544:23: warning: control reaches end of non-void function [-Wreturn-type] 544 | VideoCapture cap(0); //using camera capturing