1. TopsInference API Sample

1.1. 概述

本手册概述了Enflame软件栈中包含的TopsInference示例代码,通过各示例代码实现的功能展示TopsInference核心api的用法并支持用户快速上手应用TopsInference。

注:TopsInference示例代码仅供参考,并非限制生产环境下的唯一用法。

1.2. 介绍

TopsInference提供的示例代码及其功能有:

c++示例代码 python示例代码 描述
sampleResNet sampleResNet 展示如何使用基本api完成基准图像分类推理
sampleOnnxParser sampleOnnxParser 展示在基本api的基础上使用fp16混精并对特定层设置fp32类型的模型完成图像分类推理
sampleRunWithBatch sampleRunWithBatch 展示在基本api的基础上使用runWithBatch api并使用H2H或D2D模式完成异步图像分类推理
sampleRunV2Static sampleRunV2Static 展示在基本api的基础上使用runV2 api设置静态形状完成图像分类推理
sampleRunV2Dynamic sampleRunV2Dynamic 展示在基本api的基础上使用runV2 api设置动态形状完成异步图像分类推理
sampleResNetFromMem sampleResNetFromMem 展示在基本api的基础上从内存中读取模型完成图像分类推理
topsexec --- 命令行工具,可以在无需开发应用程序的情况下快速使用TopsInference

1.2.1. sampleResNet

本示例代码用于展示如何使用基础api完成基准图像分类推理,包括模型读取、优化、编译和执行推理。

1.2.1.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleResNet路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.1.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleResNet文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.2. sampleOnnxParser

本示例代码用于展示在基本api的基础上使用fp16混精并对特定层设置fp32类型的模型完成图像分类推理。

1.2.2.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleOnnxParser路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.2.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleOnnxParser文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.3. sampleRunWithBatch

本示例展示在基本api的基础上使用runWithBatch api并使用H2H或D2D模式完成异步图像分类推理。

1.2.3.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleRunWithBatch路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.3.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleRunWithBatch文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.4. sampleRunV2Static

本示例展示在基本api的基础上使用runV2 api使用静态形状完成图像分类推理。

1.2.4.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleRunV2Static路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.4.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleRunV2Static文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.5. sampleRunV2Dynamic

本示例展示在基本api的基础上使用runV2 api设置动态形状完成图像分类推理。

1.2.5.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleRunV2Dynamic路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.5.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleRunV2Dynamic文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.6. sampleResNetFromMem

本示例展示在基本api的基础上从内存中读取模型完成图像分类推理。

1.2.6.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/sampleResNetFromMem路径下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.6.2. python版本

/usr/local/lib/python3.6/dist-packages/TopsInference路径下,可以找到TopsInference_pysample_codes.tar包,解压后在其内部的sampleResNetFromMem文件夹下可以找到该示例代码,路径下的README.md文件详细说明了示例的具体用法。

1.2.7. topsexec

命令行工具,可以在无需开发应用程序的情况下快速使用TopsInference,仅提供c++版本。

1.2.7.1. c++版本

/usr/local/gcu/sample/TopsInference/cpp-samples/topsexec路径下可以找到该示例代码,路径下的README.md文件详细说明了具体用法。