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 代码。
相关推荐
aircrushin4 分钟前
国产大模型工业化转型:豆包2.0如何定义“数字员工”新范式
人工智能
AI浩5 分钟前
EFSI-DETR:用于无人机图像实时小目标检测的高效频域 - 语义集成方法
人工智能·目标检测·无人机
上进小菜猪7 分钟前
基于 YOLOv8 的无人机位置捕捉与识别检测系统 [目标检测完整源码]
人工智能
cyforkk11 分钟前
YAML 配置文件中的常见陷阱:内联字典与块映射混用
人工智能·深度学习·机器学习
Testopia11 分钟前
人脸检测:OpenVINO在计算机视觉中的应用
人工智能·计算机视觉·openvino
heimeiyingwang11 分钟前
企业级知识库构建:从数据清洗到向量检索
大数据·人工智能·机器学习
globaldomain15 分钟前
立海世纪:.com和.net域名哪个更适合你的网站
大数据·前端·人工智能·新媒体运营·国外域名·域名注册
小小工匠19 分钟前
大模型开发 - 手写Manus之Tavily搜索工具:04 让AI Agent接入互联网
人工智能·搜索·tavily
TMT星球19 分钟前
豆包除夕AI互动19亿次,Seedance2.0为春晚提供技术支持
人工智能
爱编程的Zion21 分钟前
小白AI学习笔记---第一章,如何正确使用
人工智能·笔记·学习