tvm的常见op

文章目录

  • 1、relay.op.transpose
  • 2、relay.op.reshape
  • 3、relay.op.strided_slice
  • 4、relay.op.const
  • 5、relay.op.multiply
  • 6、relay.op.max
  • 7、relay.op.sigmoid
  • 8、relay.op.softmax
  • 9、relay.op.concatenate
  • 10、relay.op.subtract
  • 11、relay.op.cast
  • 12、tvm.op.vision.non_max_suppression
  • 13、relay.op.expand_dims
  • 14、relay.op.topk


1、relay.op.transpose

relay.op.transpose函数接受一个输入张量(或称为输入数组)和一个表示维度排列的参数。它返回一个新的张量,该张量是输入张量按照指定的维度排列进行转置后得到的结果

tvm.relay.op.transpose(data, axes)
# data是输入张量,
# axes是一个整数列表,用于指定转置后的维度排列顺序。

2、relay.op.reshape

op.reshape是一个用于执行张量重塑(reshape)操作的操作符。它允许你改变张量的形状,而不改变其数据元素的数量。

tvm.relay.op.reshape(data, newshape)
# data是输入张量,newshape是一个整数元组,表示目标形状

3、relay.op.strided_slice

op.strided_slice是一个用于执行张量切片操作的操作符。它允许你通过指定起始索引、终止索引和步长来提取输入张量的子集。

tvm.relay.op.strided_slice(data, begin, end, strides)
# data是输入张量,
# begin是一个整数列表,表示每个维度的起始索引;
# end是一个整数列表,表示每个维度的终止索引;
# strides是一个整数列表,表示每个维度的步长。

4、relay.op.const

op.const是一个用于创建常量张量的操作符。它允许你创建一个固定值的张量,该张量在计算图中的值保持不变。

tvm.relay.op.const(value, dtype, shape)
# value是常量值,
# dtype是张量的数据类型,
# shape是一个整数元组,表示常量张量的形状。

5、relay.op.multiply

op.multiply是一个执行元素级乘法操作的操作符。它允许你对两个输入张量进行逐元素的乘法运算。

tvm.relay.op.multiply(x, y)
# x和y是两个输入张量。

6、relay.op.max

op.max是一个执行元素级最大值操作的操作符。它允许你对两个或多个输入张量进行逐元素的最大值比较。

tvm.relay.op.max(x, y, ...)
# 其中,x、y等是输入张量

7、relay.op.sigmoid

op.sigmoid是一个执行Sigmoid函数操作的操作符。Sigmoid函数是一种常用的激活函数,将输入值映射到介于0和1之间的输出值。

tvm.relay.op.sigmoid(x)
[[0.5        0.7310586  0.11920292]
 [0.95257413 0.01798621 0.9933072 ]]

在这个例子中,输入张量x是一个形状为(2, 3)的张量,包含了一些随机的数值。通过op.sigmoid操作,每个元素都经过Sigmoid函数计算,将其映射到介于0和1之间的范围。

8、relay.op.softmax

op.nn.softmax是一个执行Softmax函数操作的操作符。Softmax函数是一种常用的激活函数,它将输入向量的每个元素转化为介于0和1之间的概率值,并确保所有概率值之和为1。

tvm.relay.op.nn.softmax(x, axis)
# x是输入张量,axis是指定Softmax操作应用的轴。

9、relay.op.concatenate

op.concatenate是一个执行张量连接操作的操作符。它允许将多个输入张量沿指定的轴进行连接,生成一个新的张量。

tvm.relay.op.concatenate([x1, x2, ...], axis)
# x1、x2等是输入张量,axis是指定连接操作应用的轴。

10、relay.op.subtract

op.subtract是用于执行张量减法操作的操作符。它接受两个输入张量,将它们的对应元素进行减法运算,并返回一个新的张量作为输出。

tvm.relay.op.subtract(x, y)

op.cast是一个用于执行张量类型转换的操作符。它允许将输入张量转换为指定的数据类型,并返回一个新的张量作为输出。

11、relay.op.cast

tvm.relay.op.cast(x, dtype)
# x是输入张量,dtype是目标数据类型

12、tvm.op.vision.non_max_suppression

op.vision.non_max_suppression是一个用于执行非最大值抑制(Non-Maximum Suppression,NMS)操作的操作符。NMS常用于目标检测任务中,用于筛选检测结果中的重叠框,保留最具代表性的框。

tvm.relay.op.vision.non_max_suppression(
                                        data, 
                                        valid_count, 
                                        max_output_size,
                                        iou_threshold, 
                                        force_suppress)
    

data:输入张量,包含了一组检测框的坐标信息,形状为 (batch_size, num_anchors, 6),其中最后一维表示 (x1, y1, x2, y2, score, class_id)。
valid_count:输入张量,包含了每个样本中有效的检测框数量,形状为 (batch_size,)。
max_output_size:整数,指定最大输出的框数。
iou_threshold:浮点数,指定重叠框的 IoU(Intersection over Union)阈值,用于判断框是否重叠。
force_suppress:布尔值,指定是否强制对重叠框进行抑制。

13、relay.op.expand_dims

op.expand_dims是一个用于在指定轴上扩展维度的操作符。它允许在输入张量的指定位置插入一个新的维度,并返回一个新的张量作为输出。

tvm.relay.op.expand_dims(x, axis, num_newaxis)

x是输入张量.
axis是指定要插入维度的位置,
num_newaxis是要插入的新维度数量。

14、relay.op.topk

op.topk是一个用于计算张量中最大(或最小)的k个元素及其对应索引的操作符。它可以用于获取张量中的最大值或最小值,并返回它们的值和索引

tvm.topk(data, k, axis, ret_type)

data:输入张量,可以是TVM的Tensor对象或TVM的tir.Var对象。
k:要获取的最大(或最小)元素的数量。
axis:指定在哪个轴上进行操作,可以是整数或元组。如果是整数,则表示在指定轴上执行操作;如果是元组,则表示在多个轴上执行操作。
ret_type:指定返回的结果类型,可以是字符串 “max” 或 “min”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/579048.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis入门-----(1)

Mybaits入门 一、Mybaits框架特点 支持定制化SQL、存储过程、基本路线以及高级映射避免了几乎所有JDBC代码中手动设置参数以及获取结果集支持注解式开发、XML开发 二、开发我第一个MYbatis程序 ①打包方式jar ②引入依赖 mybatis依赖mysql驱动 前面两步的pom.xml文件<?…

如何在自己的网站页面中嵌入一个【悬浮音乐播放器】

如何嵌入【悬浮音乐播放器】 前言正文1.打开网易云网页版2.设置自己想要的高度和宽度看注意事项 3.选择是否为自动播放4.在header.php文件中</head>标签前插入下面代码5.在heard.php 中<body>标签后边增加一个 div层6.复制播放器代码到\<div>标签的里边7.保存…

AD修改元器件的引脚长度

这个地方的两个引脚长度不一样 双击其中的一个引脚。 修改这个位置就好了。

Docker学习(二十五)构建 Arthas 基础镜像

目录 一、简介二、构建基础镜像2.1 下载 Arthas2.2 编写 Dockerfile2.3 构建镜像2.4 创建容器2.5 测试 一、简介 Arthas 是一款由 阿里巴巴 开发的 线上监控诊断工具。通过全局视角实时查看应用负载、内存、GC、线程等信息&#xff0c;能在不修改代码的情况下&#xff0c;对业…

SUPIR图像放大模型介绍与实际测试

✨背景 正如&#xff0c;最顶级的料理只需要最简单的烹饪方法一样&#xff0c;图像放大&#xff0c;是设计领域里边最常面对的一个问题&#xff0c;在AI绘画里边也是很常见的一个课题。虽然现在放大算法、放大模型有很多&#xff0c;但是真的能实现的比较好的&#xff0c;并不…

语义分割——json文件转shp

前言 在用labelme标注遥感图像后会生成json文件&#xff0c;如果我们想要shp文件&#xff0c;下面给出了具体实现流程。 一、依赖配置 import json import geopandas as gpd from shapely.geometry import Polygon from osgeo import gdal import argparse import glob import…

【论文解析】笔触渲染生成 前沿工作梳理

最近的一些工作梳理 2023年 Stroke-based Neural Painting and Stylization with Dynamically Predicted Painting Region 2022年Im2Oil: Stroke-Based Oil Painting Rendering with Linearly Controllable Fineness Via Adaptive Sampling 文章目录 1 Stroke-based Neural P…

【海博】雅思该怎么考?

文章目录 考试类型 考试内容 考试形式 备考资源 考试报名 考试成绩 考试类型 学术类&#xff08;A类&#xff09;适用于&#xff1a;出国留学申请本科&#xff0c;研究生及以上学位&#xff0c;或获得专业资质。学术类考试评估考生的英语水平是否满足进行大学或研究生学习…

【C语言】文件操作(1)

为什么使⽤⽂件&#xff1f; 如果没有⽂件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运⾏程序&#xff0c;是看不到上次程序的数据的&#xff0c;如果要将数据进⾏持久化的…

Sylar C++高性能服务器学习记录07 【协程模块-知识储备篇】

早在19年5月就在某站上看到sylar的视频了&#xff0c;一直认为这是一个非常不错的视频&#xff0c;由于本人一直是自学编程&#xff0c;基础不扎实&#xff0c;也没有任何人的督促&#xff0c;没能坚持下去&#xff0c;每每想起倍感惋惜。恰逢互联网寒冬&#xff0c;在家无事&a…

vim 插件01:插件管理神器pathogen

1、pathogen简介 Vim 插件 pathogen 是一款历史比较悠久的 Vim 插件管理器。Pathogen 的主要功能是提供一种模块化的方式来管理和加载 Vim 插件。说人话&#xff1a;vim是一款管理各类插件的插卡&#xff0c;使用它会让插件的安装和使用非常方便。 以下是 Pathogen 的主要特点…

【大模型应用篇5】应对裁员潮,突发奇想,打造“收割offer”智能体.......

前段时间飞书大裁员, 不禁让人感到危机四伏,加上《【大模型应用篇4】普通人构建智能体的工具》之前文章介绍了普通人打造智能体的工具, 这节课就带大家利用字节产品coze构建“程序员智能体”, 方便应对裁员,随时做好找工作的准备.打造一款面试智能体,方便各位程序员面试, 这个智…

错误代码126:加载d3dcompiler_43.dll失败,分享多种解决方法

在正常使用电脑的过程中&#xff0c;当我尝试启动并运行一款心仪的游戏时&#xff0c;系统却突然弹出一个令人困扰的错误提示“错误代码126:加载d3dcompiler_43.dll失败”&#xff0c;它会导致游戏无法正常运行。为了解决这个问题&#xff0c;我经过多次尝试和总结&#xff0c;…

22年全国职业技能大赛——Web Proxy配置(web 代理)

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 系统服务&#xff08;22年国赛&#xff09;—— web Proxy服务&#xff08;web代理&#xff09;https://myweb.myskillstree.cn/114.html 目录 RouterSrv …

OGG extract进程占据大量虚拟内存导致服务器内存异常增长分析

现象 oracle服务器一节点内存&#xff0c;一个月来持续升高&#xff0c;近一月上涨10%左右。 问题分析 OS内存使用情况 使用内存最大的10个进程如下&#xff0c;PID为279417占用最大的内存。 查询279417&#xff0c;发现是ogg相关进程。 发现ogg的extract进程占用了大量的虚拟内…

软件测试(Web自动化测试)(二)

一.Selenium WebDriver的基本应用 &#xff08;一&#xff09;安装浏览器驱动 1.关闭浏览器的自动更新功能 以Windows7&#xff08;64位&#xff09;操作系统为例&#xff0c;讲解如何关闭Chrome浏览器的自动更新。首先按下快捷键“WinR”&#xff0c;打开运行对话框&#x…

【备战软考(嵌入式系统设计师)】02-计算机指令

指令集 我们计算机要执行程序&#xff0c;本质上是执行一条条的指令&#xff0c;而指令是从指令集中取出的&#xff0c;目前常见的指令集有CISC&#xff08;Complex Instruction Set Computer&#xff0c;复杂指令集&#xff09;和RISC&#xff08;Reduced Instruction Set Co…

2024最新智慧医疗智慧医院大数据展示,医院数据采集概况、医院指标分析、医院就诊趋势分析等。源代码免费下载。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车&#xff0c;效果很不错。 【复制就能用3】2分钟自己写小游戏&#xff1a;剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

c++并查集

文章目录 前言一、并查集1、并查集原理2、并查集实现3、并查集应用1.省份数量2.等式方程的可满足性 前言 一、并查集 1、并查集原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#xff0c;然后…

应急行业的智能安全帽(高端)

前面介绍了低端、中端安全帽&#xff0c;接着再讲讲高端安全帽。做高端安全帽的企业非常少&#xff0c;估计一只手都数的出来。确实也和智能安全帽这个领域体量有关系&#xff0c;并且他有一个新的“劲敌”——智能眼镜从其他领域瓜分原属于他的市场&#xff0c;这些都是题外话…
最新文章