Pony23333 opened a new issue #10074:
URL: https://github.com/apache/tvm/issues/10074


   
   
   ### Expected behavior
   
   I am tring to tune a model on arm CPU with RPC, but failed with the 
[demo](https://tvm.apache.org/docs//how_to/tune_with_autotvm/tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py)
 which seems to be bug caused by version conflict.
   
   ### Actual behavior
   
   autotvm.task.extract_from_program throw an AttributeError: 'ConfigSpace' 
object has no attribute 'reduce_axis'.
   
   The detail is as follows:
   Exception in thread Thread-1:
   Traceback (most recent call last):
     File "/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/threading.py", line 
932, in _bootstrap_inner
       self.run()
     File "/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/threading.py", line 
870, in run
       self._target(*self._args, **self._kwargs)
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/autotvm/task/relay_integration.py",
 line 55, in _lower
       compiler.lower(mod, target=target)
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/relay/backend/vm.py",
 line 155, in lower
       self._lower(mod, target, target_host)
     File "tvm/_ffi/_cython/./packed_func.pxi", line 323, in 
tvm._ffi._cy3.core.PackedFuncBase.__call__
     File "tvm/_ffi/_cython/./packed_func.pxi", line 257, in 
tvm._ffi._cy3.core.FuncCall
     File "tvm/_ffi/_cython/./packed_func.pxi", line 246, in 
tvm._ffi._cy3.core.FuncCall3
     File "tvm/_ffi/_cython/./base.pxi", line 163, in tvm._ffi._cy3.core.CALL
   AttributeError: Traceback (most recent call last):
     51: TVMFuncCall
     50: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), 
tvm::relay::vm::VMCompiler::GetFunction(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, 
tvm::runtime::ObjectPtr<tvm::runtime::Object> 
const&)::{lambda(tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     49: tvm::relay::vm::VMCompiler::Lower(tvm::IRModule, 
tvm::runtime::Map<tvm::Integer, tvm::Target, void, void>, tvm::Target)
     48: tvm::relay::vm::VMCompiler::OptimizeModuleImpl(tvm::IRModule)
     47: tvm::transform::Pass::operator()(tvm::IRModule) const
     46: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     45: tvm::transform::SequentialNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     44: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     43: tvm::transform::SequentialNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     42: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     41: tvm::transform::ModulePassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     40: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule 
(tvm::IRModule, 
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::tec::LowerTEPass(tvm::runtime::String
 const&, std::function<void (tvm::BaseFunc)>, 
tvm::VirtualDevice)::{lambda(tvm::IRModule, 
tvm::transform::PassContext)#1}>(tvm::relay::tec::LowerTEPass(tvm::runtime::String
 const&, std::function<void (tvm::BaseFunc)>, 
tvm::VirtualDevice)::{lambda(tvm::IRModule, 
tvm::transform::PassContext)#1})::{lambda(tvm::runtime::TVMArgs const&, 
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     39: tvm::relay::tec::LowerTE(tvm::IRModule const&, tvm::runtime::String 
const&, std::function<void (tvm::BaseFunc)>, tvm::VirtualDevice)
     38: tvm::transform::Pass::operator()(tvm::IRModule) const
     37: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     36: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     35: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::relay::Function 
(tvm::relay::Function, tvm::IRModule, 
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::tec::LowerTensorExpr(tvm::runtime::String
 const&, tvm::relay::tec::TECompiler, std::function<void (tvm::BaseFunc)>, 
tvm::VirtualDevice)::{lambda(tvm::relay::Function, tvm::IRModule, 
tvm::transform::PassContext)#1}>(tvm::relay::tec::LowerTensorExpr(tvm::runtime::String
 const&, tvm::relay::tec::TECompiler, std::function<void (tvm::BaseFunc)>, 
tvm::VirtualDevice)::{lambda(tvm::relay::Function, tvm::IRModule, 
tvm::transform::PassContext)#1})::{lambda(tvm::runtime::TVMArgs const&, 
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     34: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
     33: _ZZN3tvm5relay11ExprFunc
     32: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::FunctionNode
 const*)
     31: 
tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::FunctionNode
 const*)
     30: _ZN3tvm5relay9
     29: tvm::relay::ExprMutator::VisitExpr_(tvm::relay::FunctionNode const*)
     28: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
     27: _ZZN3tvm5relay11ExprFunc
     26: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::LetNode 
const*)
     25: 
tvm::relay::tec::LowerTensorExprMutator::PreVisitLetBinding_(tvm::relay::Var 
const&, tvm::RelayExpr const&)
     24: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
     23: _ZZN3tvm5relay11ExprFunc
     22: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::CallNode 
const*)
     21: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
     20: _ZZN3tvm5relay11ExprFunc
     19: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::CallNode 
const*)
     18: 
tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::CallNode
 const*)
     17: 
tvm::relay::tec::LowerTensorExprMutator::MakeLoweredCall(tvm::relay::Function, 
tvm::runtime::Array<tvm::RelayExpr, void>, tvm::Span, tvm::Target)
     16: tvm::relay::tec::TECompilerImpl::Lower(tvm::relay::tec::CCacheKey 
const&, tvm::runtime::String)
     15: 
tvm::relay::tec::TECompilerImpl::LowerInternal(tvm::relay::tec::CCacheKey 
const&, std::function<tvm::runtime::String (tvm::runtime::String)>)
     14: tvm::relay::tec::PrimFuncFor(tvm::relay::Function const&, tvm::Target 
const&, std::function<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > (std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >)>)
     13: tvm::relay::tec::ScheduleBuilder::Create(tvm::relay::Function const&, 
std::function<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > (std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >)>)
     12: 
tvm::relay::backend::MemoizedExprTranslator<tvm::runtime::Array<tvm::te::Tensor,
 void> >::VisitExpr(tvm::RelayExpr const&)
     11: _ZZN3tvm5relay11ExprFunc
     10: tvm::relay::tec::ScheduleBuilder::VisitExpr_(tvm::relay::CallNode 
const*)
     9: 
tvm::relay::backend::MemoizedExprTranslator<tvm::runtime::Array<tvm::te::Tensor,
 void> >::VisitExpr(tvm::RelayExpr const&)
     8: _ZZN3tvm5relay11ExprFunc
     7: tvm::relay::tec::ScheduleBuilder::VisitExpr_(tvm::relay::CallNode 
const*)
     6: 
tvm::relay::backend::MemoizedExprTranslator<tvm::runtime::Array<tvm::te::Tensor,
 void> >::VisitExpr(tvm::RelayExpr const&)
     5: _ZZN3tvm5relay11ExprFunc
     4: tvm::relay::tec::ScheduleBuilder::VisitExpr_(tvm::relay::CallNode 
const*)
     3: 
tvm::relay::backend::MemoizedExprTranslator<tvm::runtime::Array<tvm::te::Tensor,
 void> >::VisitExpr(tvm::RelayExpr const&)
     2: _ZZN3tvm5relay11ExprFunc
     1: tvm::relay::tec::ScheduleBuilder::VisitExpr_(tvm::relay::CallNode 
const*)
     0: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), 
TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*)#2}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in 
tvm._ffi._cy3.core.tvm_callback
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/relay/backend/te_compiler.py",
 line 311, in lower_call
       best_impl, outputs = select_implementation(op, call.attrs, inputs, 
ret_type, target)
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/relay/backend/te_compiler.py",
 line 201, in select_implementation
       outs = impl.compute(attrs, inputs, out_type)
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/relay/op/op.py",
 line 126, in compute
       return _OpImplementationCompute(self, attrs, inputs, out_type)
     File "tvm/_ffi/_cython/./packed_func.pxi", line 323, in 
tvm._ffi._cy3.core.PackedFuncBase.__call__
     File "tvm/_ffi/_cython/./packed_func.pxi", line 267, in 
tvm._ffi._cy3.core.FuncCall
     File "tvm/_ffi/_cython/./base.pxi", line 163, in tvm._ffi._cy3.core.CALL
     3: TVMFuncCall
     2: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), tvm::relay::{lambda(tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*)#4}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     1: tvm::relay::OpImplementation::Compute(tvm::Attrs const&, 
tvm::runtime::Array<tvm::te::Tensor, void> const&, tvm::Type const&)
     0: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), 
TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*)#2}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in 
tvm._ffi._cy3.core.tvm_callback
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/relay/op/strategy/generic.py",
 line 243, in _compute_conv2d
       return [topi_compute(*args)]
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/autotvm/task/topi_integration.py",
 line 165, in wrapper
       node = topi_compute(cfg, *args)
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/topi/arm_cpu/conv2d.py",
 line 45, in conv2d_nchw_spatial_pack
       return conv2d_spatial_pack_nchw(
     File 
"/home/jtma3/anaconda3/envs/nanodet/lib/python3.8/site-packages/tvm-0.9.dev369+g24267492d-py3.8-linux-x86_64.egg/tvm/topi/arm_cpu/conv2d_spatial_pack.py",
 line 64, in conv2d_spatial_pack_nchw
       ci, kh, kw = cfg.reduce_axis(CI), cfg.reduce_axis(KH), 
cfg.reduce_axis(KW)
   AttributeError: 'FallbackConfigEntity' object has no attribute 'reduce_axis'
   
   ### Environment
   
   The TVM I am using is tvm-0.9.dev369+g24267492d with python 3.8
   
   ### Steps to reproduce
   Download 
the[demo](https://tvm.apache.org/docs//how_to/tune_with_autotvm/tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py)
 and run with python
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to