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

什么软件可以优化关键词宁波seo教程app推广

什么软件可以优化关键词,宁波seo教程app推广,appstore免费下载,apm搭建 wordpress本节,我们模拟下全连接层实现量化,原理上为了方便计算,全连接矩阵采用动态量化的方法,而输入由于不断在变化,我们采用静态量化的方法,直接给出代码: 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://www.dtcms.com/wzjs/225439.html

相关文章:

  • 新网站建设公司百度高级搜索入口
  • 高效的网站建设东莞seo建站优化哪里好
  • 怎么做网站搜索友情链接怎么购买
  • 南通建设企业网站今日最火的新闻
  • 工信网站投诉系统公司网站的推广
  • 学校网站源码phpseo代码优化包括哪些
  • 网站如何做支付接口常州百度推广代理公司
  • 专业做网站建设 昆山网站流量统计软件
  • 做面料哪个网站好今日军事新闻头条新闻
  • 网站banner的js特效怎么做好用的seo软件
  • 水果销售网站开发文献综述百度seo效果
  • b s网站开发技术免费seo视频教学
  • 免费虚拟主机网站免费建站有哪些
  • 如何建设网站内容电话营销系统
  • 核动力网站建设哈尔滨seo优化
  • vs2015 手机网站开发查关键词的排名工具
  • 十八哥公司网站开发苏州手机关键词优化
  • 购物网站流量怎么做百度竞价在哪里开户
  • 犀牛做网站的公司芒果视频怎样下载到本地
  • 普陀做网站价格关键词搜索指数查询工具
  • 淄博网站排名seo百度一下下载安装
  • 企业网站建设的一般要素seo长沙
  • 做a三级视频在线观看网站代做百度收录排名
  • 撰写网站建设技术解决方案成都网站关键词排名
  • 不用服务器做视频网站吗seowhy教研室
  • 导航网站的网站地图怎么做个人网站的制作
  • 天津 网站建设公司恶意点击竞价是用的什么软件
  • 怎样建官方网站seo基础教程
  • 开个做网站公司com域名
  • 专门做视频的网站吗杭州百度推广开户