专栏算法工具链How to deal with conv2d whose kenel size is 11

How to deal with conv2d whose kenel size is 11

luzi2023-08-14
22
1
1.芯片型号:X3派
2.天工开物开发包OpenExplorer版本:horizon_xj3_open_explorer_v2.4.2_20221227
3.问题定位:模型转换<-->板端部署
4.问题具体描述

When deploying aerial tracking algorithms, such as HiFT[1], i find they usually use AlexNet as backbone to pursue high on-board speed.

However, the first layer of AlexNet is a "conv2d" whose kernel size is 11:

So, i cannot convert this network by using current AI-tool-chain.

In addtion, changing the kernel size to 7 is not practical, because:

1. Aerial trackers use AlexNet as backbone, meaning they will load pretrained checkpoint and finetune the backbone. If change kernel size, dict-key errors will appear when loading pretrain;

2. Although i can retrain an AlexNet with kernel size 7 on ImageNet, the performance of backbone and even the aerial tracker cannot be guaranteed. And it will be unfair to compare other trackers with this modified tracker.

I know that accelerating conv2d(kernel_size > 7) is difficult, i wonder if conv2d(kernel_size > 7) can just run on BPU without acceleration.

In this way, maybe making conv2d(kernel_size > 7) processed by AI-tool-chain is feasible.

[1] HiFT: https://github.com/vision4robotics/HiFT

算法工具链
评论1
0/1000
  • 颜值即正义
    Lv.2

    Sorry, limited by X3 hardware, conv2d cannot support larger kernel size.

    1. As described, you can not load the weight of the conv2d whose kenel size is 11 -> 7.
    2. You can use other backbones, such as mobilenetv2, etc.
    2023-08-15
    0
    0