当前位置:   article > 正文

yolov5从英伟达平台移植到华为昇腾开发板上的思路_华为昇腾 yolo

华为昇腾 yolo

作者:朱金灿
来源:clever101的专栏

  最近需要将yolov5代码从英伟达平台移植到华为昇腾开发板上。搜了一些代码和资料,大致明白了二者的差别。

1.二者使用的模型文件不一样

  yolov5官方用的模型文件为pt文件,华为昇腾开发板用的是om模型文件。具体怎么转换参考文末的参考资料1.

2.代码方面的差别

  因为模型文件不一样,因此加载模型文件中生成的模型对象也是不一样的。yolov5官方代码如下:

    # Load model
    device = select_device(device)
    # weights为输入的模型文件
    model = DetectMultiBackend(weights, device=device, dnn=dnn, data=data, fp16=half)
  • 1
  • 2
  • 3
  • 4

  从上面可以知道模型对象是从调用DetectMultiBackend函数返回的。
  华为昇腾开发板的开发示例代码如下:

 # 1.Load model
    print("Loading model %s" % opt.weights)
    model_path = str(opt.weights)
    net = Net(device_id, model_path)
  • 1
  • 2
  • 3
  • 4

  可以看到模型对象是调用Net函数生成的。因此后面要移植的话就得把二者对应起来。
参考资料:
1.Atlas200DK部署YOLOV5
2.YOLOv5 ascend
3.Atlas_ACL_E2E_Demo
4.yolov5的推理输出detect.py部分
5.华为Atlas 200I DK A2开发者套件–基础使用配置

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/842744
推荐阅读
相关标签
  

闽ICP备14008679号