libtorch落地AI项目的一些总结

总结

1. 为啥C++ 写AI

  1. C++ 是一个非常强大的编程语言,它具有非常强大的计算能力,可以处理非常大的数据集,并且可以非常快速地完成计算。
  2. 很多项目需要嵌入式部署,C++ 是一个非常适合的编程语言。
  3. C++ 可以非常快速地完成计算,并且可以非常快速地完成计算。

2. C++写AI的好处

  1. 计算效率高
  2. AI只是项目的一部分,方便集成测试

3. C++落地AI需要注意什么?

  1. 平台选择:ARM还是x86架构?区别还是很大的
  2. linux环境推荐,毕竟很多嵌入式项目是linux
  3. libtorch的版本与pytorch的版本需要匹配

3.1 torch.jit.trace与torch.jit.script的区别

  1. Tochscript:狭义概念导出图形的表示/格式;广义概念为导出模型的方法;
  2. (Torch)Scriptable:可以用torch.jit.script导出模型
  3. Traceable:可以用torch.jit.trace导出模型
什么时候用torch.jit.trace(结论:首选)
  1. torch.jit.trace一种导出方法;它运行具有某些张量输入的模型,并"跟踪/记录"所有执行到图形中的操作。
  2. 在模型内部的数据类型只有张量,且没有for if while等控制流,选择torch.jit.trace
  3. 支持python的预处理和动态行为;
  4. torch.jit.trace编译function并返回一个可执行文件,该可执行文件将使用即时编译进行优化。
  5. 大项目优先选择torch.jit.trace,特别是是图像检测和分割的算法;
优点
  1. 不会损害代码质量;
  2. 它的主要限制可以通过与torch.jit.script混合来解决
什么时候用torch.jit.script(结论:必要时)
  1. 定义:一种模型导出方法,其实编译python的模型源码,得到可执行的图;
  2. 在模型内部的数据类型只有张量,且没有for if while等控制流,也可以选择torch.jit.script
  3. 不支持python的预处理和动态行为;
  4. 必须做一下类型标注;
  5. torch.jit.script在编译function或 nn.Module 脚本将检查源代码,使用 TorchScript 编译器将其编译为 TorchScript 代码。
相关推荐
清流君12 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Blossom.11819 分钟前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合
biter008821 分钟前
ubuntu(28):ubuntu系统多版本conda和多版本cuda共存
linux·人工智能·ubuntu·conda
电鱼智能的电小鱼41 分钟前
基于 EFISH-SBC-RK3588 的无人机通信云端数据处理模块方案‌
linux·网络·人工智能·嵌入式硬件·无人机·边缘计算
HyperAI超神经1 小时前
12个HPC教程汇总!从入门到实战,覆盖分子模拟/材料计算/生物信息分析等多个领域
图像处理·人工智能·深度学习·生物信息·分子模拟·材料计算·vasp
正在走向自律1 小时前
AI数字人:繁荣背后的伦理困境与法律迷局(8/10)
人工智能·python·opencv·语音识别·ai数字人·ai伦理与法律
qq_436962181 小时前
AI数据分析的利器:解锁BI工具的无限潜力
人工智能·数据挖掘·数据分析·ai数据分析
热水养鲨鱼1 小时前
Java实现HTML转PDF(deepSeekAi->html->pdf)
人工智能·pdf·html
灏瀚星空1 小时前
Python在AI虚拟教学视频开发中的核心技术与前景展望
人工智能·python·音视频