首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏模型压缩

    INT8量化训练

    【导读】本文聊了两篇做INT8量化训练的文章,量化训练说的与quantization-aware Training有区别,量化训练指的是在模型训练的前传播和后向传播都有INT8量化。 ,QAT),QAT只在前传播中,加入模拟量化,这个模型量化指的是把模型参数进行线性量化,然后在做矩阵运算之前,把之前量化的模型参数反量化回去浮点数。 而量化训练则是在前传播和后向传播都加入量化,而且做完矩阵运算再把运算的结果反量化回去浮点数。 Unified INT8也是类似minimize量化后梯度与原来梯度的量化误差Error的思想,与Distribution Adaptive INT8不同的是通过收敛性分析方程,发现可以通过降低学习率和减少梯度量化误差 Unified INT8也是类似minimize量化后梯度与原来梯度的量化误差Error的思想,Unified INT8是通过收敛性分析方程,发现了可以通过降低学习率和减少梯度量化误差。

    1.7K00发布于 2021-06-06
  • 来自专栏GiantPandaCV

    INT8量化训练

    【GiantPandaCV导读】本文聊了两篇做INT8量化训练的文章,量化训练说的与quantization-aware Training有区别,量化训练指的是在模型训练的前传播和后向传播都有INT8 ,QAT),QAT只在前传播中,加入模拟量化,这个模型量化指的是把模型参数进行线性量化,然后在做矩阵运算之前,把之前量化的模型参数反量化回去浮点数。 而量化训练则是在前传播和后向传播都加入量化,而且做完矩阵运算再把运算的结果反量化回去浮点数。 Unified INT8也是类似minimize量化后梯度与原来梯度的量化误差Error的思想,与Distribution Adaptive INT8不同的是通过收敛性分析方程,发现可以通过降低学习率和减少梯度量化误差 Unified INT8也是类似minimize量化后梯度与原来梯度的量化误差Error的思想,Unified INT8是通过收敛性分析方程,发现了可以通过降低学习率和减少梯度量化误差。

    1.5K30发布于 2021-04-30
  • 来自专栏量子化学

    利用MOKIT从PySCF其他量化程序传轨道

    近期笔者和另一开发者wsr在MOKIT程序中加入了fchk(),py2molpro,py2molcas,py2qchem等模块,可用于从PySCF程序其他量子化学程序传递分子轨道。 (为什么不用Gaussian算完了传轨道给其他程序:因为Gaussian是商业收费程序,有的课题组/机构没买) (3)自己基于PySCF开发新方法,无现有程序对应,但希望正确地传轨道至下一个量化程序进行后续计算 8. .run() #CAS(6o,8e) fchk(mc, 'O2_cas6o8e.fch') 注意这里我们其实提前看过O2的ROHF轨道,或对O2的分子轨道十分熟悉才能直接写(6e,8o),实际上是经过了观看 注意Windows预编译版不支持本文功能,内含的是Gaussian与其他量化程序传轨道的小程序。

    2K20编辑于 2022-12-07
  • 来自专栏量子化学

    利用MOKIT从ORCA其他量化程序传轨道

    本文介绍如何使用MOKIT从ORCA其他量化程序传轨道,有以下可能的用途: (1)在ORCA中进行了RIJK或RIJCOSX加速的大体系HF/DFT计算,想传轨道给其他程序进行后续计算,或想产生fch 8. ORCA传轨道给PSI4 mkl2psi h2o.mkl 会产生h2o.A和h2o.inp文件。前者含Alpha轨道,后者含坐标,基组和关键词。 若读者在计算中使用全电子基组,自然无此问题;若用了赝势,按上文操作产生其他量化程序的文件不会含赝势信息,即使轨道系数正确,SCF也会剧烈振荡。这里笔者推荐一种解决办法: Step 1. 以防覆盖 mkl2fch ZnMe2_o.mkl # 将轨道传回ZnMe2_o.fch 后续可以使用fch2inp,fch2inporb,fch2com,bas_fch2py等小程序传给其他量化程序做计算

    2K20编辑于 2023-09-03
  • 来自专栏机器学习AI算法工程

    PyTorch模型静态量化、保存、加载int8量化模型

    所以,模型量化就是将训练好的深度神经网络的权值,激活值等从高精度转化成低精度的操作过程,例如将32位浮点数转化成8位整型数int8,同时我们期望转换后的模型准确率与转化前相近。 大体可分为几类: 16位 8位 最常见也相对成熟。各种主流框架和硬件都支持。 8位以下目前而言学界相对玩得多些,工业界有少量支持,但还没有太成熟。 一般来说,对于8量化,全局量化参数影响不明显,但到更低精度,就会对准确率有较大影响。 8量化的挑战有哪些? 1、多后端难点 不同芯片后端的量化算法实现具有不同的特点。 PyTorch模型训练完毕后静态量化、保存、加载int8量化模型 1. pth_to_int.py是对Pytorch的float32模型转成int8模型。 evaluate_model.py里加载int8模型进行推理。 3.

    8.7K42编辑于 2023-02-28
  • 来自专栏深度学习那些事儿

    一起实践量化番外篇——TensorRT-8量化细节

    一起实践量化番外篇——TensorRT-8量化细节 好久不见各位~ 这篇文章很久之前写完一直没有整理,最近终于是整理差不多了,赶紧发出来。 本文接着《必看部署系列-神经网络量化教程:第一讲!》 而后者显式量化是在8版本后才完全支持,具体就是可以加载带有QDQ信息的模型然后生成对应量化版本的engine。 两种量化模型的一些支持情况: 与隐式量化相关性较强的是训练后量化。 QDQ模块会参与训练,负责将输入的FP32张量量化为INT8,随后再进行反量化将INT8的张量在变为FP32。 ,然后在输入A这个op时会经过Q(即量化)操作,这个时候操作A我们会默认是INT8类型的操作,A操作之后会经过DQ(即反量化)操作将A输出的INT8类型的结果转化为FP32类型的结果并传给下一个FP32 Q算子负责FP32->INT8,而DQ算子负责INT8->FP32,被QDQ包起来的算子理所应当就是量化算子(或者说准备被量化、可以被量化的算子,这句话有待揣摩...)。

    4.7K52编辑于 2023-10-19
  • 来自专栏机器学习、深度学习

    CNN模型 int8量化实现方式(二)

    那下面简单的命令就可以完成卸载了 sudo pip uninstall tensorflow_gpu sudo pip3 uninstall tensorflow_gpu 这里介绍一个完全基于 Tensorflow 的模型量化方法 /convert_weights_pb.py 2)完全基于 Tensorflow 的量化 https://blog.csdn.net/u011961856/article/details/76736103 1.源码编译安装tensorflow 可参考 https://blog.csdn.net/u011961856/article/details/76725411 2 编译量化工具 sudo bazel build tensorflow/tools/quantization:quantize_graph 3.模型量化: sudo bazel-bin/tensorflow/tools/quantization ,处于开发阶段,tensorflow lite 是应该已经支持 量化模型的运行, 而 tensorflow 本身的支持很有限,貌似正在集成

    2K40发布于 2019-05-26
  • 来自专栏机器学习、深度学习

    CNN模型 INT8 量化实现方式(一)

    当前CNN模型基本都是 float32,将其转换为 INT8 可以降低模型大小,提升速度,精度降低的也不太多。那么在实际中如何实现这个量化了? 这里主要涉及两个问题:1)就是 int8量化;2)就是 int8 模型的使用 基于Caffe-Int8-Convert-Tools进行caffe模型转int8量化 在 NCNN 框架上运行 https ://blog.csdn.net/u014644466/article/details/83278954 首先是基于 Caffe-Int8-Convert-Tools 这个工具进行 int8量化 https://github.com/BUG1989/caffe-int8-convert-tools int8 模型的使用 How to use Int8 inference https://github.com /Tencent/ncnn/pull/487 https://github.com/Tencent/ncnn/wiki/quantized-int8-inference#caffe-int8-convert-tools

    5.3K20发布于 2019-05-26
  • 来自专栏AI智韵

    YoloV8改进策略:RefConv打造轻量化YoloV8利器

    我们使用RefConv替换YoloV8中的卷积,既能提高精度,又能降低运算量,使得模型更加轻量化! spm=1001.2014.3001.5502 YoloV8官方结果 YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients p3 230 105 0.99 1 0.995 0.801 p8 0.831 Speed: 0.2ms preprocess, 3.8ms inference, 0.0ms loss, 0.8ms postprocess per image 测试结果 YOLOv8l 总结 本文使用RefConv改进了YoloV8。其实我也尝试了很多种改进方式,没有效果。

    46910编辑于 2024-10-22
  • 来自专栏GiantPandaCV

    F8Net:只有8比特乘法的神经网络量化

    【GaintPandaCV导语】F8Net用定点化量化方法对DNN进行量化,在模型推理只有8-bit的乘法,没有16-bit/32-bit的乘法,采用非学习的方法即标准差来定小数位宽。 问题2:为什么要做这样的量化,跟之前的量化有什么不同? ,F8Net想做的事情就是在量化推理中只有int8的乘法,没有16bit/32bit的乘法。 图1 首先来总结一下,F8Net做了什么事情: 1、模型量化推理只有8-bit位宽的乘法; 2、提出一个选择小数位宽的方法,对weight和activation都做定点化; 3、采用PACT的方法优化定点化的参数 做量化不外乎:什么量化方法(线性量化/非线性,对称量化/非对称量化等等),以及这么找数值阈值(也就是截断阈值)。PACT就是非常简单又非常使用的方法。我在做量化训练的时候也是用了PACT。

    1.9K20编辑于 2022-04-06
  • 来自专栏媒矿工厂

    消费者提供8K视频

    本篇是来自NAB的圆桌讨论,主题是:”消费者提供8K视频“,主持人是来自8K联盟的Chris Chinnock,成员包括来自Harmonic的Thierry Fautier,来自Samsung Research 在讨论的最开始,主持人Chris Chinnock介绍了8k联盟和他们最近的一些进展。 Thierry Fautier谈到关于8k内容的编码格式:HEVC、VP9和AV1均有应用。 我们可以给8K视频搭配各种级别的音频,但最重要的是反映创作者的意图。 Thierry Fautier谈内容感知编码,指编码器会根据内容复杂度动态地决定比特率。 Thierry Fautier对此的评价是,目前有一些值得注意的在8K电视上播放4K内容的盲测,也许在8K电视上播放4K,而不需要8K内容的生产会成为一种现实。 Chris Chinnock问到他们对什么时候可以在主要服务提供商看到8K服务的预测。

    48020发布于 2020-06-01
  • 来自专栏AI SPPECH

    129_量化技术:INT8与动态量化 - 推导压缩的精度损失公式

    和min分别是浮点数的最大值和最小值,b是量化后的位数(如INT88位)。 INT8量化技术详解 3.1 INT8量化原理 INT8量化是指将32位浮点数映射到8位整数的过程。在LLM中,主要对权重和激活值进行INT8量化。 实际实现与部署 7.1 使用PyTorch进行模型量化 PyTorch提供了完整的量化工具链,支持INT8量化和动态量化。 for inputs, targets in dataloader: optimizer.zero_grad() # 前传播 9.2 实验结果 量化方法 位宽 模型大小 推理速度 精度损失 内存占用 FP16基线 16 140GB 100% 0% 140GB INT8静态量化 8 70GB 185% 2.3% 70GB INT8

    87910编辑于 2025-11-16
  • 来自专栏叶子的开发者社区

    【yolov5】onnx的INT8量化engine

    然后在yolov5_tensorrt_int8_tools的convert_trt_quant.py 修改如下参数 BATCH_SIZE 模型量化一次输入多少张图片 BATCH 模型量化次数 height width 输入图片宽和高 CALIB_IMG_DIR 训练图片路径,用于量化 onnx_model_path onnx模型路径 engine_model_path 模型保存路径 其中这个batch_size 的版本更新原因,这个代码的tensorrt版本是7系列的,而目前新的tensorrt版本已经没有了一些属性,所以我们需要对这个大佬写的代码进行一些修改 如何修改呢,其实tensorrt官方给出了一个caffe量化 onnx的INT8量化的 但是奈何我连半桶水都没有,只有一滴水,但是这个例子中的tensorrt版本是新的,于是我尝试将上面那位大佬的代码修改为使用新版的tensorrt 居然成功了??!! 成功量化后的模型大小只有4MB,相比之下的FP16的大小为6MB,FP32的大小为9MB 再看看检测速度,速度和FP16差不太多 但是效果要差上一些了 那肯定不能忘记送上修改的代码,折腾一晚上的结果如下

    1.2K70编辑于 2023-11-13
  • 来自专栏葫芦

    从自建k8s托管EKS迁移

    从自建k8s托管EKS迁移 Migration from self-built k8s to hosted EKS A: 代表自建k8s B: 代表托管k8s A: Stands for self-built K8S B: Stands for managed k8s A 上操作: Operation on A: 下载velero download velero curl -sSL -o velero-v1.3.1

    1.2K20发布于 2021-06-04
  • 来自专栏做全栈攻城狮

    Python开发实战教程(8)-网页提交获取数据

    Python应用现在如火如荼,应用范围很广。因其效率高开发迅速的优势,快速进入编程语言排行榜前几名。本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结。希望大家能够快速入门并学习Python这门语言。

    1.1K30发布于 2018-12-20
  • 来自专栏CNN

    【Ubuntu】Tensorflow对训练后的模型做8位(uint8量化转换

    0.4.5 5.1 8 tensorflow_gpu-1.1.0 2.7、3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8 tensorflow_gpu-1.0.0 2.7、3.3- jdk 安装过程中如果有以下异常: bazel depends on google-jdk | java8-jdk | java8-sdk | oracle-java8-installer; however Package java8-jdk is not installed. Package java8-sdk is not installed. bazel build tensorflow/tools/graph_transforms:transform_graph 1.3 执行转换量化命令 将导出的pb模型执行模型量化转换,以tensorflow_inception_graph.pb TFLite格式模型 除了使用transform_graph工具对pb模型进行量化转换外,还可以使用TFLite对模型进行量化处理,但是需要注意的是,使用TFLite转换得到的量化模型是tflite结构

    2.2K30发布于 2019-10-22
  • 来自专栏量化投资与机器学习

    AAAI 2021:仅有的8量化投资论文(论文+代码)

    量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。 在这1692篇被接收的论文中,有8篇与量化投资相关,公众号注意到其中大部分论文的作者来自国内高校:有西南财经大学、上海交通大学及中国科学技术大学。 下面我们对每篇文章做一个简要的介绍,并在文末把8篇论文打包好,供各位小伙伴在国庆期间好好学习,天天向上。 第一篇 在金融领域,上市公司的动量溢出效应得到了广泛的认同。 为了实现有效的执行策略,近年来,由于交易执行优化本身是一个序列决策最优化的问题,研究的重点从基于模型的市场假设的分析视角无模型视角的转变,即强化学习。 第四篇 量化交易和投资决策是复杂的金融任务,依赖于准确的股票选择。尽管深度学习在复杂和高度随机的股票预测问题上取得了显著进展,但依然面临两个显著的局限性。

    4.7K21发布于 2021-10-12
  • 来自专栏GiantPandaCV

    NCNN+Int8+yolov5部署和量化

    【GiantPandaCV引言】 还记得我在两个月前写的文章吗,关于yolov4-tiny+ncnn+int8量化的详细教程:NCNN+INT8+YOLOV4量化模型和实时推理 后来准备写yolov5+ ncnn+int8量化的教程,却在yolov5的量化上遇到了麻烦,一方面是量化后速度更慢了,另一方面是精度下降严重,出现满屏都是检测框的现象,后来经过很多尝试,最终都以失败告终。 五、Int8量化 更加详细的教程可以参考本人知乎博客关于yolov4-tiny的教程,很多细节的东西本篇不会累述(下方附链接)。 量化后的模型如下: 量化后的模型大小大概在1.7m左右,应该可以满足你对小模型大小的强迫症; 此时,可以使用量化后的shufflev2-yolov5模型进行检测: 量化后的精度略有损失,但还是在可接受范围内 int8模型检测效果: 户外场景检测: 七、参考 【1】nihui:详细记录u版YOLOv5目标检测ncnn实现 【2】pogg:NCNN+Int8+YOLOv4量化模型和实时推理 【3】pogg

    4.4K30发布于 2021-09-14
  • 来自专栏Java技术栈

    Java 8 失宠!开发人员 Java 11 转移...

    此前的 Java 社区报告曾指出,Java 8 仍是开发人员使用的主要版本,新版本并未“得宠”。 但 Snyk 近期发布的 JVM Ecosystem Report 2021 则指出,开发人员已经逐渐从 Java 8 迁移到了 Java 11。 升级到 8 版本以上的人也比预料的要多。目前,有 61.5% 的人在生产中使用 Java 11,近 12% 的人使用最新版本,即调查期间的 Java 15。 Snyk 方面在报告中指出,这表明开发人员确实将他们的 Java 版本升级到了 Java 8 以上的版本,有关大多数 Java 开发人员都乐于使用 Java 8 的现象似乎正在慢慢瓦解。 不过值得注意的是,仍有一半的 Java 11 用户(目前使用最多的版本)在他们的生产堆栈中使用 Java 8

    1.1K30发布于 2021-07-16
  • 来自专栏GiantPandaCV

    NCNN+INT8+YOLOV4量化模型和实时推理

    table完全不变 int8模型量化流程完全不变(重点是这个!!! 新版ncnn的int8量化初探 趁着这股热风,赶紧试下新版ncnn量化版int8(更重要的原因是月底要中期答辩了,毕设还没搞完,赶紧跑跑大佬的库,顺带嫖一波) 2.1 安装编译ncnn 话不多说,在跑库前先安装编译好需要的环境 ,我们提供了通用的训练后量化工具,可以将float32模型转换为int8模型。 量化工具所在目录 找不到的读者请看下自己编译过程是不是有误,正常编译下是会有这些量化文件的 运行成功后会生成两个int8的文件,分别是: ? 生成的量化模型 对比一下原来的两个opt模型,小了整整一倍! 三、新版ncnn的int8量化再探 量化出了int8模型仅仅是成功了一半,有模型但是内部参数全都错乱的情况也不是没见过。。。 ?

    3.1K30发布于 2021-05-18
领券