今日AI:YOLOv5多种backbone、模型压缩代码库开源;FastAI 发布 PyTorch 学习免费书...

点击下方卡片,关注 AIZOO 公众号

AI 重磅干货,第一时间送达

今天,分享一个新发布的基于 YOLOv5 的开源库,提供了多种 backbone和压缩工具,以及 FastAI 发布的一本电子书。

1. YOLOv5-Multibackbone-Compression 多 backbone以及压缩库

4ed47d51653d92d762f0acd0e7538f26.png

e1bfa27d42ca4efb70abc77a97e7fca8.png

代码链接:

https://github.com/Gumpest/YOLOv5-Multibackbone-Compression

目前该仓库有 236 star,提供了多种不同的 backbone,包括以下backbone:

  • TPH-YOLOv5:加 Transformer 的 YOLOv5

  • SwinTrans-YOLOv5:SwinTrans 作为 backbone

  • YOLOv5l-GhostNet

  • YOLOv5l-ShuffleNetV2

  • YOLOv5l-MobileNetv3Small

  • YOLOv5l-EfficientNetLite0

  • YOLOv5l-PP-LCNet

各种 backbone 的 YOLOv5 在 Visdrone 数据集的精度如下:

(1 size is 608,2-6 size is 640)

NoModelmAPmAP@50Parameters(M)GFLOPsTrainCost(h)Memory Cost(G)PT FileFPS@CPU
1YOLOv5l23.239.746.19108.1



2YOLOv5l-GhostNet18.433.824.2742.427.444.97PekingUni Cloud
3YOLOv5l-ShuffleNetV216.4831.121.2740.510.982.41PekingUni Cloud
4YOLOv5l-MobileNetv3Small16.5531.220.3838.410.195.30PekingUni Cloud
5YOLOv5l-EfficientNetLite019.123523.0143.913.942.04PekingUni Cloud
6YOLOv5l-PP-LCNet17.6332.821.6441.718.521.66PekingUni Cloud

另外,该仓库还提供了各种减枝和量化、训练和评估工具,大大的利好学生啊。

8963c4e674316c90e12f44ad4267ddc8.png

2. FastAI 发布深度学习电子书

FastAI 是一个深度学习组织,发布了深度深度学习课程和开源代码,还发布了一个基于 PyTorch 的上层库 Fastai。书籍对应代码:https://github.com/fastai/fastbook

书籍下载地址:公众号 AIZOO 后台回复fastai 就可以下载。

书籍封面

e923aa41b33e9184f53e964f1b7ec8d6.png

书籍内容包括深度学习介绍、如何训练、深度学习在 CV和NLP的应用,以及如何部署,内容看着挺丰富的,大家可以自行下载和查看。

c6cce6aadd5d2b26ee806135d2af4000.png

欢迎扫描下方的二维码添加小助手微信,邀请您加入我们的微信交流群。

群里有多位清北复交、BAT、AI独角兽大牛和众多深度学习er在一起愉快的交流技术,有任何问题,都可以咨询大家,欢迎你的加入哦。

f70c49c601a9e2fc6d7fe13284696af7.png

 添加小助手微信,邀您进 AIZOO 技术交流群

听说点个在看的人运气都很好~

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个示例代码,用MobileNetV3替换YoloV5的backbone: ``` import torch import torch.nn as nn import torchvision.models as models from yolov5.models.yolo import Detect class YoloV5MobileNet(nn.Module): def __init__(self, num_classes=80): super(YoloV5MobileNet, self).__init__() self.backbone = models.mobilenet_v3_small(pretrained=True).features[:-1] self.neck = nn.Sequential( nn.Conv2d(960, 576, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(576), nn.ReLU(inplace=True), nn.Conv2d(576, 1280, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(1280), nn.ReLU(inplace=True), nn.Conv2d(1280, 576, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(576), nn.ReLU(inplace=True), nn.Conv2d(576, 1280, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(1280), nn.ReLU(inplace=True), ) self.head = nn.Sequential( nn.Conv2d(1280, 512, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(512), nn.ReLU(inplace=True), nn.Conv2d(512, 1024, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(1024), nn.ReLU(inplace=True), nn.Conv2d(1024, 512, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(512), nn.ReLU(inplace=True), nn.Conv2d(512, 1024, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(1024), nn.ReLU(inplace=True), nn.Conv2d(1024, 512, kernel_size=1, stride=1, padding=0), nn.BatchNorm2d(512), nn.ReLU(inplace=True), nn.Conv2d(512, 1024, kernel_size=3, stride=1, padding=1), nn.BatchNorm2d(1024), nn.ReLU(inplace=True), ) self.detect = Detect(num_classes=num_classes) def forward(self, x): x = self.backbone(x) x = self.neck(x) x = self.head(x) return self.detect(x) model = YoloV5MobileNet() ``` 请注意,这是一个简单的示例,可能需要进一步的调整和修改以适合您的数据集和应用场景。此外,这个代码只适用于YoloV5的backbone使用CSPDarkNet53的情况。如果您使用的是其他backbone,可能需要进行更多的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值