Class MobileNetV2
java.lang.Object
ai.djl.basicmodelzoo.cv.classification.MobileNetV2
MobileNetV2
contains a generic implementation of MobilenetV2 adapted from
https://github.com/weiaicunzai/pytorch-cifar100/blob/master/models/mobilenetv2.py (Original
author weiaicunzai).
see https://arxiv.org/pdf/1801.04381.pdf for more information about MobileNetV2
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
The Builder to construct aMobileNetV2
object. -
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionstatic MobileNetV2.Builder
builder()
Creates a builder to build aMobileNetV2
.static ai.djl.nn.Block
linearBottleNeck
(int inputChannels, int outputChannels, int stride, int t, float batchNormMomentum) Builds aBlock
that represent an inverted residual Unit used in the implementation of the MobileNetV2 Model.static ai.djl.nn.Block
makeStage
(int repeat, int inputChannels, int outputChannels, int stride, int t, float batchNormMomentum) Builds aBlock
that represent multiple repeats of an inverted residual Unit.static ai.djl.nn.Block
mobilenetV2
(MobileNetV2.Builder builder)
-
Field Details
-
FILTERLENGTH
public static final int FILTERLENGTH- See Also:
-
REPEATLENGTH
public static final int REPEATLENGTH- See Also:
-
STRIDELENGTH
public static final int STRIDELENGTH- See Also:
-
MULTILENGTH
public static final int MULTILENGTH- See Also:
-
-
Method Details
-
linearBottleNeck
public static ai.djl.nn.Block linearBottleNeck(int inputChannels, int outputChannels, int stride, int t, float batchNormMomentum) Builds aBlock
that represent an inverted residual Unit used in the implementation of the MobileNetV2 Model.- Parameters:
inputChannels
- number of inputChannels of the blockoutputChannels
- number of outputChannels of the blockstride
- control the stride of a depthWise kernelt
- the multiTime of the first pointWise BlockbatchNormMomentum
- the momentum of batchNormLayer- Returns:
- a
Block
that represent an inverted residual Unit
-
makeStage
public static ai.djl.nn.Block makeStage(int repeat, int inputChannels, int outputChannels, int stride, int t, float batchNormMomentum) Builds aBlock
that represent multiple repeats of an inverted residual Unit.- Parameters:
repeat
- the repeatTimes of an inverted residual BlockinputChannels
- number of inputChannels of the blockoutputChannels
- number of outputChannels of the blockstride
- the stride of an inverted residual Unitt
- the multipleTime of a pointWise KernelbatchNormMomentum
- the momentum of batchNormLayer- Returns:
- a
Block
that represent several repeated inverted residual Units
-
mobilenetV2
- Parameters:
builder
- theMobileNetV2.Builder
with the necessary arguments- Returns:
- a
Block
that represents the required MobileNetV2 model
-
builder
Creates a builder to build aMobileNetV2
.- Returns:
- a new builder
-