Skip to content

Commit 93ce7e5

Browse files
authored
Merge pull request #170 from theabhirath/inception-plus
2 parents 5bd0bf3 + 8169f83 commit 93ce7e5

File tree

13 files changed

+563
-128
lines changed

13 files changed

+563
-128
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "Metalhead"
22
uuid = "dbeba491-748d-5e0e-a39e-b530a07fa0cc"
3-
version = "0.7.2"
3+
version = "0.7.3-DEV"
44

55
[deps]
66
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
| [VGG](https://arxiv.org/abs/1409.1556) | [`VGG`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.VGG.html) | N |
2020
| [ResNet](https://arxiv.org/abs/1512.03385) | [`ResNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ResNet.html) | N |
2121
| [GoogLeNet](https://arxiv.org/abs/1409.4842) | [`GoogLeNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.GoogLeNet.html) | N |
22-
| [Inception-v3](https://arxiv.org/abs/1512.00567) | [`Inception3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.Inception3.html) | N |
22+
| [Inception-v3](https://arxiv.org/abs/1512.00567) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.Inceptionv3.html) | N |
23+
| [Inception-v4](https://arxiv.org/abs/1602.07261) | [`Inceptionv4`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.Inceptionv4.html) | N |
24+
| [InceptionResNet-v2](https://arxiv.org/abs/1602.07261) | [`Inceptionv3`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.InceptionResNetv2.html) | N |
2325
| [SqueezeNet](https://arxiv.org/abs/1602.07360) | [`SqueezeNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.SqueezeNet.html) | N |
2426
| [DenseNet](https://arxiv.org/abs/1608.06993) | [`DenseNet`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.DenseNet.html) | N |
2527
| [ResNeXt](https://arxiv.org/abs/1611.05431) | [`ResNeXt`](https://fluxml.ai/Metalhead.jl/dev/docstrings/Metalhead.ResNeXt.html) | N |

src/Metalhead.jl

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Metalhead
22

33
using Flux
4-
using Flux: outputsize, Zygote
4+
using Flux: Zygote, outputsize
55
using Functors
66
using BSON
77
using Artifacts, LazyArtifacts
@@ -37,22 +37,20 @@ include("vit-based/vit.jl")
3737

3838
include("pretrain.jl")
3939

40-
export AlexNet,
41-
VGG, VGG11, VGG13, VGG16, VGG19,
42-
ResNet, ResNet18, ResNet34, ResNet50, ResNet101, ResNet152,
43-
GoogLeNet, Inception3, SqueezeNet,
40+
export AlexNet, VGG, VGG11, VGG13, VGG16, VGG19,
41+
ResNet, ResNet18, ResNet34, ResNet50, ResNet101, ResNet152, ResNeXt,
4442
DenseNet, DenseNet121, DenseNet161, DenseNet169, DenseNet201,
45-
ResNeXt,
46-
MobileNetv1, MobileNetv2, MobileNetv3,
43+
GoogLeNet, Inception3, Inceptionv3, Inceptionv4, InceptionResNetv2, Xception,
44+
SqueezeNet, MobileNetv1, MobileNetv2, MobileNetv3,
4745
MLPMixer, ResMLP, gMLP,
4846
ViT,
49-
ConvNeXt, ConvMixer
47+
ConvMixer, ConvNeXt
5048

5149
# use Flux._big_show to pretty print large models
52-
for T in (:AlexNet, :VGG, :ResNet, :GoogLeNet, :Inception3, :SqueezeNet, :DenseNet,
53-
:ResNeXt,
54-
:MobileNetv1, :MobileNetv2, :MobileNetv3,
55-
:MLPMixer, :ResMLP, :gMLP, :ViT, :ConvNeXt, :ConvMixer)
50+
for T in (:AlexNet, :VGG, :ResNet, :ResNeXt, :DenseNet,
51+
:GoogLeNet, :Inceptionv3, :Inceptionv4, :InceptionResNetv2, :Xception,
52+
:SqueezeNet, :MobileNetv1, :MobileNetv2, :MobileNetv3,
53+
:MLPMixer, :ResMLP, :gMLP, :ViT, :ConvMixer, :ConvNeXt)
5654
@eval Base.show(io::IO, ::MIME"text/plain", model::$T) = _maybe_big_show(io, model)
5755
end
5856

src/convnets/densenet.jl

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Create a Densenet bottleneck layer
1212
"""
1313
function dense_bottleneck(inplanes, outplanes)
1414
inner_channels = 4 * outplanes
15-
m = Chain(conv_bn((1, 1), inplanes, inner_channels; bias = false, rev = true)...,
16-
conv_bn((3, 3), inner_channels, outplanes; pad = 1, bias = false,
17-
rev = true)...)
18-
19-
return SkipConnection(m, cat_channels)
15+
return SkipConnection(Chain(conv_bn((1, 1), inplanes, inner_channels; bias = false,
16+
rev = true)...,
17+
conv_bn((3, 3), inner_channels, outplanes; pad = 1,
18+
bias = false, rev = true)...),
19+
cat_channels)
2020
end
2121

2222
"""
@@ -72,7 +72,6 @@ function densenet(inplanes, growth_rates; reduction = 0.5, nclasses = 1000)
7272
layers = []
7373
append!(layers, conv_bn((7, 7), 3, inplanes; stride = 2, pad = (3, 3), bias = false))
7474
push!(layers, MaxPool((3, 3); stride = 2, pad = (1, 1)))
75-
7675
outplanes = 0
7776
for (i, rates) in enumerate(growth_rates)
7877
outplanes = inplanes + sum(rates)
@@ -82,7 +81,6 @@ function densenet(inplanes, growth_rates; reduction = 0.5, nclasses = 1000)
8281
inplanes = floor(Int, outplanes * reduction)
8382
end
8483
push!(layers, BatchNorm(outplanes, relu))
85-
8684
return Chain(Chain(layers),
8785
Chain(AdaptiveMeanPool((1, 1)),
8886
MLUtils.flatten,
@@ -131,7 +129,6 @@ function DenseNet(nblocks::NTuple{N, <:Integer};
131129
layers = densenet(nblocks; growth_rate = growth_rate,
132130
reduction = reduction,
133131
nclasses = nclasses)
134-
135132
return DenseNet(layers)
136133
end
137134

@@ -164,13 +161,6 @@ See also [`Metalhead.densenet`](#).
164161
function DenseNet(config::Integer = 121; pretrain = false, nclasses = 1000)
165162
@assert config in keys(densenet_config) "`config` must be one out of $(sort(collect(keys(densenet_config))))."
166163
model = DenseNet(densenet_config[config]; nclasses = nclasses)
167-
168164
pretrain && loadpretrain!(model, string("DenseNet", config))
169165
return model
170166
end
171-
172-
# deprecations
173-
@deprecate DenseNet121(; kw...) DenseNet(121; kw...)
174-
@deprecate DenseNet161(; kw...) DenseNet(161; kw...)
175-
@deprecate DenseNet169(; kw...) DenseNet(169; kw...)
176-
@deprecate DenseNet201(; kw...) DenseNet(201; kw...)

0 commit comments

Comments
 (0)