`has_type` is not necessary to match the final expression. It can also be used 
like the following to check the type of an op:

```python
in1 = wildcard()
in2 = wildcard()
pat = is_op('add')(in1, in2).has_type(relay.TensorType((10, 10), 'float32'))

x = relay.var('x', shape=(10, 10), dtype='float32')
pat.match(relay.add(x, x))
```

This can be extended to a more complex pattern like

```python
in1 = wildcard()
in2 = wildcard()
add = is_op('add')(in1, in2).has_type(relay.TensorType((10, 10), 'float32'))
mul = is_op('multiply')(add, add)
```

In this case, you only match the the type of `add` but do not care `mul`, 
although in this case `mul` must be `float32`, too.





---
[Visit 
Topic](https://discuss.tvm.ai/t/pattenlang-how-to-match-op-according-to-element-type-of-input-and-output/6846/2)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/3027e8d81e00b34102ed7ce473e4174be0fd8d1228d50220f9492c2b8fad3f5c).

Reply via email to