Skip to content
heliaEDGE
Reference
HELIA

efficientnet

EfficientNetV2 is an improvement to EfficientNet that incorporates additional optimizations to reduce both computation and memory. In particular, the architecture leverages both fused and non-fused MBConv blocks, non-uniform layer scaling, and training-aware NAS.

For more info, refer to the original paper EfficientNetV2: Smaller Models and Faster Training.

Parameters are in helia_edge.models.efficientnet_params.

Functions

Name Description
build EfficientNetV2 model from EfficientNetParams
efficientnetv2_layer EfficientNetV2 layer

The EfficientNetV2 architecture has been modified to allow the following:

  • Enable 1D and 2D variants.
from helia_edge.layers import MBConvParams
from helia_edge.models import EfficientNetParams, ModelSpec, build
params = EfficientNetParams(
input_filters=24,
input_kernel_size=(1, 7),
input_strides=(1, 2),
blocks=[
MBConvParams(filters=32, depth=2, kernel_size=(1, 7), strides=(1, 2), ex_ratio=1, se_ratio=2),
MBConvParams(filters=48, depth=2, kernel_size=(1, 7), strides=(1, 2), ex_ratio=1, se_ratio=2),
MBConvParams(filters=64, depth=2, kernel_size=(1, 7), strides=(1, 2), ex_ratio=1, se_ratio=2),
MBConvParams(filters=72, depth=1, kernel_size=(1, 7), strides=(1, 2), ex_ratio=1, se_ratio=2),
],
output_filters=0,
include_top=True,
num_classes=5,
dropout=0.2,
drop_connect_rate=0.2,
)
model = build(ModelSpec(params=params, input_shape=(1, 800, 1)))

Machine-readable model

function

EfficientNet core

helia_edge/models/efficientnet.py:61

efficientnet_core(blocks: list[MBConvParams], drop_connect_rate: float = 0) -> keras.Layer

EfficientNet core

Parameters of efficientnet_core
NameTypeDefaultDescription
blockslist[MBConvParam]RequiredMBConv params
drop_connect_ratefloat0Drop connect rate. Defaults to 0.
Returns of efficientnet_core
TypeDescription
keras.Layerkeras.Layer: Core
function

Create EfficientNet V2 TF functional model

helia_edge/models/efficientnet.py:100

efficientnetv2_layer(x: keras.KerasTensor, params: EfficientNetParams) -> keras.KerasTensor

Create EfficientNet V2 TF functional model

Parameters of efficientnetv2_layer
NameTypeDefaultDescription
xkeras.KerasTensorRequiredInput tensor
paramsEfficientNetParamsRequiredModel parameters.
Returns of efficientnetv2_layer
TypeDescription
keras.KerasTensorkeras.KerasTensor: Output tensor
function

build

Python

Build a EfficientNetV2 model.

helia_edge/models/efficientnet.py:161

build(
params: EfficientNetParams,
input_shape: tuple[int | None, ...],
*,
batch_size: int | None = None,
name: str | None = None,
) -> keras.Model

Build a EfficientNetV2 model.

Parameters of build
NameTypeDefaultDescription
paramsEfficientNetParamsRequiredModel parameters.
input_shapetuple[int | None, ...]RequiredInput shape without the batch axis; None for a variable axis.
batch_sizeint | NoneNoneStatic batch size; None for a dynamic batch.
namestr | NoneNoneModel name; the family when None.
Returns of build
TypeDescription
keras.Modelkeras.Model: The model, named ``efficientnet`` unless ``name`` is given.