ai 开发

封兴旺 / 2024-01-20 / 原文

 

开发步骤总览

  1. 选择与训练模型
    • Caffe:由Berkeley Vision and Learning Center 开发,以速度和效率见长,特别适合计算机视觉任务。其模型定义采用配置文件(.prototxt),权重存储在二进制文件(.caffemodel)中。
    • PyTorch:由 Facebook AI Research 开发,以其动态计算图和易读的 Pythonic API 而受到欢迎,非常适合研究和原型开发。模型可以直接保存为脚本或序列化为二进制文件(.pt 或 .pth)。
    • ONNX (Open Neural Network Exchange):是一种开放格式,用于表示深度学习模型,支持多种框架间的模型转换。通过ONNX,用户可以在一个框架(如PyTorch)训练模型,然后转换到另一个框架(如TensorFlow)或其他平台(如SoC)。
    • TensorFlow:由Google Brain团队开发,以其强大的计算图概念和丰富的生态系统而知名,广泛应用于工业级生产环境。模型结构用Python编写,权重数据存储在.pb文件中(或者使用新版的SavedModel格式)。
  2. 模型优化与转换(模型剪枝、量化...)
    • 使用海思提供的工具(MindStudio)
  3. SDK与开发环境准备 (通过API接口和开发文档,加载和执行AI模型)
    • 使用海思提供的文档
  4. 系统集成和AI部署(整合摄像头驱动程序与AI模型推理引擎,实时捕获视频流输入到模型中进行人形识别,并从模型获取输出结果)

 

  1. https://github.com/tensorflow/models/tree/master/research/object_detection  :
    1. 先获得 预训练模型的ckpt文件,然后通过模型配置文件(pipeline.config)以及TensorFlow Object Detection API提供的脚本(**.py)来将ckpt转换为frozen inference graph(.pb)
  2. https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md :
    1. EfficientDet D7 1536x1536: EfficientDet 是基于EfficientNet的一种先进的目标检测框架,它结合了Bi-FPN等技术,可以达到非常高的精度,但计算需求相对较高,D7表示该系列中的最高复杂度版本.