jlamperez opened a new issue #8683:
URL: https://github.com/apache/tvm/issues/8683


   Hi,
   
   I am following the 
[external_yolov3_tutorial.ipynb](https://github.com/Xilinx/Vitis-AI/blob/master/external/tvm/examples/external_yolov3_tutorial.ipynb)
 Jupyter notebook tutorial for compiling a 
[YOLOX-NANO](https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/ONNXRuntime)
 ONNX model for Vitis-AI. But when I try to use 
[partition_for_vitis_ai](https://github.com/apache/tvm/blob/main/python/tvm/relay/op/contrib/vitis_ai.py)
 I am having the next problem:
   
   ```bash
   ---------------------------------------------------------------------------
   AttributeError                            Traceback (most recent call last)
   <ipython-input-49-48276f16561e> in <module>
        10     mod = seq(mod)
        11 
   ---> 12 mod = partition_for_vitis_ai(mod, params, dpu=vitis_target)
        13 
        14 # We recommend transforming the remaining convolutions after
   
   
/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/op/contrib/vitis_ai.py
 in partition_for_vitis_ai(mod, params, dpu, **opts)
       172     )
       173 
   --> 174     return seq(mod)
   
   
/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/ir/transform.py
 in __call__(self, mod)
       159             The updated module after applying this pass.
       160         """
   --> 161         return _ffi_transform_api.RunPass(self, mod)
       162 
       163 
   
   tvm/_ffi/_cython/./packed_func.pxi in 
tvm._ffi._cy3.core.PackedFuncBase.__call__()
   
   tvm/_ffi/_cython/./packed_func.pxi in tvm._ffi._cy3.core.FuncCall()
   
   tvm/_ffi/_cython/./packed_func.pxi in tvm._ffi._cy3.core.FuncCall3()
   
   tvm/_ffi/_cython/./base.pxi in tvm._ffi._cy3.core.CALL()
   
   AttributeError: Traceback (most recent call last):
     7: TVMFuncCall
     6: std::_Function_handler<void (tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule 
(tvm::transform::Pass, 
tvm::IRModule)>::AssignTypedLambda<tvm::transform::{lambda(tvm::transform::Pass,
 tvm::IRModule)#7}>(tvm::transform::{lambda(tvm::transform::Pass, 
tvm::IRModule)#7}, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, 
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, 
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
     5: tvm::transform::Pass::operator()(tvm::IRModule) const
     4: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     3: tvm::transform::SequentialNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     2: tvm::transform::Pass::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) const
     1: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, 
tvm::transform::PassContext const&) 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*&&) [clone .cold]
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/runtime/object.py",
 line 63, in __getattr__
       return _ffi_node_api.NodeGetAttr(self, name)
     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
     3: TVMFuncCall
     2: _ZNSt17_Function_handlerIF
     1: tvm::NodeGetAttr(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)
     0: tvm::ReflectionVTable::GetAttr(tvm::runtime::Object*, 
tvm::runtime::String const&) const
     File "/opt/tvm-vai/tvm/src/node/reflection.cc", line 109
     File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in 
tvm._ffi._cy3.core.tvm_callback
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/transform/transform.py",
 line 916, in _pass_func
       return inst.transform_function(func, mod, ctx)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/relay/op/contrib/vitis_ai.py",
 line 110, in transform_function
       xgraph = pyxir.frontend.tvm.from_relay(mod, self.params, 
postprocessing=None)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay.py",
 line 58, in from_relay
       cvx_preprocessing=cvx_preprocessing
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xgraph_converter.py",
 line 96, in from_relay_to_xgraph
       cvx_prep=cvx_preprocessing,
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py",
 line 75, in function
       op_idx, RELAY_2_XLAYER, **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py",
 line 122, in __base_relay_2_xlayer
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l3_math_and_transform.py",
 line 561, in transpose
       **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py",
 line 398, in concatenate
       RELAY_2_XLAYER, **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l3_math_and_transform.py",
 line 323, in reshape
       **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py",
 line 122, in __base_relay_2_xlayer
       RELAY_2_XLAYER, **kwargs) 
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py",
 line 78, in add
       **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l1_basic.py",
 line 609, in multiply
       **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l2_convolution.py",
 line 216, in nn_conv2d
       **kwargs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_2_xlayer_registry.py",
 line 136, in __base_relay_2_xlayer
       X = specific_relay_2_xlayer(op_name, expr, iXs)
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py",
 line 437, in relay_op
       relay_shape = TensorShape([int(s.value) for s in list(ty.shape)])
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/pyxir-0.3.0-py3.6-linux-x86_64.egg/pyxir/frontend/tvm/relay_tools/relay_l0_expr_and_others.py",
 line 437, in <listcomp>
       relay_shape = TensorShape([int(s.value) for s in list(ty.shape)])
     File 
"/opt/vitis_ai/conda/envs/vitis-ai-tensorflow/lib/python3.6/site-packages/tvm-0.8.dev1186+g40d5193a9-py3.6-linux-x86_64.egg/tvm/runtime/object.py",
 line 65, in __getattr__
       raise AttributeError("%s has no attribute %s" % (str(type(self)), name))
   AttributeError: tir.Any object has no attributed value
   During handling of the above exception, another exception occurred:
   
   AttributeError: <class 'tvm.tir.expr.Any'> has no attribute value
   ```
   
   Any idea of why is failing?
   
   Best regards,


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