387|2

162

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【嵌入式AI挑战营】03GCC交叉编译环境安装 [复制链接]

交叉编译环境GCC安装和程序编译
一、SDK下载安装
困扰我时间挺长的一个SKD开发环境安装,Buildroot 系统的交叉编译工具链可在 SDK 中获取。然后下载这个工具链内容,尝试按照教程安装,但发现它这个链接下的内容应该不是工具链,之后进行了漫长的工具链查找阶段。但是教程是对的。。
但安装后发现是自己忽略了什么,因为在入门指南和资料下载内有相关的链接。再次按照安装教程进行程序安装。
下载SDK的地址如图所示:
链接已隐藏,如需查看请登录或者注册
链接已隐藏,如需查看请登录或者注册
  1. 交叉编译器安装后测试
以程序 hello.c 为例,编译出对应的可执行文件,文件执行效果是在终端上打印 hello world 。hello.c 代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("hello world\n");
return 0;
}
编译成功。
  1. ONNX转换到RKNN模型
    转换代码convert.py
    import sys
    from rknn.api import RKNN
    DATASET_PATH = '../model/dataset.txt'
    DEFAULT_RKNN_PATH = '../model/facenet.rknn'
    DEFAULT_QUANT = True
    def parse_arg():
    if len(sys.argv) < 3:
    print("Usage: python3 {} onnx_model_path [platform] [dtype(optional)] [output_rknn_path(optional)]".format(sys.argv[0]));
    print(" platform choose from [rk3562, rk3566, rk3568, rk3576, rk3588, rk1808, rv1109, rv1126]")
    print(" dtype choose from [i8] for [rk3562, rk3566, rk3568, rk3576, rk3588]")
    print(" dtype choose from [u8] for [rk1808, rv1109, rv1126]")
    exit(1)
    model_path = sys.argv[1]
    platform = sys.argv[2]
    do_quant = DEFAULT_QUANT
    if len(sys.argv) > 3:
    model_type = sys.argv[3]
    if model_type not in ['i8', 'u8', 'fp']:
    print("ERROR: Invalid model type: {}".format(model_type))
    exit(1)
    elif model_type in ['i8', 'u8']:
    do_quant = True
    else:
    do_quant = False
    if len(sys.argv) > 4:
    output_path = sys.argv[4]
    else:
    output_path = DEFAULT_RKNN_PATH
    return model_path, platform, do_quant, output_path
    if __name__ == '__main__':
    model_path, platform, do_quant, output_path = parse_arg()
    # Create RKNN object
    rknn = RKNN(verbose=False)
    # Pre-process config
    print('--> Config model')
    rknn.config(mean_values=[[104, 117, 123]], std_values=[[1, 1, 1]], target_platform=platform)
    print('done')
    # Load 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=do_quant, dataset=DATASET_PATH)
    if ret != 0:
    print('Build model failed!')
    exit(ret)
    print('done')
    # Export rknn model
    print('--> Export rknn model')
    ret = rknn.export_rknn(output_path)
    if ret != 0:
    print('Export rknn model failed!')
    exit(ret)
    print('done')
    # Release
    rknn.release()
    这个代码针对不同的程序需要进行改动,才可以进行使用。
  2.  

此帖出自ARM技术论坛

最新回复

大佬,rknn是大佬你自己训练出来的吗?能不能教一下我。  详情 回复 发表于 2025-1-7 15:43
点赞 关注
 

回复
举报

7048

帖子

11

TA的资源

版主

沙发
 
大佬,rknn是大佬你自己训练出来的吗?能不能教一下我。
此帖出自ARM技术论坛

点评

目前的不是 我也在摸索训练转onnx还行 在转rknn遇到问题了  详情 回复 发表于 2025-1-7 16:08
 
 
 

回复

162

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
lugl4313820 发表于 2025-1-7 15:43 大佬,rknn是大佬你自己训练出来的吗?能不能教一下我。

目前的不是 我也在摸索训练转onnx还行 在转rknn遇到问题了

此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表