海思开发:mobilefacenet 模型: pytorch -> onnx -> caffe -> nnie

一、前言

最近有空,把之前的项目梳理记录一下,惠已惠人。我的demo代码

二、详情

人脸模型是在 pytorch 下训练的,工程文件用的是这个:MobileFaceNet_Tutorial_Pytorch
训练完成之后,先转为onnx模型并做简化,代码如下:

def export_onnx():
    import onnx
    parser = argparse.ArgumentParser()
    #parser.add_argument('--weights', type=str, default=r'F:\demo\Pytorch_demo\yolov5_fruit\weights\fruit_last.pt', help='weights path')
    parser.add_argument('--img-size', nargs='+', type=int, default=[112, 112], help='image size')
    parser.add_argument('--batch-size', type=int, default=1, help='batch size')
    opt = parser.parse_args()
    print(opt)

    # Parameters
    f = "zeng_mobileface_model\zeng_insightface.onnx"
    sim_onnx_path = "zeng_mobileface_model\zeng_insightface_sim.onnx"
    img = torch.zeros((opt.batch_size, 3, *opt.img_size))  # image size, (1, 3, 320, 192) iDetection

    # Load pytorch model
    #google_utils.attempt_download(opt.weights)
    #model = torch.load(opt.weights, map_location=torch.device('cpu'))['model'].float()

    #model.eval()
    device = "cpu"
    model = MobileFaceNet(512).to(device)  # embeding size is 512 (feature vector)
    model.load_state_dict(
        torch.load('F:\demo\Pytorch_demo\MobileFaceNet_Tutorial_Pytorch\zeng_mobileface_model\Iter_455000_model.ckpt',
                   map_location='cpu')['net_state_dict'])
    print('MobileFaceNet face detection model generated')

    model.eval()

    _ = model(img)  # dry run
    torch.onnx.export(model, img, f, verbose=False, opset_version=11, input_names=['images'],
                      output_names=['output'])  # output_names=['classes', 'boxes']

    # Check onnx model
    model = onnx.load(f)  # load onnx model
    onnx.checker.check_model(model)  # check onnx model
    print(onnx.helper.printable_graph(model.graph)
  • 17
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
这是一个命令行程序,通过运行 `./sample_vio` 命令启动,会列出多个模式选择。这个程序的功能是基于海思芯片的视频输入输出和处理,选择不同的模式可以测试不同的功能。 具体的模式解释如下: 1. all mode route:所有模式的线性路由,包括视频输入在线/离线,视频处理在线/离线,多路复用方式为线性模式。这种模式适用于多种场景。 2. wdr route:宽动态范围(WDR)模式,视频输入在线,视频处理离线,多路复用方式为线性模式。这种模式适用于需要处理宽动态范围视频的场景。 3. fpn calibrate & correct:前景亮点校正(FPN)校正和校正,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要去除前景亮点的场景。 4. dis & 3dnr(VPSS):数字图像稳定(DIS)和三维数字降噪(3DNR)处理,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要进行数字图像稳定和降噪处理的场景。 5. 3dnr(VI) & ldc:三维数字降噪(3DNR)和镜头畸变校正(LDC)处理,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要进行数字降噪和镜头畸变校正处理的场景。 6. low delay:低延迟处理,视频输入在线,视频处理在线,多路复用方式为低延迟模式。这种模式适用于需要低延迟处理的场景,如实时视频通话等。 7. user pic:自定义图像处理,视频输入离线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要处理自定义图像的场景。 8. two sensor:双摄像头模式,视频输入离线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要处理双摄像头视频的场景。 9. switch mode:模式切换测试,从线性模式切换到WDR模式,视频输入在线,视频处理离线,多路复用方式为线性模式或WDR模式。这种模式适用于需要测试模式切换的场景。 10. switch resolution:分辨率切换测试,从FHD分辨率切换到720P分辨率或从4K分辨率切换到FHD分辨率,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要测试分辨率切换的场景。 在程序提示输入时,选择相应的模式即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值