亿联TVM部署
1.96 MB
6 页
0 评论
| 语言 | 格式 | 评分 |
|---|---|---|
zh | .pdf | 3 |
| 摘要 | ||
文档阐述了TVM部署的相关内容,包括通过Autotuning实现性能优化,TVM支持的硬件平台如Intel/arm CPU、Nividia/arm GPU及VTA等。文档还详细描述了在Ubuntu上生成.log文件并在Windows上用于部署生成.dll的过程,特别是针对32位应用的支持问题提出了解决方案。同时,文档提到了TVM在网络部署中的优势,包括性能提升和对多种硬件平台的支持。最后,文档中还包含了与多线程处理相关的C++代码示例。 | ||
| AI总结 | ||
以下是对文档内容的中文总结,语言简洁明了,重点突出核心观点和关键信息:
---
### 《亿联TVM部署》总结
1. **TVM的优势**
- **性能优化**:通过自动调优(AutoTuning)可以获得良好的性能提升。
- **多硬件平台支持**:支持多种硬件平台,包括Intel/arm CPU、Nvidia/arm GPU、VTA等。
2. **TVM部署流程**
- **步骤1**:在Ubuntu上通过AutoTVM生成.log文件。
- **步骤2**:将步骤1中的.log文件用于Windows,生成.dll文件以供部署。
- **32位应用注意事项**:
- 不支持32位TensorFlow,需要通过FrozenGene提供的工作-around解决。
- 通过修改`ndk.py`文件,添加选项`["-shared", "-fPIC", "-m32"]`,生成32位兼容的文件。
- 使用目标`llvm –mcpu=i686 –mtriple=i686-linux-gnu`,并设置`TVM_NDK_CC=clang –m32`,运行`tf_blur.py`完成部署。
3. **与OpenVino的对比**
- OpenVino是一个“黑箱”,无法部署包含深度可分离卷积(Depthwise Conv2D)的网络。
- TVM不仅可以部署该网络,还能通过自动调优获得更好的性能。
4. **代码示例**
- 多线程处理函数:
- 使用`TestThreadProc`函数执行推理任务,循环两次推理并记录时间。
- `MultiThreadProcess`函数创建线程并等待线程完成,最后向数据库写入结果。
---
总结内容涵盖了文档的核心信息,突出了TVM的优势、部署流程、与其他工具的对比以及代码示例的关键点。 | ||
P1
P2
P3
P4
P5
P6
下载文档到本地,方便使用
文档评分













