mlir dialect transform(section1)

编译器开发过程中,常涉及到的一个工作就是dialect的之间的转换,从一个前端的dialect统一到中间dialect,或者lowering到低层次的dialect,一般涉及到常见工作分为:1)op 转换;2)shape align;3)data shuffle。后面三篇文章,将分别说明这部分工作

以onnx mlir到tensorflow lite(tfl) mlir的转换举例

1)op 转换 (conv2d op)

onnx的算子描述:https://github.com/onnx/onnx-mlir/blob/main/src/Dialect/ONNX/ONNXOps.td.inc

tfl的算子描述:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/mlir/lite/ir/tfl_ops.td

从ONNXOps.td.inc摘出onnx conv的算子描述,如图所示:

def ONNXConvOp:ONNX_Op<"Conv",
  [Pure, DeclareOpInterfaceMethods<ShapeInferenceOpInterface>, DeclareOpInterfaceMethods<ShapeHelperOpInterface>]> {
  let summary = "ONNX Conv operation";
  let description = [{
  The convolution operator consumes an input tensor and a filter, and
  computes the output.
  }];
  
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值