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

协会网站建设目的百度站长工具网站认证

协会网站建设目的,百度站长工具网站认证,百度网络营销中心app,网站定制文章列表项怎么做本节,我们模拟下全连接层实现量化,原理上为了方便计算,全连接矩阵采用动态量化的方法,而输入由于不断在变化,我们采用静态量化的方法,直接给出代码: import torch import numpy as np import m…

本节,我们模拟下全连接层实现量化,原理上为了方便计算,全连接矩阵采用动态量化的方法,而输入由于不断在变化,我们采用静态量化的方法,直接给出代码:

import torch
import numpy as np
import math
#静态量化
def fix_quantize_tensor(array, highB, lowB, num_bits=8):rangeB = highB - lowBshiftDist = -(highB + lowB) / 2qmax = 2.**num_bits - 1.zero_point = shiftDist / rangeB * qmax;qmaxp = 2.**(num_bits - 1) - 1.qminp = -2.**(num_bits - 1)zero_point = math.floor(zero_point)scale = rangeB / qmaxq_x = array/scale + zero_pointq_x = q_x.round().int()q_x[q_x > qmaxp] = qmaxpq_x[q_x < qminp] = qminpreturn q_x, zero_point, scale
#动态量化
def quantize_tensor(array, num_bits=8):highB = array.max()lowB = array.min()rangeB = highB - lowBshiftDist = -(highB + lowB) / 2qmax = 2.**num_bits - 1.zero_point = shiftDist / rangeB * qmax;qmaxp = 2.**(num_bits - 1) - 1.qminp = -2.**(num_bits - 1)zero_point = zero_point.floor().int()scale = rangeB / qmaxq_x = array/scale + zero_pointq_x = q_x.round().int()q_x[q_x > qmaxp] = qmaxpq_x[q_x < qminp] = qminpreturn q_x, zero_point, scale
#输入信号    
x1 = torch.randn(1, 10, dtype=torch.float32) * 0.1
#权重矩阵
W = torch.randn(10, 10, dtype=torch.float32) * 0.1
#偏置
mbias = torch.randn(1, 10, dtype=torch.float32) * 0.1print('************quantize value**************')
q2, z2, s2 = quantize_tensor(W)m_range = 0.5
print(x1)
#静态量化输入信号,且输入信号量化范围对称
q1, z1, s1 = fix_quantize_tensor(x1, m_range, -m_range)
print(q1, z1, s1)print(mbias)
#偏置的量化和输入信号要一致,这样可以减少运算复杂度
qb, zb, sb = fix_quantize_tensor(mbias, m_range, -m_range)
print(qb, zb, sb)print('************quantize matrix multiply*************')
########### s1(q1-z1)q2+qb #############
#通过*2^16+移位的方式来实现浮点乘运算
M0 = int(s2 * (2**16))
qresult = (torch.matmul(q1 - z1, q2) * M0) >> 16
qresult = qresult.round().int() + qb
print(qresult)
print('************quant result***********************')
print(qresult * s1)
print('************real result*************************')
print(torch.matmul(x1, W) + mbias)

结果:

************quantize value**************
tensor([[ 0.1819,  0.0145, -0.2078, -0.0485, -0.0212, -0.0677, -0.0572,  0.0349,0.1925, -0.0266]])
tensor([[ 46,   4, -53, -12,  -5, -17, -15,   9,  49,  -7]], dtype=torch.int32) 0 0.00392156862745098
tensor([[ 0.0032,  0.0095, -0.1825, -0.1033, -0.0582, -0.1757, -0.0893,  0.0119,0.0336, -0.0487]])
tensor([[  1,   2, -47, -26, -15, -45, -23,   3,   9, -12]], dtype=torch.int32) 0 0.00392156862745098
************quantize matrix multiply*************
tensor([[ -1,  -1, -44, -38, -15, -53, -31,   9,   4, -15]], dtype=torch.int32)
************quant result***********************
tensor([[-0.0039, -0.0039, -0.1725, -0.1490, -0.0588, -0.2078, -0.1216,  0.0353,0.0157, -0.0588]])
************real result*************************
tensor([[-0.0041, -0.0049, -0.1688, -0.1506, -0.0592, -0.2056, -0.1213,  0.0356,0.0133, -0.0617]])

注意结果是随机的,需要注意,我们对于输入信号和偏置的量化采用的是相同的量化参数,且zero_point为0,这是常用的一种方法,可以简化操作流程,得到的结果就是按照这个量化参数量化的结果(s1和z1),对于神经网络下一级可以继续按照这样的量化信号继续下一级运算,


文章转载自:

http://7RNylOpT.fnkcg.cn
http://fRKZlKTX.fnkcg.cn
http://QIYZLh7k.fnkcg.cn
http://wWtISnBw.fnkcg.cn
http://h0u5Usy7.fnkcg.cn
http://rUvVkPzm.fnkcg.cn
http://1GQrNNDD.fnkcg.cn
http://BhDLUPVR.fnkcg.cn
http://eyQCOH5e.fnkcg.cn
http://88TSJ44m.fnkcg.cn
http://npOvmkO3.fnkcg.cn
http://FluTKz9j.fnkcg.cn
http://5vKw3QkX.fnkcg.cn
http://IxAwjd2y.fnkcg.cn
http://d8sqWDAy.fnkcg.cn
http://dEGozTWb.fnkcg.cn
http://75HCie1F.fnkcg.cn
http://EPeO2y6K.fnkcg.cn
http://SywMRhD8.fnkcg.cn
http://oyKJH02J.fnkcg.cn
http://xV3FUeAh.fnkcg.cn
http://tCWIkQRc.fnkcg.cn
http://2y0MRcaK.fnkcg.cn
http://U9jpe9bg.fnkcg.cn
http://Pp8IcZJQ.fnkcg.cn
http://bgAGMl13.fnkcg.cn
http://KgVJDDN4.fnkcg.cn
http://wOQupUOn.fnkcg.cn
http://SMxwUe1X.fnkcg.cn
http://FuDEdId0.fnkcg.cn
http://www.dtcms.com/wzjs/766843.html

相关文章:

  • 杭州网站开发wordpress删除评论框
  • 织梦网站 联系方式修改免费店铺logo设计生成器
  • 无法登陆建设银行网站百度智能云wordpress
  • 影视网站cpa 如何做视频社区app源码
  • 上海网站开发与网上接单
  • 微信网站开发费用高水平的网站建设
  • 网站服务器费用关键字搜索
  • 免费招聘网站都有哪些seo如何挖掘关键词
  • asp.net网站建设项目实战资料公司简介网站怎么做
  • 安徽城乡建设 厅网站谷歌官网网址
  • 十堰营销型网站建设几级分销是合法的
  • 北戴河网站建设免费咨询会计问题
  • 网站内容设计上的特色seo搜索优化试卷
  • 电影网站建设规划书wordpress nodejs版本
  • 网站后台发布新闻公司查询系统官网
  • 开发区网站建设工作职责阜阳专业网站建设
  • 女鞋网站建设策划方案加盟创业
  • html网站建设流程新能源汽车价格补贴
  • 网站推广方法技巧做旅游网站需要注意什么
  • php创建网页优化大师app下载
  • 成都网站搜索排名优化公司wordpress下载弹窗插件
  • 网站优化方案教程家乡网站建设策划书模板
  • 网站框架一般用什么做重庆观音桥有什么好玩的
  • 宁波专业网站制作韩国免费行情网站的推荐理由
  • 桐乡做网站的公司五种人适合做运营
  • 网站前端浏览器兼容如何做网易企业邮箱名称
  • 单页网站怎么做外链wordpress里面主题文档怎么编辑
  • 莱芜都市网二手厦门seo大佬
  • 建站用什么搭建比较好二次开发是什么意思
  • 吐鲁番网站建设陕西建设网站