03 2021 档案
摘要:特征提取,转换和选择 Extracting, transforming and selecting features This section covers algorithms for working with features, roughly divided into these groups
阅读全文
摘要:聚类Clustering This page describes clustering algorithms in MLlib. The guide for clustering in the RDD-based API also has relevant information about the
阅读全文
摘要:降维-基于RDD的API Singular value decomposition (SVD) Performance SVD Example Principal component analysis (PCA) Dimensionality reduction is the process of
阅读全文
摘要:GraphX编程指南 概述 入门 属性图 属性图示例 图算子 算子摘要列表 属性算子 结构化算子 Join算子 最近邻聚集 汇总消息(aggregateMessages) Map Reduce三元组转换指南(旧版) 计算度信息 收集邻域 缓存和取消缓存 Pregel API 图构建器 顶点和边缘
阅读全文
摘要:GPU自动调度卷积层 本文对GPU使用自动调度程序。 与依靠手动模板定义搜索空间的基于模板的autotvm不同,自动调度程序不需要任何模板。用户只需要编写计算声明,无需任何调度命令或模板。自动调度程序可以自动生成一个较大的搜索空间,在该空间中找到良好的调度。 本文以卷积层为例。 本文无法在Windo
阅读全文
摘要:TVM部署预定义模型 本文通过深度学习框架量化的模型加载到TVM中。预量化的模型导入是在TVM中提供的量化支持之一。 本文演示如何加载和运行由PyTorch,MXNet和TFLite量化的模型。加载后,可以在任何TVM支持的硬件上运行已编译的量化模型。 首先,必要输入 from PIL import
阅读全文
摘要:Relay外部库使用 本文介绍如何将cuDNN或cuBLAS等外部库与Relay一起使用。 Relay内部使用TVM生成目标特定的代码。例如,使用cuda后端,TVM为用户提供的网络中的所有层生成cuda内核。有时将各种供应商开发的外部库合并到Relay中也很有帮助。幸运的是,TVM具有透明地调用这
阅读全文
摘要:ARM CPU自动调度神经网络 对特定设备和工作负载进行自动调度,对于获得最佳性能至关重要。通过RPC使用自动调度器为ARM CPU调度整个神经网络。 为了自动调度神经网络,将网络划分为小的子图,进行独立调度。每个子图被视为一个搜索任务。任务调度程序对时间进行分片,为这些任务动态分配时间资源。任务调
阅读全文
摘要:TVM Pass IR如何使用 随着Relay / tir中优化遍数的增加,执行并手动维护其依赖关系变得很棘手。引入了一个基础结构来管理优化过程,并应用于TVM堆栈中IR的不同层。 Relay / tir程序的优化可以以各种粒度应用,即分别使用tvm.relay.transform.Function
阅读全文
摘要:自定义pass编写 TVM是一个框架,抽象了机器学习加速器的异质性。有时,用户可能需要自定义一些分析和IR转换,使TVM适应自己的专用硬件。本文可帮助用户在TVM中编写自定义pass。 先决条件 在阅读本文之前,假设读者已经熟悉以下主题: 在TVM中编写算法并进行调度。否则,请参见示例教程,例如
阅读全文
摘要:Dockerfile构建实践 本文介绍了用于构建有效图像的推荐最佳实践和方法。 Docker通过从一个Dockerfile文本文件中读取指令来自动构建映像,该文本文件按顺序包含构建给定映像所需的所有命令。ADockerfile遵循特定的格式和指令集,可以在Dockerfile参考中找到该指令。 Do
阅读全文
摘要:Docker基本原理概述 Docker是一个用于开发,交付和运行应用程序的开放平台。Docker能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的快速交付,测试和部署代码的方法,可以显着减少编写代码和在生产环境中
阅读全文
摘要:台积电5nm光刻技术 在IEEE IEDM会议上,台积电发表了一篇论文,概述了其5nm工艺的初步成果。对于目前使用N7或N7P工艺的客户来说,下一步将会采用此工艺,因为这两种工艺共享了一些设计规则。新的5nm制程使用了台积电的第五代FinFET技术,在7纳米基础上提供一个完整的工艺节点,并使用EUV
阅读全文
摘要:Halide应用开发 1. 基本原理 1.1、介绍 随着人工智能的普及,深度学习网络的不断涌现,为了让各硬件(CPU, GPU, NPU,...)能够支持深度学习应用,各硬件芯片需要软件库去支持高性能的深度学习张量运算。目前,这些高性能计算库主要由资深HPC工程师(高性能计算优化工程师)进行开发,为
阅读全文
摘要:Octave Convolution卷积 MXNet implementation 实现for: Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution
阅读全文
摘要:Deformable 可变形的DETR This repository is an official implementation of the paper Deformable DETR: Deformable Transformers for End-to-End Object Detectio
阅读全文
摘要:NVIDIA GPU自动调度神经网络 对特定设备和工作负载进行自动调整对于获得最佳性能至关重要。这是有关如何使用自动调度器为NVIDIA GPU调整整个神经网络。 为了自动调整神经网络,将网络划分为小的子图,并对其进行独立调整。每个子图被视为一个搜索任务。任务调度程序可以对时间进行分片,并为这些任务
阅读全文
摘要:如何使用TVM Pass Relay 随着Relay / tir中优化遍数的增加,执行并手动维护其依赖关系变得很棘手。引入了一个基础结构来管理优化过程,将其应用于TVM堆栈中IR的不同层。 Relay / tir程序的优化可以以各种粒度应用,分别使用tvm.relay.transform.Funct
阅读全文
摘要:VTA硬件 提供了VTA硬件设计的自上而下的概述。本硬件设计涵盖两个级别的VTA硬件: VTA设计及其ISA硬件-软件接口的体系结构概述。 VTA硬件模块的微体系结构概述以及计算核心的微代码规范。 VTA概述 VTA是为快速,高效的密集线性代数而构建的通用深度学习加速器。VTA集成了一个简单的类似R
阅读全文
摘要:TensorFlow Frontend前端 TensorFlow前端有助于将TensorFlow模型导入TVM。 Supported versions: 1.12 and below Tested models: Inception (V1/V2/V3/V4) Resnet (All) Mobile
阅读全文
摘要:向Relay添加算子 为了在Relay IR中使用TVM算子,需要在Relay中注册算子,以确保将其集成到Relay的类型系统中。 注册算子需要三个步骤: 使用RELAY_REGISTER_OPC ++中的宏注册算子的Arity和类型信息 定义一个C ++函数为算子生成一个调用节点,并为该函数注册一
阅读全文
摘要:TVM自定义数据类型 本文将介绍“自定义数据类型”框架,该框架可在TVM中使用自定义数据类型。 介绍 在设计加速器时,关键是如何近似地表示硬件中的实数。这个问题具有长期的行业标准解决方案:IEEE 754浮点标准。然而,当试图通过构建高度专业化的设计来最大限度地利用硬件时,使用通用IEEE 754浮
阅读全文
摘要:TinyML-TVM如何驯服TinyML 低成本,以人工智能为动力的消费类设备的激增,导致机器学习研究人员和从业人员对“裸机”(低功耗,通常没有操作系统)设备产生了广泛的兴趣。尽管专家已经有可能在某些裸机设备上运行某些模型,但是为各种设备优化模型的挑战非常艰巨,通常需要手动优化设备特定的库。对于那些
阅读全文
摘要:TVM自动调度器 随着模型大小,算子多样性和硬件异构性的不断增长,优化深度神经网络的执行速度非常困难。从计算的角度来看,深度神经网络只是张量计算的一层,又一层。这些张量计算(例如matmul和conv2d),可以通过数学表达式轻松描述。在现代硬件上,提供高性能的实现,可能会非常具有挑战性。必须应用各
阅读全文
摘要:将代码生成器带入TVM 为了使数据科学家不必担心开发新模型时的性能,硬件后端提供程序(例如Intel,NVIDIA,ARM等)可以提供诸如cuBLAS或cuDNN之类的内核库以及许多常用的深度学习内核,或者提供诸如此类的框架。例如带有图形引擎的DNNL或TensorRT,使用户以某种方式描述其模型以
阅读全文
摘要:CUDA上的量化深度学习模型的自动化优化 深度学习已成功应用于各种任务。在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要。网络量化是加速深度学习模型的有效方法。在量化模型中,数据和模型参数都用诸如int8和的低精度数据类型表示float16。降低的数据带宽减少了推理时间和存储器/存储需
阅读全文
摘要:硬件平台上深度学习自动内核优化 对于AI开发人员来说,在各种硬件平台上优化深度神经网络的性能仍然是一个难题。在系统支持方面,在这里面临着许多问题:将训练有素的模型从多个前端(例如Tensorflow,ONNX,MXNet)部署到多个硬件平台(例如CPU,GPU,加速器)。此问题最关键的性能部分,为不
阅读全文
摘要:DLPack构建跨框架的深度学习编译器 Tensorflow,PyTorch和ApacheMxNet等深度学习框架提供了一个功能强大的工具包,可用于快速进行原型设计和部署深度学习模型。易用性通常是以碎片为代价的:孤立地使用每个框架是很容易的。垂直集成已使常见用例的开发流程简化了,但是冒险走过的路可能
阅读全文
摘要:TensorFlow+TVM优化NMT神经机器翻译 背景 神经机器翻译(NMT)是一种自动化的端到端方法,具有克服传统基于短语的翻译系统中的弱点的潜力。本文为全球电子商务部署NMT服务。 目前,将Transformer用作NMT系统的主要骨干,对基于经典RNN / LSTM模型的同等(甚至更高)精度
阅读全文
摘要:TVM在ARM GPU上优化移动深度学习 随着深度学习的巨大成功,将深度神经网络部署到移动设备的需求正在迅速增长。与在台式机平台上所做的类似,在移动设备中使用GPU可以提高推理速度和能源效率。但是,大多数现有的深度学习框架都不能很好地支持移动GPU。困难在于移动GPU架构和台式机GPU架构之间的差异
阅读全文
摘要:使用TVM将深度学习模型编译为WebGL TVM带有全新的OpenGL / WebGL后端! OpenGL / WebGL后端 TVM已经瞄准了涵盖各种平台的大量后端:CPU,GPU,移动设备等。这次,添加了另一个后端:OpenGL / WebGL。 OpenGL / WebGL使能够在未安装CUD
阅读全文
摘要:NNVM AI框架编译器 深度学习已变得无处不在且不可或缺。看到对在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长。TVM堆栈弥合深度学习框架与面向性能或效率的硬件后端之间的鸿沟。TVM堆栈使为深度学习框架轻松构建端到端编译变得容易。拥有适用于所有框架的统一
阅读全文
摘要:Deep Learning部署TVM Golang运行时Runtime 介绍 TVM是一个开放式深度学习编译器堆栈,用于编译从不同框架到CPU,GPU或专用加速器的各种深度学习模型。TVM支持来自Tensorflow,Onnx,Keras,Mxnet,Darknet,CoreML和Caffe2等各种
阅读全文
摘要:使用Relay部署编译ONNX模型 本文介绍如何使用Relay部署ONNX模型的入门。 首先,必须安装ONNX软件包。 一个快速的解决方案是安装protobuf编译器,然后 pip install onnx --user 或参考官方网站。 https://github.com/onnx/onnx i
阅读全文
摘要:TVM交叉编译和远程RPC 本文介绍了TVM中使用RPC的交叉编译和远程设备执行。 使用交叉编译和RPC,可以在本地计算机上编译程序,然后在远程设备上运行它。当远程设备资源受到限制时(如Raspberry Pi和移动平台),此功能很有用。本文将使用Raspberry Pi作为CPU示例,并使用Fir
阅读全文
摘要:自动生成低精度深度学习算子 深度学习模型变得越来越大,越来越复杂,由于其有限的计算和能源预算,部署在低功耗电话和IoT设备上变得充满挑战。深度学习的最新趋势是使用高度量化的模型,该模型可对输入和几位权重进行操作,诸如XNOR-Net,DoReFa-Net和HWGQ-Net之类的网络正在稳步发展,提高
阅读全文
摘要:将TVM集成到PyTorch上 随着TVM不断展示出对深度学习执行效率的改进,很明显PyTorch将从直接利用编译器堆栈中受益。PyTorch的主要宗旨是提供无缝且强大的集成,而这不会妨碍用户。为此,PyTorch现在具有基于TVM的官方后端torch_tvm。 用法很简单: import torc
阅读全文
摘要:自定义Kubernetes调度程序来编排高可用性应用程序 只要愿意遵守规则,在Kubernetes上进行部署和乘飞机旅行就可以很愉快。通常,事情会“正常工作”。但是,如果有兴趣与必须生存的鳄鱼一起旅行,或对必须保持可用状态的数据库进行扩展,则情况可能会变得更加复杂。为此,甚至可能更容易构建自己的飞机
阅读全文
摘要:Linux实现ffmpeg H.265视频编码 几乎所有观看的视频,数字地面电视,电缆,卫星或互联网上的压缩。原始的,未压缩的视频太大,会浪费太多的带宽。在DVD和Blu-ray之前,有视频CD(VCD)。这是用于在标准120mm(4.7英寸)光盘。光盘上的视频被编码为MPEG-1,一种用于在1处流
阅读全文
摘要:iOS视频硬编码技术 一.iOS视频采集硬编码 基本原理 硬编码 & 软编码 硬编码:通过系统自带的Camera录制视频,实际上调用的是底层的高清编码硬件模块,即显卡,不使用CPU,速度快 软编码:使用CPU进行编码,如常见C/C++代码,编译生成二进制文件,速度相对较慢。例如使用Android N
阅读全文
摘要:TVM虚拟机配置 目录 3.1. Supported Guest Operating Systems 3.1.1. Mac OS X Guests 3.1.2. 64-bit Guests 3.2. Unattended Guest Installation 3.2.1. An Example of
阅读全文