mehrdadh opened a new issue, #11351:
URL: https://github.com/apache/tvm/issues/11351

   relay operator to reproduce the error:
   
   ```
       data_shape = (1, 16, 16, 3)
       weight_shape = (5, 5, 8, 3)
       data = relay.var("data", relay.TensorType(data_shape, "float32"))
       weight = relay.var("weight", relay.TensorType(weight_shape, "float32"))
       y = relay.nn.conv2d(
           data,
           weight,
           padding=(2, 2),
           kernel_size=(5, 5),
           data_layout="NHWC",
           kernel_layout="HWOI",
           out_dtype="float32",
       )
       f = relay.Function([data, weight], y)
       mod = tvm.IRModule.from_expr(f)
       mod = relay.transform.InferType()(mod)
   ```
   
   Error:
   
   ```
   tests/micro/zephyr/test_zephyr.py:538: 
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
   python/tvm/relay/build_module.py:477: in build
       mod_name=mod_name,
   python/tvm/relay/build_module.py:194: in build
       self._build(mod, raw_targets, executor, runtime, workspace_memory_pools, 
mod_name)
   tvm/_ffi/_cython/./packed_func.pxi:323: in 
tvm._ffi._cy3.core.PackedFuncBase.__call__
       ???
   tvm/_ffi/_cython/./packed_func.pxi:267: in tvm._ffi._cy3.core.FuncCall
       ???
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
   
   >   ???
   E   AttributeError: Traceback (most recent call last):
   E     34: TVMFuncCall
   E     33: 
tvm::relay::backend::RelayBuildModule::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*)#3}::operator()(tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*) const
   E     32: tvm::relay::backend::RelayBuildModule::BuildRelay(tvm::IRModule, 
tvm::runtime::String const&)
   E     31: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::relay::backend::GraphExecutorCodegenModule::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*)#2}> 
>::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*)
   E     30: tvm::relay::backend::GraphExecutorCodegen::Codegen(tvm::IRModule, 
tvm::relay::Function, tvm::runtime::String)
   E     29: tvm::transform::Pass::operator()(tvm::IRModule) const
   E     28: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     27: tvm::transform::SequentialNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     26: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     25: tvm::transform::ModulePassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     24: 
_ZN3tvm7runtime13PackedFuncObj9ExtractorINS0_16PackedFuncSubObjIZNS0_15TypedPackedFuncIFNS_8IRModuleES5_NS_9transform11PassContextEEE17AssignTypedLambdaIZNS_5relay3tec11LowerTEPassERKNS0_6StringESt8functionIFvNS_8BaseFuncEEENS_13VirtualDeviceEEUlS5_S7_E_EEvT_EUlRKNS0_7TVMArgsEPNS0_11TVMRetValueEE_EEE4CallEPKS1_SN_SR_
   E     23: tvm::relay::tec::LowerTE(tvm::IRModule const&, 
tvm::runtime::String const&, std::function<void (tvm::BaseFunc)>, 
tvm::VirtualDevice)
   E     22: tvm::transform::Pass::operator()(tvm::IRModule) const
   E     21: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     20: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
   E     19: 
_ZN3tvm7runtime13PackedFuncObj9ExtractorINS0_16PackedFuncSubObjIZNS0_15TypedPackedFuncIFNS_5relay8FunctionES6_NS_8IRModuleENS_9transform11PassContextEEE17AssignTypedLambdaIZNS5_3tec15LowerTensorExprERKNS0_6StringENSD_10TECompilerESt8functionIFvNS_8BaseFuncEEENS_13VirtualDeviceEEUlS6_S7_S9_E_EEvT_EUlRKNS0_7TVMArgsEPNS0_11TVMRetValueEE_EEE4CallEPKS1_SP_ST_
   E     18: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
   E     17: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr 
const&)>::VisitExpr(tvm::RelayExpr const&)
   E     16: 
_ZZN3tvm5relay11ExprFunctorIFNS_9RelayExprERKS2_EE10InitVTableEvENUlR
   E     15: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::FunctionNode
 const*)
   E     14: 
tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::FunctionNode
 const*)
   E     13: _ZN3tvm5relay9transform22DeviceAwareExprMutator21DeviceAwar
   E     12: tvm::relay::ExprMutator::VisitExpr_(tvm::relay::FunctionNode 
const*)
   E     11: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
   E     10: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr 
const&)>::VisitExpr(tvm::RelayExpr const&)
   E     9: 
_ZZN3tvm5relay11ExprFunctorIFNS_9RelayExprERKS2_EE10InitVTableEvENUlR
   E     8: 
tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::CallNode 
const*)
   E     7: 
tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::CallNode
 const*)
   E     6: 
tvm::relay::tec::LowerTensorExprMutator::MakeLoweredCall(tvm::relay::Function, 
tvm::runtime::Array<tvm::RelayExpr, void>, tvm::Span, tvm::Target)
   E     5: tvm::relay::tec::TECompilerImpl::Lower(tvm::relay::tec::CCacheKey 
const&, tvm::runtime::String)
   E     4: 
tvm::relay::tec::TECompilerImpl::LowerInternal(tvm::relay::tec::CCacheKey 
const&, std::function<tvm::runtime::String (tvm::runtime::String)>)
   E     3: 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> 
>)>)
   E     2: 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> >)>)
   E     1: tvm::relay::OpImplementation::Schedule(tvm::Attrs const&, 
tvm::runtime::Array<tvm::te::Tensor, void> const&, tvm::Target const&)
   E     0: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs,
 tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, 
tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
   E     File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in 
tvm._ffi._cy3.core.tvm_callback
   E     File "/home/mhessar/work/tvm/python/tvm/relay/op/strategy/generic.py", 
line 51, in wrapper
   E       return topi_schedule(outs)
   E     File 
"/home/mhessar/work/tvm/python/tvm/autotvm/task/topi_integration.py", line 242, 
in wrapper
   E       return topi_schedule(cfg, outs, *args, **kwargs)
   E     File "/home/mhessar/work/tvm/python/tvm/topi/arm_cpu/conv2d.py", line 
520, in schedule_conv2d_nhwc_dsp
   E       return conv2d_nhwc_dsp_schedule(cfg, outs)
   E     File 
"/home/mhessar/work/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/conv2d.py", line 
193, in conv2d_nhwc_dsp_schedule
   E       traverse_inline(sched, outs[-1].op, _callback)
   E     File "/home/mhessar/work/tvm/python/tvm/topi/utils.py", line 81, in 
traverse_inline
   E       _traverse(final_op)
   E     File "/home/mhessar/work/tvm/python/tvm/topi/utils.py", line 79, in 
_traverse
   E       callback(op)
   E     File 
"/home/mhessar/work/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/conv2d.py", line 
165, in _callback
   E       source_index_w = output.op.body[0].source[0].a.value.indices[2].a
   E     File "/home/mhessar/work/tvm/python/tvm/runtime/object.py", line 67, 
in __getattr__
   E       raise AttributeError("%s has no attribute %s" % (str(type(self)), 
name)) from None
   E   AttributeError: <class 'tvm.tir.expr.ProducerLoad'> has no attribute 
value
   ```


-- 
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