You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by "liaojianjin (via GitHub)" <gi...@apache.org> on 2023/02/24 13:25:28 UTC
[GitHub] [tvm] liaojianjin commented on issue #13759: [Bug] a bug about onnx aten::index_put.
liaojianjin commented on issue #13759:
URL: https://github.com/apache/tvm/issues/13759#issuecomment-1443680558
@honghuichao Thanks for your report.
I can't reproduce this error in my environment (pytorch == 1.13.1, onnx == 1.12.0, tvm commit is d8833bdbb), the converted IR is shown at the end.
On the other hand, there seems to be no dynamic shape tensor in the demo.
```(def @main(%dummy_batch_src_corr_points: Tensor[(?, ?), float32] /* ty=Tensor[(?, ?), float32] span=/Shape_3.dummy_batch_src_corr_points:0:0 */, %dummy_indices0: Tensor[(?, ?), int64] /* ty=Tensor[(?, ?), int64] span=/Add.dummy_indices0:0:0 */, %dummy_indices1: Tensor[(?, ?), int64] /* ty=Tensor[(?, ?), int64] span=/Add.dummy_indices1:0:0 */, %dummy_src_corr_points: Tensor[(?, ?), float32] /* ty=Tensor[(?, ?), float32] span=/Reshape.dummy_src_corr_points:0:0 */) -> Tensor[(?, ?), float32] {
%0 = add(%dummy_indices0, %dummy_indices1) /* ty=Tensor[(?, ?), int64] span=/Add:0:0 */;
%1 = shape_of(%0, dtype="int64") /* ty=Tensor[(2), int64] span=/Shape:0:0 */;
%2 = equal(%1, meta[relay.Constant][0] /* ty=Tensor[(2), int64] span=/Mul:0:0 */) /* ty=Tensor[(2), bool] span=/Equal:0:0 */;
%3 = shape_of(%dummy_indices0, dtype="int64") /* ty=Tensor[(2), int64] span=/Expand:0:0 */;
%4 = where(%2, meta[relay.Constant][1] /* ty=Tensor[(2), int64] span=/ConstantOfShape:0:0 */, %1) /* ty=Tensor[(2), int64] span=/Where:0:0 */;
%5 = maximum(%3, %4) /* ty=Tensor[(2), int64] span=/Expand:0:0 */;
%6 = dyn.broadcast_to(%dummy_indices0, %5, shape=None) /* ty=Tensor[(?, ?), int64] span=/Expand:0:0 */;
%7 = equal(%1, meta[relay.Constant][2] /* ty=Tensor[(2), int64] span=/Mul_1:0:0 */) /* ty=Tensor[(2), bool] span=/Equal_1:0:0 */;
%8 = shape_of(%dummy_indices1, dtype="int64") /* ty=Tensor[(2), int64] span=/Expand_1:0:0 */;
%9 = where(%7, meta[relay.Constant][3] /* ty=Tensor[(2), int64] span=/ConstantOfShape_1:0:0 */, %1) /* ty=Tensor[(2), int64] span=/Where_1:0:0 */;
%10 = maximum(%8, %9) /* ty=Tensor[(2), int64] span=/Expand_1:0:0 */;
%11 = dyn.broadcast_to(%dummy_indices1, %10, shape=None) /* ty=Tensor[(?, ?), int64] span=/Expand_1:0:0 */;
%12 = expand_dims(%6, axis=-1) /* ty=Tensor[(?, ?, 1), int64] span=/Unsqueeze:0:0 */;
%13 = expand_dims(%11, axis=-1) /* ty=Tensor[(?, ?, 1), int64] span=/Unsqueeze_1:0:0 */;
%14 = (%12, %13) /* ty=(Tensor[(?, ?, 1), int64], Tensor[(?, ?, 1), int64]) span=/Concat:0:0 */;
%15 = concatenate(%14, axis=-1) /* ty=Tensor[(?, ?, 2), int64] span=/Concat:0:0 */;
%16 = shape_of(%dummy_batch_src_corr_points, dtype="int64") /* ty=Tensor[(2), int64] span=/Shape_3:0:0 */;
%17 = strided_slice(%16, begin=[2i64], end=[9223372036854775807i64], strides=[1i64], axes=[0i64]) /* ty=Tensor[(0), int64] span=/Slice:0:0 */;
%18 = (%1, %17) /* ty=(Tensor[(2), int64], Tensor[(0), int64]) span=/Concat_1:0:0 */;
%19 = concatenate(%18) /* ty=Tensor[(2), int64] span=/Concat_1:0:0 */;
%20 = transpose(%15, axes=[2, 0, 1]) /* ty=Tensor[(2, ?, ?), int64] span=/ScatterND:0:0 */;
%21 = dyn.reshape(%dummy_src_corr_points, %19, newshape=[]) /* ty=Tensor[(?, ?), float32] span=/Reshape:0:0 */;
scatter_nd(%dummy_batch_src_corr_points, %20, %21, mode="update") /* ty=Tensor[(?, ?), float32] span=/ScatterND:0:0 */
}
, {})
```
--
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: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org