第九课:EfficientNet学习

前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。来源于哔哩哔哩博主“霹雳吧啦Wz”,博主学习作为笔记记录,欢迎大家一起讨论学习交流。

一、搭建EfficientNet网络

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、代码部分

1.module.py----定义EfficientNet的网络结构

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.train.py----加载数据集并进行训练,训练集计算loss,测试集计算accuracy,保存训练好的网络参数

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。

3.predict.py——得到训练好的网络参数后,用自己找的图像进行分类测试

在这里插入代码片

三、EfficientNet V1

在这里插入图片描述

之前的论文是单独增加图像的分辨率、网络深度、以及网络的宽度探究的影响,EfficientNet是联合讨论输入图像的分辨率、网络深度和宽度的影响。

在这里插入图片描述

a图是原始的基本图像,a-d分别是在a的基础上增加图像的宽度,深度和分辨率。宽度就是增加深度,即卷积核的个数。e是EfficientNet同时增加图像的深度、宽度和分辨率。

在这里插入图片描述

增加深度会获得复杂、丰富的特征但是深度过深可能面临梯度消失,训练困难。增加宽度即卷积核的个数会获得高细粒度的特征但是对于宽度很大而深度很浅的网络很难学到更深层次的特征。增加网络分辨率,可以理解为图像越清晰,得到更高的细粒度特征,但是会增加计算量。

上图也表明同时增加深度、宽度和分辨率会有较好效果。在理论上,相同的FLOPs数目,计算量相同,也会效果更好。

在这里插入图片描述

EfficientNet-B0 也是通过网络搜索技术得到的。

在这里插入图片描述

一共有1-9个stage,stride可以通过分辨率进行得到:比如224x224到112x112,步距为2。分辨率是输入的分辨率。Ci表示输出通道数,Li表示每一个operator重复多少次。MBConv是Moblie Convolutional。

第一个模块步距为2,后面是1.

在这里插入图片描述
在这里插入图片描述

MB Conv和Mobilenet V3采用类似的结构。

第一个卷积层的卷积核的个数是输入特征矩阵channel的n倍。前面的Conv后面的数字就是这个n。

DW卷积输入和输出特征矩阵的通道数保持不变。

在这里插入图片描述

其实和MoblienetV3 SE模块也差不多,FC1的节点是输出矩阵channel的1/4,但是这里的输出矩阵是输入MB Conv模块的输入矩阵的channel,而FC2的节点是和输出矩阵的channel一样,要保证能够相乘,这里的Chanel是DW卷积之后的channel。两个全连接层之后的激活函数也不一样。

在这里插入图片描述

EfficientNetB0-B7注意两个倍率因子,深度倍率因子和宽度倍率因子。

在这里插入图片描述

性能对比:准确率比较高、参数最小、FLOPS最小。输入图像分辨率比较大,占GPU内存。

三、EfficientNet V2

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿康Obliviate

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值