Open XinghaoChen9 opened 4 years ago
@XinghaoChen9 It looks like some kind of network issues. It doesn't related to the library.
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~~
/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~~
/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~
/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~~~~
| 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~
/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~~~~~
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~~~~~
/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~~~~~~~~~
/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~~~~~
/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~~~~~~~~~
/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
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
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:
target = tvm.target.create("llvm -mcpu=haswell")
totarget = 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, inurllib.error.URLError: <urlopen error [Errno 111] Connection refused> ` Do you know why this occurs? Could you help me?