当前位置: 首页 > news >正文

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 代码。
http://www.lryc.cn/news/443726.html

相关文章:

  • ffmpeg面向对象——参数配置秘密探索及其设计模式
  • 华为eNSP使用详解
  • 一文入门生成式AI(理解ChatGPT的原理)
  • C# 中Faker
  • 数据权限的设计与实现系列9——前端筛选器组件Everright-filter集成框架开发2
  • 鸿蒙Harmony-Next 徒手撸一个日历控件
  • 直播音频解决方案
  • Git基本用法总结
  • SQLite的入门级项目学习记录(四)
  • Docker工作目录迁移
  • 【多维动态规划】64. 最小路径和(面试真题+面试官调整后的题目)
  • Web后端开发技术:RESTful 架构详解
  • 【Fastapi】参数获取,json和query
  • 【Node.js】初识微服务
  • React项目实战(React后台管理系统、TypeScript+React18)
  • 【专题】2024中国生物医药出海现状与趋势蓝皮书报告合集PDF分享(附原数据表)
  • 【iOS】KVC
  • 【2024年华为杯研究生数学建模竞赛C题】完整论文与代码
  • svn回退到以前历史版本修改并上传
  • fiddler抓包07_抓IOS手机请求
  • Windows系统及Ubuntu系统安装Java
  • uni-data-select 使用 localdata 传入数据出现 不回显 | 下拉显示错误的 解决方法
  • 图解 TCP 四次挥手|深度解析|为什么是四次|为什么要等2MSL
  • DevExpress中文教程:如何将WinForms数据网格连接到ASP. NET Core WebAPI服务?
  • SpringBoot3核心特性-核心原理
  • Linux:RPM软件包管理以及yum软件包仓库
  • pod介绍与配置
  • 【Taro】初识 Taro
  • 【设计模式-备忘录】
  • 【数据结构】排序算法系列——快速排序(附源码+图解)