当前位置: 首页 > news >正文

网站建设账务处理做网站那种布局好

网站建设账务处理,做网站那种布局好,刘强东当年做网站读的什么书,百度端口开户推广更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 作者:Wuwei Lin 本文介绍如何用 TVM 自动量化(TVM 的一种量化方式)。有关 TVM 中量化的…

更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站

作者:Wuwei Lin

本文介绍如何用 TVM 自动量化(TVM 的一种量化方式)。有关 TVM 中量化的更多详细信息,参阅 此处。本教程将在 ImageNet 上导入一个 GluonCV 预训练模型到 Relay,量化 Relay 模型,然后执行推理。

import tvm
from tvm import te
from tvm import relay
import mxnet as mx
from tvm.contrib.download import download_testdata
from mxnet import gluon
import logging
import osbatch_size = 1
model_name = "resnet18_v1"
target = "cuda"
dev = tvm.device(target)

准备数据集

以下演示如何为量化准备校准数据集,首先下载 ImageNet 的验证集,并对数据集进行预处理。

calibration_rec = download_testdata("http://data.mxnet.io.s3-website-us-west-1.amazonaws.com/data/val_256_q90.rec","val_256_q90.rec",
)def get_val_data(num_workers=4):mean_rgb = [123.68, 116.779, 103.939]std_rgb = [58.393, 57.12, 57.375]def batch_fn(batch):return batch.data[0].asnumpy(), batch.label[0].asnumpy()img_size = 299 if model_name == "inceptionv3" else 224val_data = mx.io.ImageRecordIter(path_imgrec=calibration_rec,preprocess_threads=num_workers,shuffle=False,batch_size=batch_size,resize=256,data_shape=(3, img_size, img_size),mean_r=mean_rgb[0],mean_g=mean_rgb[1],mean_b=mean_rgb[2],std_r=std_rgb[0],std_g=std_rgb[1],std_b=std_rgb[2],)return val_data, batch_fn

把校准数据集(可迭代对象)定义为 Python 中的生成器对象,本教程仅用几个样本进行校准。

calibration_samples = 10def calibrate_dataset():val_data, batch_fn = get_val_data()val_data.reset()for i, batch in enumerate(val_data):if i * batch_size >= calibration_samples:breakdata, _ = batch_fn(batch)yield {"data": data}

导入模型

用 Relay MxNet 前端从 Gluon 模型集合(model zoo)中导入模型。

def get_model():gluon_model = gluon.model_zoo.vision.get_model(model_name, pretrained=True)img_size = 299 if model_name == "inceptionv3" else 224data_shape = (batch_size, 3, img_size, img_size)mod, params = relay.frontend.from_mxnet(gluon_model, {"data": data_shape})return mod, params

量化模型

量化过程要找到每一层的每个权重和中间特征图(feature map)张量的 scale。

对于权重而言,scales 是根据权重的值直接计算出来的。支持两种模式:power2 和 max。这两种模式都是先找到权重张量内的最大值。在 power2 模式下,最大值向下舍入为 2 的幂。如果权重和中间特征图的 scale 都是 2 的幂,则可以利用移位(bit shifting)进行乘法运算,这使得计算效率更高。在 max 模式下,最大值用作 scale。如果不进行四舍五入,在某些情况下 max 模式可能具有更好的精度。当 scale 不是 2 的幂时,将使用定点乘法。

中间特征图可以通过数据感知量化来找到 scale。数据感知量化将校准数据集作为输入参数,通过最小化量化前后激活分布之间的 KL 散度来计算 scales。或者也可以用预定义的全局 scales,这样可以节省校准时间,但会影响准确性。

def quantize(mod, params, data_aware):if data_aware:with relay.quantize.qconfig(calibrate_mode="kl_divergence", weight_scale="max"):mod = relay.quantize.quantize(mod, params, dataset=calibrate_dataset())else:with relay.quantize.qconfig(calibrate_mode="global_scale", global_scale=8.0):mod = relay.quantize.quantize(mod, params)return mod

运行推理

创建一个 Relay VM 来构建和执行模型。

def run_inference(mod):model = relay.create_executor("vm", mod, dev, target).evaluate()val_data, batch_fn = get_val_data()for i, batch in enumerate(val_data):data, label = batch_fn(batch)prediction = model(data)if i > 10: # 本教程只对几个样本进行推理breakdef main():mod, params = get_model()mod = quantize(mod, params, data_aware=True)run_inference(mod)if __name__ == "__main__":main()

输出结果:

/workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead."target_host parameter is going to be deprecated. "
/workspace/python/tvm/relay/build_module.py:411: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)DeprecationWarning,

脚本总运行时长: (1 分 22.338 秒)

下载 Python 源代码:deploy_quantized.py

下载 Jupyter Notebook:deploy_quantized.ipynb

http://www.yayakq.cn/news/392243/

相关文章:

  • 有没有做羞羞的网站防红域名生成
  • vivo官方网站进入网站开发上线流程
  • 网站开发协义想做个网站不知道做什么
  • 网站建设 php 企业网站邢台手机网站建设服务
  • 沧州市网站北京网站seo哪家公司好
  • 中山精品网站建设资讯莱芜金点子最新招工信息
  • 可视化课题组网站建设教程辽宁城乡建设部网站首页
  • 网络推广模板网站在网站社保减员要怎么做
  • 网站排名云优化工具标准网站建设哪家便宜
  • 计算机网站开发专业威海做网站的公司
  • 网站建设套餐是什么意思哈尔滨市信息网
  • 百度做网站教程免费模板下载word
  • 温州手机网站开发wordpress返回主页标签
  • 网站建设入账济南优化联系电话
  • 公司营销网站建设中小型企业网站的设计与开发
  • 外贸自建站平台怎么找惠州网站建设 翻译
  • 东明网站建设网络设计属于什么专业
  • 如何用python做一个网站公司网站建设维护合同
  • 徐州模板建站哪家好谷歌浏览器搜索入口
  • 打代码怎么做网站产品推广文章
  • php网站开发编程软件网络营销策划实施方案
  • 银川网站建设银川网站 cms 免费
  • 天猫官方网站首页跨国网站怎么做
  • 网站建设 代表联系群众小程序模板免费下载
  • 东莞清溪镇做网站公司江西省工程造价信息网官网
  • 重庆网站设计制造厂家网页制作技术实训报告
  • 手机网站免费建设排行做网站的公司叫什么问题
  • 网站建设大约多少费用电商网站建设教案
  • 南京网站建设雷仁网络wordpress付费可见
  • 专业群建设 网站学术ppt模板免费