• openpose_caffe_to_rknn.py


    https://www.cnblogs.com/liuwenhua/p/13141235.html

    openpose_caffe_to_rknn.py

    复制代码
    from rknn.api import RKNN
    import cv2
    import time
    import numpy as np
    
    if __name__ == '__main__':
    
        # Create RKNN object
        rknn = RKNN()
        
        # pre-process config
        print('--> config model')
        # 配置模型输入,用于NPU对数据输入的预处理
        # channel_mean_value='0 0 0 255',那么模型推理时,将会对RGB数据做如下转换
        # (R - 0)/255, (G - 0)/255, (B - 0)/255。推理时,RKNN模型会自动做均值和归一化处理
        # reorder_channel=’0 1 2’用于指定是否调整RBG顺序,设置成0 1 2即按输入的RGB顺序不做调整
        # reorder_channel=’2 1 0’表示交换0和2通道,如果输入是RGB,将会被调整为BGR。如果是BGR将会被
        # 调整为BGR    
        rknn.config(channel_mean_value='0 0 0 255', reorder_channel='2 1 0')
        print('done')
    
        # Load tensorflow model
        print('--> Loading model')
        ret = rknn.load_caffe(model='E:\usb_test\example\yolov3\openpose_keras_18key\pose\coco\pose_deploy_linevec.prototxt', proto='caffe',
                                blobs='E:\usb_test\example\yolov3\openpose_keras_18key\pose\coco\pose_iter_440000.caffemodel')
        if ret != 0:
            print('Load model failed!')
            exit(ret)
        print('done')
    
        # Build model
        print('--> Building model')
    
        ret = rknn.build(do_quantization=True, dataset='./dataset.txt')
        #ret = rknn.build(do_quantization=False)
        if ret != 0:
            print('Build model failed!')
            exit(ret)
        print('done')
        # Export rknn model
        print('--> Export RKNN model')
        ret = rknn.export_rknn('./coco_quantization_368_654.rknn')
        if ret != 0:
            print('Export model failed!')
            exit(ret)
        print('done')
    
        rknn.release()
    复制代码

    需要注意事项:由于rknn的模型是静态的,所以,在模型量化的时候,输入尺寸被固定,根据自己的图片更改caffe模型,如下:

  • 相关阅读:
    【OpenJudge 2.5-1792】这绝壁是一道玄学题!【DFS】
    【BZOJ1034】省队选手不务正业打泡泡堂(我也不知道是啥算法)
    文件操作的常用方法和使用
    数据类型所有方法和使用整理之------字典
    数据类型所有方法和使用整理之------列表
    用类的内置方法实现类型检查
    类的内置方法及描述符
    用python实现MRO算法
    RHEL6.5 DHCP服务器搭建
    Python之禅 吾心笃定
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/13998573.html
Copyright © 2020-2023  润新知