spox实现for-loop循环的具体样例

spox

spox是实现修改onnx,或多个onnx模型整合为1个模型的工具。
由于pytorch导出的onnx没有if或loop操作。

本例主要讲spox实现loop循环。

代码

简单的例子

这里实现一个0+1+2+3+…+100的样例

(sum_x,) = op.loop(
    M=const(101),              # 注意是101, 
    v_initial=[const(0)],      # a := 0 at the start
    body=lambda i, _, a: [     # iteration (i), 本轮的条件状态 (_), accumulator (a)
        const(True),           # continue
        op.add(a, i)           # step is a := a+i
    ]
)

M是指迭代次数,iterations是不可控的自增,从0开始,所以最后的iteration值为n-1。
M也可以不配置,由body返回的第一个条件控制是否继续循环。

更全面的了解各个参数

It has 2+N inputs: (iteration_num, condition, loop carried dependencies...). It has 1+N+K outputs: (condition, loop carried dependencies

相关推荐

  1. spox实现for-loop循环具体

    2024-05-09 16:32:01       26 阅读
  2. Kotlin之for循环具体使用说明

    2024-05-09 16:32:01       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-09 16:32:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-09 16:32:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-09 16:32:01       87 阅读
  4. Python语言-面向对象

    2024-05-09 16:32:01       96 阅读

热门阅读

  1. 新闻媒体网站

    2024-05-09 16:32:01       35 阅读
  2. 搜索算法系列之二(二分查找)

    2024-05-09 16:32:01       39 阅读
  3. k8s kubectl 常用yaml

    2024-05-09 16:32:01       34 阅读
  4. 计算机视觉

    2024-05-09 16:32:01       31 阅读
  5. SQL注入(数据库基础)

    2024-05-09 16:32:01       43 阅读
  6. 什么是BFF API

    2024-05-09 16:32:01       29 阅读
  7. 2024-05-08 postgres-调试及分析-记录

    2024-05-09 16:32:01       31 阅读
  8. 接口防抖(重复点击)

    2024-05-09 16:32:01       29 阅读
  9. c++ 刷题代码加速

    2024-05-09 16:32:01       28 阅读
  10. 理解 HTTP Multipart:入门介绍

    2024-05-09 16:32:01       37 阅读