MobileViTv2:移动视觉 Transformer 的高效可分离自注意力机制
近年来,计算机视觉技术的快速发展已经成为了人工智能领域的一个热门话题。随着硬件技术的不断提升和算法的不断优化,目标检测算法也在不断的发展。本文主要介绍基于YOLOv7改进主干ViT系列的全网首发最新苹果续作加强版MobileViTv2结构,增加可分离自注意力机制,从而实现高效涨点提速。
代码实现:
首先需要导入相关的库,如下所示:
import torch
import torch.nn as nn
from torch.hub import load_state_dict_from_url
from typing import List
然后是MobileViTv2模型的主体代码:
class MobileViTv2(nn.Module):
def __init__(
self,
backbone_cfgs: List[Tuple[int, List[nn.Module]]],
neck_cfgs: List[Tuple[int, List[nn.Module]]],
head_cfgs: List[Tuple[int, List[nn.Module]]],
input_channels: int = 3,
num_classes: int = 80