转换模型onnx到rknn

CLIP-GmP-ViT-L-14编码模型

CLIP-GmP-ViT-L-14编码模型

图像识别
CLIP

CLIP-GmP-ViT-L-14编码模型` 是一个图文双塔编码模型,适合做图文匹配、零样本分类和跨模态检索演示。本镜像已经完成 Web 部署,打开页面即可上传图片并测试图文表征能力

为了将yolo模型部署到rk3588上,需要采用以下操作进行模型转换:

from rknn.api import RKNN
import cv2
import numpy as np
from tqdm import tqdm

def export_rknn_inference(img, model_path, rknn_path):
    # Create RKNN object
    rknn = RKNN(verbose=True)

    # pre-process config
    print('--> Config model')
    rknn.config(target_platform='rk3588')
    print('done')

    # Load ONNX model
    print('--> Loading model')
    ret = rknn.load_onnx(model=model_path)
    if ret != 0:
        print('Load model failed!')
        exit(ret)
    print('done')

    # Build model
    print('--> Building model')
    ret = rknn.build(do_quantization=False, rknn_batch_size=1)  # 移除 dataset 参数
    if ret != 0:
        print('Build model failed!')
        exit(ret)
    print('done')

    # Export RKNN model
    print('--> Export rknn model')
    ret = rknn.export_rknn(rknn_path)
    if ret != 0:
        print('Export rknn model failed!')
        exit(ret)
    print('done')

    # Init runtime environment
    print('--> Init runtime environment')
    ret = rknn.init_runtime(target=None, device_id=None, perf_debug=True)
    if ret != 0:
        print('Init runtime environment failed!')
        exit(ret)
    print('done')

    # Inference
    print('--> Running model')
    outputs = rknn.inference(inputs=[img])
    rknn.release()
    print('done')
    return outputs

if __name__ == '__main__':
    print('This is main ....')
    # Set inputs
    img_path = '001.jpg'
    model_input_w = 640
    model_input_h = 480
    model_path = './twoStream.onnx'
    rknn_path = './twoStream.rknn'
    # origimg = cv2.imread(img_path)
    # origimg = cv2.cvtColor(origimg, cv2.COLOR_BGR2RGB)
    # img = cv2.resize(origimg, (model_input_w , model_input_h ))


    # 初始化一个空列表
    imgs = []
    # 读取图像并添加到列表中
    img1 = cv2.imread('00013.jpg')
    img2 = cv2.imread('00014.jpg')
    if img1 is not None and img2 is not None:
        if img1.shape[:2] == img2.shape[:2]:
            imgs.append(img1)
            imgs.append(img2)
            # 沿着第三个轴拼接图像
            result = np.concatenate(imgs, axis=2)
        else:
            print("图像尺寸不一致,无法拼接。")
    else:
        print("图像读取失败,请检查文件路径。")

    # origimg = cv2.cvtColor(imgs, cv2.COLOR_BGR2RGB)
    # img = cv2.resize(imgs, (model_input_w , model_input_h ))

    img = np.expand_dims(imgs, axis=0)  # 添加batch维度
    outputs = export_rknn_inference(img, model_path, rknn_path)
    print("outputs:", outputs)

您可能感兴趣的与本文相关的镜像

CLIP-GmP-ViT-L-14编码模型

CLIP-GmP-ViT-L-14编码模型

图像识别
CLIP

CLIP-GmP-ViT-L-14编码模型` 是一个图文双塔编码模型,适合做图文匹配、零样本分类和跨模态检索演示。本镜像已经完成 Web 部署,打开页面即可上传图片并测试图文表征能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值