网站专题页面模板wordpress自定义右侧不显示页面
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:20
当前位置: 首页 > news >正文
网站专题页面模板,wordpress自定义右侧不显示页面,外贸网站制作怎么选,网络设置网站本文介绍trtexec工具的使用#xff0c;trtexec可以实现onnx模型导出trt模型、耗时分析和模型优化分析等功能#xff0c;本节将对 trtexec的运用进行介绍。
1.trtexec trtexec是官方提供的命令行工具#xff0c;主要用于一下三个方面 生成模型序列化文件#xff1a;由ONNX文… 本文介绍trtexec工具的使用trtexec可以实现onnx模型导出trt模型、耗时分析和模型优化分析等功能本节将对 trtexec的运用进行介绍。
1.trtexec trtexec是官方提供的命令行工具主要用于一下三个方面 生成模型序列化文件由ONNX文件生成 TensorRT 引擎并序列化为 Plan文件/engine文件 查看模型文件信息查看 ONNX文件或 Plan 文件的网络逐层信息 模型性能测试测试 TensorRT 引擎基于随机输入或给定输入下的性能 trtexec提供了大量参数整体可分为构建和运行两个阶段。
构建阶段常用参数
–onnx: onnx文件路径
–minShapes, –optShapes, and –maxShapes: 当是onnx模型时可指定batchsize的动态范围。
–-memPoolSize: 优化过程可使用的最大内存
–saveEngine: 保存的文件输出路径
–fp16, –int8, –noTF32, and –best: 指定数据精度
–verbose: 是否需要打印详细信息。默认是不打印详细信息。
–skipInference: 创建并保存引擎文件不执行推理过程。
–timingCacheFile: 记录每个tensor的最小最大值、运行时间等,可以用来分析量化效果。
–dumpLayerInfo, –exportLayerInfo: 打印及保存每一层详细信息 更多高级用法
参考官方文档https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#trtexec
运行阶段常用参数
–loadEngine: 要加载的模型文件
–shapes:指定输入张量的形状 –loadInputs: Load input values from files. Default is to generate random inputs.
–warmUp, 热身阶段最短运行时间单位ms
–duration, 测试阶段最短运行时间单位s
–iterations: 测试阶段最小迭代次数
–useCudaGraph: 采用 CUDA graph 捕获和执行推理过程
–noDataTransfers: 关闭host与device之间的数据传输
–dumpProfile, –exportProfile: 打印及保存每一层性能信息
–dumpLayerInfo, –exportLayerInfo: 打印及保存每一层详细信息 更多高级用法参考官方文档https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#trtexec 案例0固定batchsize
输出固定batchsize的engine文件这里需要注意batchsize的状态需要与ONNX匹配因此在生成onnx时需要设置好。
trtexec –onnxresnet50_bs_1.onnx –saveEngineresnet50_bs_1.engine 案例1: 动态batchsize使用 resnet50_bs_dynamic.onnx 可通过第十一章章生成 trtexec –onnxresnet50_bs_dynamic.onnx –saveEngineresnet50_bs_dynamic_1-32-64.engine –timingCacheFiledynamic-1-32-64.c ache –minShapesinput:1x3x224x224 –maxShapesinput:64x3x224x224 –optShapesinput:16x3x224x224
通过下表可知fp32时大batchsize带来吞吐量增加不明显因此可考虑时延的平衡选择batchsize8。 案例2fp32、fp16、int8 性能比较 运行配套代码中的run.bat/run.sh可以查看log观察吞吐量、时延的变化。
如下图所示吞吐量方面 fp16相较于fp32有约2~3倍提升int8相较于fp16约2倍提升 相同精度时吞吐量随batchsize增加但在32后增速不明显。int8随着batchsize增速潜力更大。
时延方面 时延随着batchsize是线性增长 fp32, fp16, int8的时延依次递减一半 案例3查看层详细信息 通过参数–dumpLayerInfo –exportLayerInfo可以输出各层详细信息以及融合情况还有输入输出张量的名字 Bindings
trtexec –onnxresnet50_bs_dynamic.onnx –saveEnginedemo.engine –skipInference –dumpLayerInfo –exportLayerInfoexportL ayerInfo.log
在exportLayerInfo.log文件中可以看到如下信息主要包括
各网络层内容以及融合情况“Reformatting CopyNode for Input Tensor 0 to Conv_0 Relu_1”
Reformatting CopyNode 表示 TensorRT 将输入tensor 0 复制(Copy)到 Conv_0 和 Relu_1 两个层进行了融合 (Reformatting)。这里的 Reformatting 指的是 TensorRT 在优化网络结构时,会将一些层进行融合,以减少内存拷 贝和提高计算效率。CopyNode 则表示插入了一个拷贝层,用于将输入数据复制到融合后新的层中。
这种层的融合可以减少内存访问,优化数据流,从而提升推理性能。
Bindings包括输入输出张量的名称这个在onnx导出时设定的在下游python推理代码中也会用到。
{Layers: [Reformatting CopyNode for Input Tensor 0 to Conv_0 Relu_1 ,Conv_0 Relu_1
,MaxPool_2 ,Conv_3 Relu_4 ,Conv_5 Relu_6 … ,Reformatting CopyNode for Input Tensor 0 to Gemm_121 ,Gemm_121 ,reshape_after_Gemm_121 ], Bindings: [input ,output ]} 案例4verbose中的日志内容 打开verbose开关后trtexec将输出详细内容包括以下六大模块
导入模型情况模型格式、名称
参数配置情况设置了哪些参数进行优化例如 –fp16等
设备情况当前GPU device具体信息
计算图优化细节详细描述网络层融合情况计算图优化结果
网络层实现方式选择几千行打印每个网络层选择的kernel的过程挑选耗时最低的方法
耗时统计统计推理耗时时间包括数据拷贝、推理等耗时的统计值
trtexec –onnxresnet50_bs_dynamic.onnx –saveEnginedemo.engine –verbose verbose.log 执行以下命令可获得日志文件下面对主要内容进行介绍。
Model Options 包含导入的模型内容
[08/20/2023-11:59:45] [I] Model Options
[08/20/2023-11:59:45] [I] Format: ONNX
[08/20/2023-11:59:45] [I] Model: resnet50_bs_dynamic.onnx
[08/20/2023-11:59:45] [I] Output:
Build Options创建trt模型的参数设置
[08/20/2023-11:59:45] [I] Build Options
[08/20/2023-11:59:45] [I] Max batch: explicit batch
[08/20/2023-11:59:45] [I] Memory Pools: workspace: default, dlaSRAM: default, dlaLocalDRAM: default, dlaGlobalDRAM: default
[08/20/2023-11:59:45] [I] minTiming: 1
[08/20/2023-11:59:45] [I] avgTiming: 8
[08/20/2023-11:59:45] [I] Precision: FP32
推理设置
[08/20/2023-11:59:45] [I] Inference Options
[08/20/2023-11:59:45] [I] Batch: Explicit
[08/20/2023-11:59:45] [I] Input inference shapes: model
[08/20/2023-11:59:45] [I] Iterations: 10
[08/20/2023-11:59:45] [I] Duration: 3s ( 200ms warm up)
[08/20/2023-11:59:45] [I] Sleep time: 0ms
[08/20/2023-11:59:45] [I] Idle time: 0ms
[08/20/2023-11:59:45] [I] Inference Streams: 1
日志输出设置
[08/20/2023-11:59:45] [I] Reporting Options
[08/20/2023-11:59:45] [I] Verbose: Enabled
[08/20/2023-11:59:45] [I] Averages: 10 inferences
[08/20/2023-11:59:45] [I] Percentiles: 90,95,99
[08/20/2023-11:59:45] [I] Dump refittable layers:Disabled
[08/20/2023-11:59:45] [I] Dump output: Disabled
[08/20/2023-11:59:45] [I] Profile: Disabled
[08/20/2023-11:59:45] [I] Export timing to JSON file:
[08/20/2023-11:59:45] [I] Export output to JSON file:
[08/20/2023-11:59:45] [I] Export profile to JSON file:
设备信息
[08/20/2023-11:59:46] [I] Device Information
[08/20/2023-11:59:46] [I] Selected Device: NVIDIA GeForce RTX 3060 Laptop GPU
[08/20/2023-11:59:46] [I] Compute Capability: 8.6
[08/20/2023-11:59:46] [I] SMs: 30
[08/20/2023-11:59:46] [I] Device Global Memory: 6143 MiB
[08/20/2023-11:59:46] [I] Shared Memory per SM: 100 KiB
[08/20/2023-11:59:46] [I] Memory Bus Width: 192 bits (ECC disabled)
[08/20/2023-11:59:46] [I] Application Compute Clock Rate: 1.702 GHz
[08/20/2023-11:59:46] [I] Application Memory Clock Rate: 7.001 GHz
[03/28/2024-15:01:18] [I] Device Information
[03/28/2024-15:01:20] [I] Available Devices:
[03/28/2024-15:01:20] [I] Device 0: NVIDIA GeForce RTX 4060 Laptop GPU
[03/28/2024-15:01:20] [I] Selected Device: NVIDIA GeForce RTX 4060 Laptop GPU
[03/28/2024-15:01:20] [I] Selected Device ID: 0
[03/28/2024-15:01:20] [I] Compute Capability: 8.9
[03/28/2024-15:01:20] [I] SMs: 24
[03/28/2024-15:01:20] [I] Device Global Memory: 8187 MiB
[03/28/2024-15:01:20] [I] Shared Memory per SM: 100 KiB
[03/28/2024-15:01:20] [I] Memory Bus Width: 128 bits (ECC disabled)
[03/28/2024-15:01:20] [I] Application Compute Clock Rate: 1.89 GHz
[03/28/2024-15:01:20] [I] Application Memory Clock Rate: 8.001 GHz
补充一个4060的显卡信息可以看到SMs是少于3060的这个与基本厂商的刀法有关。虽然是4060的设备但是计算 性能比不上3060设备。因为里边的核心——SMs是少于3060的30个SM的。“SMs” 代表 “Streaming Multiprocessors”流处理器流处理器是执行 CUDA 核心的基本单元SM越大算力越大。 对于RTX 4060 Laptop官方显示有3072个CUDA核心对应24个SM即一个SM有128个CUDA核心。 对于RTX 3060 Laptop官方显示有3840个CUDA核心对应30个SM也是符合一个SM有128个CUDA核心的。 4060不仅流处理器少带宽也低128 bits VS 192 bits唯一的优点就是8GB VS 6GB了。
- 上一篇: 网站专题二级页怎么做天猫网站建设论文
- 下一篇: 网站专题页做多大尺寸石狮网站设计公司
相关文章
-
网站专题二级页怎么做天猫网站建设论文
网站专题二级页怎么做天猫网站建设论文
- 技术栈
- 2026年04月20日
-
网站专栏建设方案中小型网络组建
网站专栏建设方案中小型网络组建
- 技术栈
- 2026年04月20日
-
网站注册怎么做做外贸出口衣服的网站
网站注册怎么做做外贸出口衣服的网站
- 技术栈
- 2026年04月20日
-
网站专题页做多大尺寸石狮网站设计公司
网站专题页做多大尺寸石狮网站设计公司
- 技术栈
- 2026年04月20日
-
网站专题制作wordpress meta slider
网站专题制作wordpress meta slider
- 技术栈
- 2026年04月20日
-
网站专业设计中国建筑网官网测评
网站专业设计中国建筑网官网测评
- 技术栈
- 2026年04月20日
