Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yolov3网络中 yolo算子翻译为OP_DROPUT #1206

Open
zhzhqian opened this issue Nov 9, 2021 · 0 comments
Open

yolov3网络中 yolo算子翻译为OP_DROPUT #1206

zhzhqian opened this issue Nov 9, 2021 · 0 comments

Comments

@zhzhqian
Copy link

zhzhqian commented Nov 9, 2021

在Tengine的model zoo中,yolov3模型的yolo算子在tmfile中的操作类型为OP_DROPOUT,

    tools/convert_tool/darknet/darknet2tengine.cpp: void darknet_serializer::register_op_load():
    op_load_map["[convolutional]"] = std::pair<int, op_load_t>(OP_CONV, load_conv);
    op_load_map["[shortcut]"] = std::pair<int, op_load_t>(OP_ELTWISE, load_shortcut);
    op_load_map["[yolo]"] = std::pair<int, op_load_t>(OP_DROPOUT, load_yolo);
    op_load_map["[route]"] = std::pair<int, op_load_t>(OP_CONCAT, load_route);
    op_load_map["[upsample]"] = std::pair<int, op_load_t>(OP_UPSAMPLE, load_upsample);
    op_load_map["[maxpool]"] = std::pair<int, op_load_t>(OP_POOL, load_max_pooling);
    op_load_map["[reorg]"] = std::pair<int, op_load_t>(OP_REORG, load_reorg);
    op_load_map["[region]"] = std::pair<int, op_load_t>(OP_REGION, load_region);
    op_load_map["[dropout]"] = std::pair<int, op_load_t>(OP_DROPOUT, load_dropout);

不太理解为什么这么设计呢?如果我的后端实现了yolo算子,但是不支持dropout操作,我在后端如何区分这是一个yolo操作还是dropout操作呢?还有是我看到tmfile中有如下两个操作

    OP_DETECTION_OUTPUT,
    OP_DETECTION_POSTPROCESS,

该操作与YOLO操作的描述(主要是参数)很像,为什么不将yolo算子翻译为这两个操作呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant