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

   ### Expected behavior
   
   The following Relay program should be successfully executed:
   
   ```
   def @main(%x: Tensor[(1, 4), float32] /* ty=Tensor[(1, 4), float32] */, %b: 
Tensor[(4), float32] /* ty=Tensor[(4), float32] */) -> Tensor[(1, 4), float32] {
     %0 = nn.bias_add(%x, %b) /* ty=Tensor[(1, 4), float32] */;
     squeeze(%0, axis=[]) /* ty=Tensor[(1, 4), float32] */
   }
   ```
   
   ### Actual behavior
   
   An error is reported during graph execution:
   
   ```
   Traceback (most recent call last):
     File "/Users/wzh/tvm-bug/bug_squeeze_axis.py", line 21, in <module>
       gmod.run(x=x_input, b=b_input)
     File "/Users/wzh/tvm-dev/python/tvm/contrib/graph_executor.py", line 208, 
in run
       self._run()
     File "/Users/wzh/tvm-dev/python/tvm/_ffi/_ctypes/packed_func.py", line 
237, in __call__
       raise get_last_ffi_error()
   tvm._ffi.base.TVMError: Traceback (most recent call last):
     [bt] (7) 8   ???                                 0x00007ff7bbc612f0 0x0 + 
140701983970032
     [bt] (6) 7   _ctypes.cpython-38-darwin.so        0x000000010458dfb7 
ffi_call_unix64 + 79
     [bt] (5) 6   libtvm.dylib                        0x0000000116eea24e 
TVMFuncCall + 62
     [bt] (4) 5   libtvm.dylib                        0x0000000116fbf2ca 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::GraphExecutor::GetFunction(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
tvm::runtime::ObjectPtr<tvm::runtime::Object> const&)::$_12> 
>::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*) + 106
     [bt] (3) 4   libtvm.dylib                        0x0000000116fbd331 
std::__1::__function::__func<tvm::runtime::GraphExecutor::CreateTVMOp(tvm::runtime::TVMOpParam
 const&, std::__1::vector<DLTensor, std::__1::allocator<DLTensor> > 
const&)::$_2, 
std::__1::allocator<tvm::runtime::GraphExecutor::CreateTVMOp(tvm::runtime::TVMOpParam
 const&, std::__1::vector<DLTensor, std::__1::allocator<DLTensor> > 
const&)::$_2>, void ()>::operator()() + 81
     [bt] (2) 3   libtvm.dylib                        0x0000000116f0625d 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::WrapPackedFunc(int
 (*)(TVMValue*, int*, int, TVMValue*, int*, void*), 
tvm::runtime::ObjectPtr<tvm::runtime::Object> const&)::$_0> 
>::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, 
tvm::runtime::TVMRetValue*) + 397
     [bt] (1) 2   libtvm.dylib                        0x00000001154f9fc9 
tvm::runtime::detail::LogFatal::Entry::Finalize() + 89
     [bt] (0) 1   libtvm.dylib                        0x0000000116f07328 
tvm::runtime::Backtrace() + 24
     File "/Users/wzh/tvm-dev/src/runtime/library_module.cc", line 80
   TVMError: 
   ---------------------------------------------------------------
   An error occurred during the execution of TVM.
   For more information, please see: https://tvm.apache.org/docs/errors.html
   ---------------------------------------------------------------
   
     Check failed: ret == 0 (-1 vs. 0) : Assert fail: (1 == 
tir.tvm_struct_get(arg.T_squeeze, 0, 4)), arg.T_squeeze.ndim is expected to 
equal 1
   ```
   
   ### Environment
   
   macOS 12.4. Compiled using Clang 13.1.6 with LLVM support. TVM commit 
[`8341e33`](https://github.com/apache/tvm/commit/8341e33d05868b7bb8496c913679b7951836f3b9).
   
   ### Steps to reproduce
   
   ```python
   import numpy as np
   from tvm import relay, transform, cpu, IRModule
   from tvm.contrib.graph_executor import GraphModule
   
   x_shape = (1, 4)
   b_shape = (4,)
   
   x = relay.var('x', shape=x_shape)
   b = relay.var('b', shape=b_shape)
   y = relay.nn.bias_add(x, b)
   y = relay.squeeze(y, axis=[])
   mod = IRModule.from_expr(y)
   with transform.PassContext(opt_level=1):
       lib = relay.build(mod, target='llvm')
   gmod = GraphModule(lib['default'](cpu()))
   
   x_input = np.zeros(shape=x_shape, dtype='float32')
   b_input = np.zeros(shape=b_shape, dtype='float32')
   gmod.run(x=x_input, b=b_input)
   ```


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