前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MobileNetV1/V2/V3简述 | 轻量级网络

MobileNetV1/V2/V3简述 | 轻量级网络

原创
作者头像
VincentLee
修改于 2020-07-08 09:42:38
修改于 2020-07-08 09:42:38
1.5K0
举报

MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with linear bottleneck单元,虽然层数变多了,但是整体网络准确率和速度都有提升,MobileNetV3则结合AutoML技术以及人工微调进行更轻量级的网络构建undefined 

来源:晓飞的算法工程笔记 公众号

MobileNetV1


论文: MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

Introduction

  MobileNet基于深度可分离卷积构建了非常轻量且延迟小的模型,并且可以通过两个超参数来进一步控制模型的大小,该模型能够应用到终端设备中,具有很重要的实践意义。

Depthwise Separable Convolution

  假设标准卷积的输入和输出分别为$D_F\times D_F \times M$的特征图$\mathbb{F}$和$D_F \times D_F\times N$的特征图$\mathbb{G}$(假设特征图大小不变),卷积核大小为$D_K\times D_K\times M\times N$,则输出特征图的计算为:

  计算量为:

  计算量与输入维度$M$、输出维度$N$、卷积核大小$D_K$以及特征图大小$D_F$相关。

  MobileNet通过深度可分离卷积优进行计算量优化,将标准卷积转化为深度卷积和$1\times 1$pointwise卷积,每层后面都会接BN和ReLU。 深度卷积的每个输入维度对应一个卷积核,对于相同的输入,深度卷积的输出特征图计算为:

  $\hat{\mathbb{K}}$是大小为$DK\times D_K\times M$的深度卷积核,$\hat{\mathbb{K}}$的$m{th}$卷积核对应输入$\mathbb{F}$的$m{th}$特征图和输出$\hat{\mathbb{G}}$的$m{th}$特征图,深度卷积的计算量为:

  尽管深度卷积更高效,但没有很好地融合多个输入维度,所以需要额外层来对其输出进行线性组合,这里使用$1\times 1$pointwise卷积来生成新特征图,即深度可分离卷积,计算量为:

  深度可分离卷积和标准卷积的计算量缩放比为:

  MobileNet使用$3\times 3$的深度可分离卷积,所以大概会有8-9倍的计算量减少,准确率仅会有些许降低。

Network Structure and Training

  MobileNet的结构如表1所示,除第一层外其它均是深度可分离卷积,除了最后一层全连接层外每层都接BN和ReLU,总共28层。

  论文提到不能直接通过计算量来代表网络的高效性,还需要看操作的具体实现方法。如表2所示,MobileNet的大部分计算量和参数都在pointwise卷积上,不管在CPU设备还是GPU设备,都已经有很高效的实现方法。至于训练的设置,论文也有较详细的提及,有兴趣的可以去看看原文。

Width Multiplier: Thinner Models

  尽管MobileNet已经很轻量了,但还可以使用宽度缩放因子$\alpha$来进一步轻量化,将每层的输入输出维度变为$\alpha M$和$\alpha N$,缩放后的计算量变为:

  $\alpha \in (0,1]$,宽度缩放因子的计算量缩放比大约为$\alpha^2$,能够让用户根据任务对准确率和速度进行trade off。

Resolution Multiplier: Reduced Representation

  MobileNet还可以通过分辨率缩放因子$\rho$来缩放模型的大小,结合宽度缩放因子$\alpha$,缩放后的计算量为:

  $\rho \in (0, 1]$,分辨率缩放因子的计算量缩放比大约为$\rho^2$。

  论文也对深度可分离卷积、宽度缩放因子以及深度缩放因子的效果进行了对比。

Experiments

  MobileNet的实验做得挺详细的,在多种任务上进行性能对比,这里只列举了部分结果,具体的可以看原文,但比较遗憾的是没有贴推理耗时的对比结果。

  对比MobileNet的全卷积版本和深度可分离卷积版本。

  对比宽度缩放和直接去除最后5层$14\times 14\times 512$深度分离卷积的效果。

  对比不同宽度缩放因子的效果。

  对比不同分辨率缩放的效果。

CONCLUSION

  MobileNet运用深度可分离卷积进行轻量级网络的构建,在准确率没有大幅下降的情况下,能把参数量和计算量降低大约8倍,具有很重要的实践意义。

MobileNetV2


论文: MobileNetV2: Inverted Residuals and Linear Bottlenecks

Introduction

  MobileNetV2提出新的层单元inverted residual with linear bottleneck,该结构类似与残差网络单元,都包含shorcut,区别在于该结构是输入输出维度少,中间通过线性卷积先扩展升维,然后通过深度卷积进行特征提取,最后再映射降维,可以很好地保持网络性能且网络更加轻量。

Linear Bottlenecks

  神经网络的高维特征中的关键信息(manifold of interest)是分散分布的,实际可以用紧凑的低维特征进行表示,因此理论上可以通过降低层输出的维度来降低操作空间的维度。而论文认为,当层中存在非线性激活时,则可能会打破上面的理论,于是去除了低维特征的非线性操作,基于下面两点发现:

  • 根据ReLU的属性,若输出为非零,则相当于对该输入进行了线性变化,可认为部分输入空间进行了线性变化,而网络仅对这些非零输出进行后续处理。由于特征的关键信息一般经过ReLU后输出全是非0,因此可以认为ReLU对关键信息(低维特征)都进行了线性操作。
  • 论文将2维输入通过矩阵$T$线性升维至$d$,再通过ReLU进行非线性激活,最后使用矩阵$T^{-1}$恢复至2维。从可视化结果来看,维度越低,ReLU对输入的信息丢失越多。这表明,假设非线性操作的输入特征能够压缩成较低维特征时,需要输入特征有足够大的复杂度,非线性操作才能保留较完整的信息。

  假设层输出的关键信息可以通过低维特征进行表示,则可以使用线性bootleneck进行提取,结构如图2c所示,在深度卷积后接pointwise卷积进行降维,但在降维后不再使用非线性激活,仅对高维特征进行非线性激活。而图2d是结构c的前一部分,两者合起来构成一个完整的MobileNetV2 bottleneck,先通过pointwise卷积升维,然后深度卷积提取特征,最后再使用pointwise卷积进行降维,其中升维的比例称为expansion ratio。

Inverted residuals

  MobileNetV2的residual block与Resnet的residual block类似,重点是为了更好地回传梯度以及特征重用,区别在于MobileNetV2连接的是bottleneck特征,即维度较小的特征。如前面描述的,论文认为较低维的特征包含了所有的必须信息,而expansion layer仅是为了实现非线性变化的一个手段。

  residual block的操作以及输入输出如表1所示,尽管相对于MobileNetV1多了一个pointwise卷积,但这样的结构允许更少的输入输出维度。从表3的对比可以看出,MobileNetV2的内存使用更少。而expansion ratio的设置可以允许结构有很多种变化,设为0时就是identity mapping,设为大于1则是Resnet的residual block。

Model Architecture

  MobileNetV2 unit包含stride=1和stride=2两种。

  MobileNetV2的整体结构如表2所示,通过堆叠图4d的结构进行构建,首层使用普通的卷积层,另外也可以通过宽度缩放因子和分辨率缩放因子来进行准确率和时延之间的trade off。

Experiments

  论文对比MobileNetV2与其它网络在图像分类上的性能。

  论文对比MobileNetV2与其它网络在目标检测上的性能。

  论文对比MobileNetV2与其它网络在语义分割上的性能。

  另外论文对inverted residual with linear bottleneck的改进进行验证。

Conclusions

  MobileNetV2基于inverted residual with linear bottleneck进行轻量级网络构建,整体的结构都挺创新的,包括Inverted residuals以及expansion layer,linear Bottlenecks的分析也很有启发意义,到现在很多终端算法仍是以MobileNetV2作为主干网络。

MobileNetV3


论文: Searching for MobileNetV3

Introduction

  MobileNetV3基于AutoML构建,再人工微调对搜索结果进行优化,搜索方法使用了platform-aware NAS以及NetAdapt,分别用于全局搜索以及局部搜索,而人工微调则调整了网络前后几层的结构、bottleneck加入SE模块以及提出计算高效的h-swish非线性激活。

Network Search

  MobileNetV3首先使用MnasNet的platform-aware NAS进行每个block的层结构搜索,再将搜索结果按照预设的网络结构搭建起来,有兴趣的可以去看看公众号的讲解。platform-aware NAS主要是以准确率和实际时延的加权$ACC(m)\times LAT(m)/TAR^w$作为优化指标,逼近帕累托最优(准确率和时延分别不能再同时增加)。论文在实践时发现,对于小模型而言,时延的增加会导致精度急剧增大,因此需要增大$w=-0.07$为$w=-0.15$,加大对时延增加的惩罚。

  在完成初步的网络搜索后,论文使用NetAdapt进行逐层地调整 ,作为对MnasNet的搜索方法的补充,NetAdapt的具体步骤如下:

  1. 基于MnasNet搜房方法得到的种子网络作为开始。
  2. 生成新proposal集,每个proposal代表对种子网络的一种修改,必须能带来$\delta=0.01$倍的时延下降。
  3. 对于每个proposal,使用上一step的训练模型进行参数初始化,缺失的参数随机初始化,然后finetune $T=10000$轮得到大致的准确率。
  4. 根据指标选择最好的proposal。
  5. 迭代步骤234直到满足目标时延。

  原始的NetAdapt使用时延作为步骤4的指标,论文修改为准确率和时延的比值$\frac{\Delta Acc}{\mid \Delta latency \mid}$,这样能够达到很好的trade-off,$\Delta latency$依然需要满足步骤2,步骤2的proposal除了原来NetAdapt的修改卷积核操作外,还包含以下两种:

  • 减小任意expansion layer的大小
  • 减小所有相同大小的bottleneck的大小

Redesigning Expensive Layers

  在得到搜索结果后,论文发现通常网络的前后几层开销都相对较多,因此针对这几层进行了特定的修改。

  对最后几层的改造如图5,前置了avg pool,使得后续升至高维的操作能在$1\times 1$特征图上进行,而不是在$7\times 7$特征图上进行,节省了大量的时间。而由于avg pool前置这个操作已经节省了大量的计算量,也就不需要前一个bottleneck的DConv+pointwise conv操作(该操作为了从160维生成320维特征,避免直接从160维到1280维)来减轻计算量了,直接去除,进一步节省计算量,这样的改进大概能带来7毫秒(11%)的速度提升。

  对于前几层,一般的网络都使用32维$3\times 3$的卷积,论文认为这些卷积里面存在冗余,通过实验,将维度降维16维不影响准确率,带来2毫秒的速度提升,非线性激活使用了论文提出的hwish非线性激活,效果与其它函数差别不大。

Nonlinearities

  swish作为ReLU的替代品,能带来显著的准确率提升,swish的定义如下:

  由于swish包含了sigmoid函数,在移动设备上计算没有很好地优化。因此,论文将sigmoid替换成分段线性模拟$\frac{ReLU6(x+3)}{6}$,提出了改进版hwish:

  从图6的可视化结果来看,swish和h-swish的曲线十分接近。非线性操作在网络越深处的耗时会低(特征图大小减小一半),因此,仅在网络的后半段使用h-swish。

Large squeeze-and-excite

  MobileNetV3的bottleneck在V2的基础上加了SE模块,其中SE ratio固定为0.25。论文提到这里的实现与MansNet不太一样,固定为expansion layer的1/4,但我看来好像没什么区别,知道的朋友麻烦告知一下。

MobileNetV3 Definitions

  MobileNetV3分为MobileNetV3-Large和MobileNetV3-Small两个版本。

Experiments

  论文的实验很充分,这里只贴了部分任务的主要实验结果,其它可以查看原文。

  论文对比MobileNetV3与其它网络在图像分类上的性能。

  论文对比MobileNetV3与其它网络在目标检测上的性能。

Conclusion

  MobileNetV3首先使用AutoML方法获取到最优的网络结构,再通过人工的部分修改来达到最终的精度,虽然网络不是直接通过搜索得来的,但是实验的效果还是有的,里面的improvement也值得参考和借鉴。

Conclusion


  MobileNet系列是很重要的轻量级网络家族,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with linear bottleneck单元,虽然层数变多了,但是整体网络准确率和速度都有提升,MobileNetV3则结合AutoML技术以及人工微调进行更轻量级的网络构建

如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
为何PHP使用率 大幅度下降!需求量几乎为零!
用PHP的人越来越少的主要原因包括:市场竞争加剧、新技术的出现、性能和安全问题、以及开发者社区的变化。市场竞争加剧是其中一个突出的因素。随着Python、Node.js等现代编程语言的崛起,它们提供了更好的性能、更简洁的语法和更丰富的框架,逐渐占据了PHP的市场份额。此外,新技术的出现也在不断挑战PHP的地位,特别是在前后端分离的开发模式越来越流行的今天,前端JavaScript框架如React、Angular和Vue的广泛应用,使得后端语言的选择更加多元化。
码农编程进阶笔记
2024/12/20
3310
为何PHP使用率 大幅度下降!需求量几乎为零!
同样是开源模型,为什么deepseek比千问带来这么大震撼?
在人工智能领域,开源模型已经成为推动技术发展和创新的重要力量。近年来,DeepSeek和千问(通义千问)作为两大开源模型,引发了全球范围内的广泛关注。然而,二者在技术、市场、生态以及国际影响等方面的表现却有着显著差异,尤其是DeepSeek所引发的强烈反应,甚至招致美国动用国家力量进行封杀,这背后的原因值得深入探讨。
用户7353950
2025/02/05
3.4K0
同样是开源模型,为什么deepseek比千问带来这么大震撼?
C#在中国:一门被低估的编程语言?
在中国的编程语言生态中,C#似乎总是被笼罩在Java和C++的阴影之下。尽管这门语言拥有出色的性能和优雅的语法,它在中国的流行度却远不如前两者。本文将探讨C#在中国不流行的原因,分析其就业市场,并给出学习C#的建议。
用户9127601
2024/07/10
3630
C#在中国:一门被低估的编程语言?
让.NET技术得到更广泛的认可和应用,构建一个与Apache社区相媲美的强大.NET社区是必由之路
本号已有原创文章290+篇,以软件工程为纲,DevOps为基,洞察研发效能全貌,涵盖从需求管理、应用/游戏开发、软件测试、发布部署到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。欢迎关注,有任何问题可发送私信~
DevOps持续交付
2024/04/12
1320
让.NET技术得到更广泛的认可和应用,构建一个与Apache社区相媲美的强大.NET社区是必由之路
C#的前景如何?
C#(C Sharp)作为一种现代的、多用途的编程语言,具有广泛的应用和稳定的发展前景。以下是几个关于C#前景的重要点:
用户3034655
2024/06/23
5240
C#的前景如何?
为什么Python成了开发AI的主流语言?Java系列、Ruby等编程语言不行吗?
人工智能(AI)作为一项颠覆性的技术,正日益在各个领域展现出巨大的潜力和影响力。在AI开发中选择适合的编程语言至关重要。本文将探讨为什么Python成为开发AI的主流语言,同时分析Java系列和Ruby在这个领域的局限性。
海拥
2023/06/27
4280
为什么Python成了开发AI的主流语言?Java系列、Ruby等编程语言不行吗?
.NET正式支持龙芯LoongArch64架构:信创领域优势明显
本号已有原创文章300+篇,以软件工程为纲,DevOps为基,洞察研发效能全貌。涵盖从需求管理、应用/游戏开发、构建、测试、发布部署到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容。点击关注。
DevOps持续交付
2024/04/25
1.6K0
.NET正式支持龙芯LoongArch64架构:信创领域优势明显
4月编程语言排行榜出炉,你用的语言排第几?
Hi,大家好!TIOBE 2024年04月份的编程语言排行榜已经公布,标题显示:PHP 是否正在失去其魔力?
Linux兵工厂
2024/04/15
4770
4月编程语言排行榜出炉,你用的语言排第几?
IBM在人工智能浪潮中的相对没落
近日,科技巨头IBM突然撤出中国引起多方关注,过千研发员工的权限突然被收回,震撼业界。 IBM,这家成立于20世纪初的科技巨头,在过去的一个世纪里一直是技术创新的代名词。尤其是在人工智能领域,IBM曾凭借其Watson平台成为行业的领导者。然而,在近十年的人工智能浪潮中,IBM似乎逐渐失去了其先发优势,被谷歌、微软、亚马逊等竞争对手超越。本文将探讨IBM在人工智能领域相对没落的原因,从战略选择、市场竞争、商业化挑战等多个维度进行深入分析。 一、市场竞争与技术生态 首先,我们不得不提的是市场竞争的激烈程度。在过去的几年中,随着人工智能技术的迅速发展,各大科技公司纷纷加大了在AI领域的投入。谷歌、微软、亚马逊等不仅拥有庞大的资金支持,还通过开放源代码软件和工具集吸引了大量的开发者社区,形成了强大的技术生态系统。例如,谷歌的TensorFlow已经成为业界最流行的机器学习框架之一,而亚马逊的AWS SageMaker则为用户提供了一站式的服务,使得机器学习变得更加容易。相比之下,IBM虽然也有自己的AI平台Watson,但在生态建设上显得不够广泛和深入。 二、战略调整与资源分配 其次,IBM的战略调整也是一个重要因素。近年来,IBM经历了多次重大变革,从传统的硬件制造商转变为以软件和服务为主导的公司。在这个过程中,IBM需要不断地重新评估和调整其资源分配。特别是在云计算和人工智能领域,IBM选择与红帽公司合作,试图在混合云市场占据一席之地。这种战略转向虽然为IBM带来了新的机遇,但也分散了其在AI领域的专注力,使其无法像竞争对手那样集中精力进行AI技术的研发和商业化。 三、商业化挑战与客户体验 再次,商业化过程中的挑战也不容忽视。将先进的AI技术转化为实用的产品和服务并非易事,这要求企业不仅要具备强大的技术实力,还需要深刻理解市场需求。IBM的Watson平台虽然在技术层面上展现出了巨大潜力,但在实际应用中却遭遇了不少困难。例如,Watson在医疗健康领域的尝试就未能达到预期效果,反映出将AI技术成功落地的复杂性。此外,IBM的产品往往被认为是复杂且昂贵的,这在一定程度上限制了其市场渗透率。 四、成本控制与投资回报 成本控制也是影响IBM在AI领域表现的一个关键因素。开发和维护AI技术的成本非常高昂,而实现商业回报则需要时间。IBM在某些项目上的投资回报率不如预期,这也可能导致了其在AI领域的投入不如其他公司积极。相比之下,谷歌、微软等公司通过提供免费或低成本的工具和服务,吸引了更多的用户,从而建立了更广泛的用户基础,进而获得了更大的市场份额。 五、人才流动与知识传递 最后,人才流动和知识传递也是决定一个公司在AI领域能否成功的重要因素。IBM虽然拥有强大的研究团队,但在人才保留方面可能不如一些新兴的科技公司。这些新兴公司往往能提供更具吸引力的工作环境和发展机会,使得顶尖人才愿意加入。此外,IBM在知识传递方面也存在不足,未能有效地将其研究成果转化为实际应用,这在某种程度上影响了其在AI领域的领先地位。
用户7353950
2024/11/23
1460
IBM在人工智能浪潮中的相对没落
.NET平台在国内的推广困境
本号已有原创文章290+篇,以软件工程为纲,DevOps为基,洞察研发效能全貌,涵盖从需求管理、应用/游戏开发、软件测试、发布部署到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。欢迎关注,有任何问题可发送私信~
DevOps持续交付
2024/04/12
2180
.NET平台在国内的推广困境
速度与稳健:Go与Java的编程语言对决
hi,我是程序员王也,一个资深Java开发工程师,平时十分热衷于技术副业变现和各种搞钱项目的程序员~,如果你也是,可以一起交流交流。
王也518
2024/04/17
1.3K0
速度与稳健:Go与Java的编程语言对决
从C#到Java:一个GIS开发者的视角
在2010年前后,也就是十几年前,C#是GIS开发中一种非常流行的编程语言。当时Web GIS刚刚兴起,C#、ASP.NET Web Forms和ASP.NET MVC被用来构建Web GIS门户和地图服务。我们应用C#开发GIS服务器端组件,如地理编码服务、空间数据库接口和地图服务,这些服务可以在多个客户端应用程序共享。利用C#的强大数据处理能力,可以编写复杂的GIS数据处理和分析脚本,包括空间查询、拓扑分析和地理统计分析。后来我们逐步开始深入应用Skyline,便基于Skyline应用C#进行GIS开发。
Towserliu
2024/07/06
2610
从C#到Java:一个GIS开发者的视角
小明浅析Java语言如今的生存环境
编程语言地位大洗牌,谁才是王?小明觉得Java在语言的世界的地位还是不可撼动了。Java作为一种历史悠久的编程语言,自诞生以来就以其“一次编写,到处运行”的特性,以及强大的跨平台能力和丰富的生态系统,在全球范围内赢得了广泛的应用和认可。本文旨在详细分析Java语言当前的生存环境,包括其历史背景、语言特性、应用场景、社区支持以及面临的挑战等方面,并通过具体的代码案例来加深理解,欢迎大家评论指导。
小明爱吃火锅
2024/06/17
1680
C#与Java
在动态且不断发展的软件开发世界中,Java 和 C# 是两个巨头,每个都有自己独特的优势、理念和生态系统。本文深入比较了 Java 和 C#,探讨了它们的历史背景、语言特性、性能指标、跨平台功能等。
沙漠尽头的狼
2024/03/21
2830
C#与Java
Visual Studio 20周年软件趋势随想
从2002年开始,.net让开发人员能快速构建和部署应用程序,便捷的开发windows和web服务器应用,同时著名的hacker Miguel de Icaza ,Miguel 为了GNOME项目启动了另一存志高远的项目:Mono,一个Microsoft .NET Framework的自由GNU/Linux实现,我是循着Miguel的指引踏上了.net开发之路,一路陪伴Visual Studio 走过15年的软件开发历程,在这Visual Studio 20周年之际,有感而发写下这些感想,期待将来的3年时间
张善友
2018/01/26
1K0
IT圈茶余饭后的“鄙视链” C,C++,Java,Python
在IT领域,除了技术的日新月异,一种特殊的社交现象也在悄然流行,那就是“鄙视链”。这场瞬间的情感大戏,让人仿佛置身于一场刺激的游戏,每个人都觉得自己是鄙视链的最顶端。在这篇博客中,我们将深入挖掘IT圈内C、C++、Java、Python等编程语言之间的鄙视链现象,看看背后的原因和情感纠葛。
人不走空
2024/02/20
5110
IT圈茶余饭后的“鄙视链” C,C++,Java,Python
押注.NET 是件好事
作者 | Bryan Costanich 译者 | 明知山 策划 | 褚杏娟 作为一个在.NET 上构建了不止一个流行平台的人,我经常被问到它的相关性,以及它是不是一个值得投入的生态系统。这个问题在旧金山湾区的技术世界里尤为流行,这里的技术潮流就像四季一样变更交替,但.NET 始终是一个坚定、持续流行的平台。而在我看来,它还是最具整体生产力、最令人愉快和最易访问的平台。 这个世界上确实还有其他很棒的编程语言,比如 Rust;还有其他很棒的 App UX 平台,比如 Flutter。但说到全面的生产
深度学习与Python
2023/03/29
4750
押注.NET 是件好事
Oracle:相信我,Java 仍然是免费的!
撇开科技巨头们间的暗流涌动,开发者们切身使用到的编程工具层面,同样上演着各式风云。
纯洁的微笑
2018/12/14
9220
TIOBE 6月榜单:PHP稳步前行,编程语言生态的微妙变化
随着TIOBE编程语言指数6月榜单的公布,PHP的排名从第16位微升至第15位,这一看似微小的变动却在编程语言的广阔天地中激起了层层涟漪。PHP,这个自1994年诞生以来便深深扎根于Web开发领域的语言,其排名的上升不仅反映其持久的生命力,也预示着在不断变化的技术环境中,PHP依旧保持着其独特的地位和价值。本文将深入探讨PHP此次排名变化背后的因素,通过代码示例展现其魅力,并对未来的发展趋势进行一番展望。
Jimaks
2024/06/21
1790
从 0 到 1,DEEPseek 大模型瞬间 “霸榜” AI 赛道的秘密
大家都知道,科技发展特别快,AI 更是突飞猛进。DeepSeek 大模型,就像一匹黑马,在 AI 领域迅速冒尖。它和我们常用的搜索引擎、聊天机器人都有联系,到底有多大能耐?让我们一起揭开它的神秘面纱。
羑悻的小杀马特.
2025/02/02
3330
从 0 到 1,DEEPseek 大模型瞬间 “霸榜” AI 赛道的秘密
推荐阅读
相关推荐
为何PHP使用率 大幅度下降!需求量几乎为零!
更多 >
LV.5
这个人很懒,什么都没有留下~
目录
  • MobileNetV1
    • Introduction
    • Depthwise Separable Convolution
    • Network Structure and Training
    • Width Multiplier: Thinner Models
    • Resolution Multiplier: Reduced Representation
    • Experiments
    • CONCLUSION
  • MobileNetV2
    • Introduction
    • Linear Bottlenecks
    • Inverted residuals
    • Model Architecture
    • Experiments
    • Conclusions
  • MobileNetV3
    • Introduction
    • Network Search
    • Redesigning Expensive Layers
    • Nonlinearities
    • Large squeeze-and-excite
    • MobileNetV3 Definitions
    • Experiments
    • Conclusion
  • Conclusion
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档