- 博客(36)
- 资源 (41)
- 收藏
- 关注
原创 Auto-scheduling 的算子优化
与依赖手动模板定义搜索空间的基于模板的AutoVM不同,auto scheduler不需要任何模板。用户只需编写计算声明,无需任何调度命令或模板。自动调度程序可以自动生成一个较大的搜索空间,并在该空间中找到一个好的调度。import osimport numpy as npimport tvmfrom tvm import te, auto_scheduler定义矩阵相乘@auto_scheduler.register_workload # Note the auto_scheduler
2022-05-27 14:38:43
127
原创 基于调度模板和 AutoTVM 的算子优化
自动优化的步骤:定义一个搜索空间在搜索空间中执行搜索算法安装依赖为了使用自动优化,需要安装如下的依赖:pip3 install --user psutil xgboost cloudpickle为了使得 TVM 在优化过程中运行更快,推荐使用 cython:pip3 install --user cythonsudo make cython3 基于 TE 的基本矩阵相乘import loggingimport sysimport numpy as npimport tv
2022-05-27 11:02:35
121
原创 使用 TE 来处理运算符
张量表达式(TE)指的是一种纯函数语言来描述张量计算(这意味着每一个表达式都没有副作用)。当在TVM整体环境下来看,Relay 用一系列操作符来描述一个计算过程。这一系列操作符中的每一个操作符可以都被表示为一个TE表达式,并且这每一个TE表达式都采用张量输入,然后生成一个张量输出。调度是应用于将一个表达式通过多种不同的方式进行变换的一系列步骤。当调度应用于TE中的表达式时,输入和输出保持不变,但当编译时表达式的实现可能会发生变化。为 CPU 用 TE 的形式写一个向量加法和调度默认调度import
2022-05-26 18:09:42
526
原创 ubuntu 查看 CPU 核数
物理 CPU 的个数物理核心就是计算机上实际配置的 CPU 个数。# wc -l 是统计行数cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l每个 CPU 的核数指 CPU 上集成的处理数据的 CPU 核心个数,单核指 CPU 核心数一个,双核则指的是两个。# uniq 可以去重连续出现的相同记录cat /proc/cpuinfo | grep "cpu cores" | uniq逻辑处理器数量操作系统可以使用逻辑 CPU
2022-05-26 16:31:21
9098
原创 使用 python 接口编译和优化模型
不经优化的模型import onnxfrom tvm.contrib.download import download_testdatafrom PIL import Imageimport numpy as npimport tvm.relay as relayimport tvmfrom tvm.contrib import graph_executor加载 ONNX 模型"""model_url = "".join( [ "https://github.c
2022-05-25 16:43:24
104
原创 Notepad++ 安装使用 Markdown 插件
MarkdownViewerPlusPlus 下载。解压插件包:离线安装插件:选择:点击确认,弹出对话框,提示安装完插件后需要重启 Notepad++ 使插件生效。重启之后就可以使用插件。可以添加 CSS 自定义样式,例如针对表格:Plugins->MarkdownViewer++ -> Options:table{ border-collapse:collapse;}table,th, td{ border: 1px solid black;}.
2022-05-25 09:44:34
1477
原创 onnx 总结
netron 查看模型结构目前共有 3 种方式:第一种是以软件的方式下载安装 netron,然后打开软件载入模型第二种是将 netron 作为 python 库进行安装,在 python 代码调用 netron 库来载入模型进行可视化。 可以通过 pip install netron 进行安装第三种是使用在线的工具直接查看以 tinyyolov2-7.onnx 为例:...
2022-05-23 17:17:36
1014
1
原创 TVM + ubuntu18.04 源码编译与安装
TVM + ubuntu18.04 源码安装更新下载源:cp /etc/apt/sources.list /etc/apt/sources.list_backupvim /etc/apt/sources.list 修改为:# deb cdrom:[Ubuntu 18.04.3 LTS _Bionic Beaver_ - Release amd64 (20190805)]/ bionic main restricted# See http://help.ubuntu.com/community
2022-05-19 17:26:06
267
原创 jupyter notebook
安装conda install jupyter notebook # conda 安装 pip3 install --upgrade pip # pip 安装启动和配置:# 启动jupyter notebook # 自定义端口号来启动jupyter notebook --port <port_number># 无需立刻启动浏览器jupyter notebook --no-browser修改 conda 中的 Jupyter Notebook 默认文件目录:ju
2022-05-19 16:54:53
263
原创 docker+ubuntu16 周易 AIPU resnet_101 仿真测试
安装 docker 镜像环境pull 镜像:docker pull zepan/zhouyirun 容器:docker run -it zepan/zhouyi /bin/bash#如果要 vscode 远程开发的话,可以加端口:docker run -it -p 9999:22 -v /path/to/container:/path/to/host zepan/zhouyi /bin/bash验证 docker 环境:cd ~/demos/tflite./run_sim.sh
2022-05-17 17:45:55
422
原创 套接字和地址
socket在一个典型的客户端/服务器场景中,应用程序使用 socket 进行通信的方式如下: 各个应用程序创建一个 socket,socket 是一个允许通信的 "设备",两个应用程序都要用到它 服务器将自己的 socket 绑定到一个众所周知的地址上使得客户端能够定位到它的位置 套接字地址格式在使用套接字时,首先要解决通信双方寻址的问题。我们需要套接字的地址建立连接。通用套接字地址格式sockaddr 是一个通用的地址结构,通用的意思是适用于多种地址族。这个类型的唯一
2021-08-19 13:10:48
304
原创 QML之九:动画
动画动画被用于属性的改变。一个动画定义了属性值改变的曲线,将一个属性值变化从一个值过渡到另一个值。动画是由一连串的目标属性活动定义的,平缓的曲线算法能够引发一个定义时间内属性的持续变化。所有在 QtQuick 中的动画都由同一个计时器来控制,因此它们始终都保持同步,这也提高了动画的性能和显示效果。注意:动画控制了属性的改变,也就是值的插入。QML 是基于元素,属性与脚本的。每一个元素都提供了许多的属性,每一个属性都在等待使用动画。// Animation.qmlimport Qt
2021-07-20 10:02:59
265
原创 QML之八:输入元素
文本输入TextInput 文本输入允许用户输入一行文本。这个元素支持使用正则表达式验证器来限制输入和输入掩码的模式设置。KeyNavigation(按键向导)附加属性可以预先设置一个元素 id 绑定切换焦点的按键。// TextInput.qmlimport QtQuick 2.2import QtQuick.Window 2.2Window{ height: 600;width: 800 Rectangle { width: 200 ...
2021-07-19 18:43:38
251
原创 QML之七:布局元素
布局元素QML 使用 anchors(锚)对元素进行布局。anchoring(锚定)是基础元素对象的基本属性,可以被所有的可视化 QML 元素使用。一个 anchors(锚)就像一个协议,并且比几何变化更加强大。Anchors(锚)是相对关系的表达式,通常需要与其它元素搭配使用。一个元素有6条锚定线: top (顶) bottom (底) left (左) right (右) horizontalCenter (水平中) verticalC
2021-07-19 17:56:58
265
原创 QML之六:定位元素
定位元素有一些 QML 元素被用于放置元素对象,它们被称作定位器,QtQuick 模块提供了 Row,Column,Grid,Flow 用来作为定位器。预先定义组件 DarkRender,BrightSquare, GreenSquare, BlueSquare, RedSquare:// DarkSquare.qmlimport QtQuick 2.0Rectangle { width: 48 height: 48 color: "#3C3C3C" ...
2021-07-19 17:08:57
477
原创 QML之五:简单转换
转换转换操作改变了一个对象的几何状态。QML 元素对象通常能够被平移,旋转,缩放: 位移是通过改变 x,y 坐标来完成的 旋转是改变 rotation(旋转)属性来完成的,这个值使用角度作为单位(0~360) 缩放是通过改变 scale(比例)的属性来完成的,小于1意味着缩小,大于1意味着放大 旋转与缩放不会改变对象的几何形状,对象的 x,y(坐标)与 width,height(宽/高)也类似,只有绘制指令是被转换的对象。首先创建一个组件 ClickableImag
2021-07-19 14:49:26
353
原创 QML之四:组件
目录组件组件一个组件是一个可以重复使用的元素,QML 提供几种不同的方法来创建组件。一个文件就是一个基础组件。一个以文件为基础的组件在文件中创建了一个 QML 元素,并且将文件以元素类型来命名。你可以像任何其它的 QtQuick 模块中使用元素一样来使用这个组件。编写一个 Button 组件:// Button.qmlimport QtQuick 2.0Rectangle { id: root // export button properties..
2021-07-19 14:15:15
244
原创 QML之三:基本元素
属性// Text.qmlimport QtQuick 2.0Text { // (1) identifier id: thisLabel // (2) set x- and y-position x: 24; y: 16 // (3) bind height to 2 * width height: 2 * width // (4) custom property property int times: 24 // (5) property alias prope
2021-07-16 18:38:59
274
原创 QML之二:基础语法
QML 基本语法QML是一种描述用户界面的声明式语言。它将用户界面分解成一些更小的元素,这些元素能够结合成一个组件。// Rectangle.qmlimport QtQuick 2.0Rectangle{ // name this element root id : root // property:<name> : <value> width:1000;height:800 color:"#D8D8D8" // define a nested
2021-07-16 17:47:26
188
原创 QML之一:Hello World
使用QQmlApplicationEngine 运行qml创建工程,直接运行。使用 QtQuick Prototype 运行 qml 文件创建工程,直接运行。使用 qml 工具运行qml文件创建 HelloWorld.q ml文件:import QtQuick 2.0Rectangle { width: 360 height: 360 Text { anchors.centerIn: parent ...
2021-07-16 16:43:11
183
linuxfb_changed.rar
2020-01-14
海思3519 QT移植测试程序
2019-02-26
海思 qt 移植 linuxfb 修改
2019-02-26
opencv3.2 海思3519A 交叉编译结果
2019-02-21
SSHSecureShellClient-3.2.9.exe
2019-01-21
TX2 USB不识别的问题替换模块
2019-01-19
TX2 的dtb 和Image文件,安装了spi和uart驱动
2018-10-10
NVIDIA Jetson Tx1 自动登录时需要使用的文件
2018-08-14
xilinx-2011.09-50-arm-xilinx-linux-gnueabi
2018-06-06
BtnST头文件
2016-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人