Toybrick

RKNN模型输入输出index node

eeyeh

中级会员

积分
202
楼主
发表于 2019-4-10 20:30:36    查看: 8777|回复: 0 | [复制链接]    打印 | 只看该作者
本帖最后由 eeyeh 于 2019-4-10 20:36 编辑

在看linux的demo rknn_ssd.cpp时, 输出部分output有两个   
    const int output_elems1 = NUM_RESULTS * 4;
    const uint32_t output_size1 = output_elems1 * sizeof(float);
    const int output_index1 = 0;    // node name "concat"

    const int output_elems2 = NUM_RESULTS * NUM_CLASSES;
    const uint32_t output_size2 = output_elems2 * sizeof(float);
    const int output_index2 = 1;    // node name "concat_1"

。。。。。。   
        ret = rknn_outputs_get(ctx, 2, outputs, nullptr);
        float* predictions = (float*)outputs[0].buf;
        float* outputClasses = (float*)outputs[1].buf;


似乎是通过index分别获得坐标和类别, 但模型训练的时候原来框架的output不是在一起的吗?
rknn在生成模型时候是如何将其分离成两个并分别赋上不同的index node?
看API文档中没有提到, 也没有找到生成模型的代码?
请问这部分在生成模型时候是怎么做的?有指导吗?


---------------------
好像tensorflow模型本身是可以多节点输出的
之前一直用caffe和darknet 不了解, 不好意思, 版主删了吧~



回复

使用道具 举报

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

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表