stable diffusion 量化学习笔记

文章目录

一、一些tensorRT背景及使用介绍

1)深度学习介绍

  • 简单学习介绍量化背景

    补充

    1)tensorFlow python版本其实是调用的TensorFlow C的接口
    2)libtorch其实是pytorch的C++版本
    3)cublas是实现矩阵相乘的功能
    4)cudnn主要实现dnn上的一些算子功能,例如卷积等
    5)不同NVIDIA显卡架构间不兼容,同代显卡基本是同架构

2)TensorRT优化策略介绍

  • 优化策略

    1、低精度优化 :int8 int16
    2、Kernel自动调优
    例如:cublas gemm多种实现:①不用shared memory ;②小矩阵相乘;③使用额外显存的策略
    3、算子融合:例如:
    relu+bias+1x1 conv =1x1 CBR
    4、多流运行
    5、显存优化

3)TensorRT基础使用流程

  • 代码使用流程

4)dynamic shape 模式

  • 背景
    ①TensorRT 6.0之后 explicit(显式)batch支持动态batchsize
    ②CV的图片基本都是固定大小,而NLP和speech语音很多都是不固定大小的
  • 思路
    1)build engine阶段设置:
    ①用createNetworkV2设置显示batchsize
    ②设置最大batchsize
    ③设置优化profile选项,选择最大、最常用、最小的数据维度(类似,15s\20s\30s的语音)

    2)infer推理阶段
    ①每次推理设置输出的数据维度
    ②检查输入的数据维度是否符合需求
    ③开启推理

5)TensorRT模型转换

①onnx:一键解析pytorch转为onnx,不用像API那样一层一层构建onnx

②torch2trt:pytorch直接转为trt

③TensorFlow:谷歌出品,不用pytorch,tf直接转为trt(tf2tensorrt)

④Tencent Forward:支持pytorch\onnx\tf直接转为trt,接口简单

二、实操

1)编译tensorRT开源代码运行SampleMNIST

相关推荐
无敌贵点大王24 分钟前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
有范先生1 小时前
这次户外断粮危机后,我更在意主食能不能扛住极端环境了
笔记
喜欢打篮球的普通人2 小时前
MiniMind 学习笔记(十二):Pretrain 实操——从版本梳理到 8GB 显卡上的真实训练
人工智能·笔记·学习
m4Rk_3 小时前
【论文阅读】Agent 记忆机制(87):VizoMem——把文本历史转化为可检索的视觉记忆
论文阅读·人工智能·学习·开源·github
坤坤子吖3 小时前
算法学习——高精度加减乘除
c++·笔记·学习·算法
HY小宝F4 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 03 · 网络基础:建立“包“的思维 —— 学习总结
网络·学习
dadaobusi4 小时前
学习:AXI协议
学习
xxwl5854 小时前
vue3的入门学习
前端·vue.js·学习
Joe_Wang54 小时前
【从0到1学习JVM · 21】既不浪费空间又没有碎片,标记整理算法到底慢在哪
jvm·学习·算法·垃圾回收·标记整理算法
Answer1st4 小时前
【HAL库】嵌入式思路(一)
笔记