InceptionNetwork

class InceptionNetwork(n_filters=32, n_conv_per_layer=3, kernel_size=40, use_max_pooling=True, max_pool_size=3, strides=1, dilation_rate=1, padding='same', activation='relu', use_bias=False, use_residual=True, use_bottleneck=True, bottleneck_size=32, depth=6, use_custom_filters=False)[source]

Inception Network.

Parameters:
depthint, default = 6,

The number of inception modules used

n_filtersint or list of int32, default = 32

The number of filters used in one inception module, if not a list, the same number of filters is used in all inception modules.

n_conv_per_layerint or list of int, default = 3

The number of convolution layers in each inception module, if not a list, the same number of convolution layers is used in all inception modules.

kernel_sizeint or list of int, default = 40

The head kernel size used for each inception module, if not a list, the same is used in all inception modules.

use_max_poolingbool or list of bool, default = True

Conditioning whether or not to use max pooling layer in inception modules, if not a list,the same is used in all inception modules.

max_pool_sizeint or list of int, default = 3

The size of the max pooling layer, if not a list, the same is used in all inception modules.

stridesint or list of int, default = 1

The strides of kernels in convolution layers for each inception module, if not a list, the same is used in all inception modules.

dilation_rateint or list of int, default = 1

The dilation rate of convolutions in each inception module, if not a list, the same is used in all inception modules.

paddingstr or list of str, default = ‘same’

The type of padding used for convoltuon for each inception module, if not a list, the same is used in all inception modules.

activationstr or list of str, default = ‘relu’

The activation function used in each inception module, if not a list, the same is used in all inception modules.

use_biasbool or list of bool, default = False

Conditioning whether or not convolutions should use bias values in each inception module, if not a list, the same is used in all inception modules.

use_residualbool, default = True

Condition whether or not to use residual connections all over Inception.

use_bottleneckbool, default = True

Condition whether or not to use bottlenecks all over Inception.

bottleneck_sizeint, default = 32

The bottleneck size in case use_bottleneck = True.

use_custom_filtersbool, default = False

Condition on whether or not to use custom filters in the first inception module.

Adapted from the implementation from Fawaz et. al
https://github.com/hfawaz/InceptionTime/blob/master/classifiers/
inception.py
and
https://github.com/MSD-IRIMAS/CF-4-TSC/blob/main/classifiers/H_Inception.py
for the custom filters
Network originally defined in:
@article{IsmailFawaz2019inceptionTime, Title = {
InceptionTime: Finding AlexNet for Time Series Classification}, Author

= {Ismail Fawaz, Hassan and Lucas, Benjamin and Forestier, Germain and Pelletier, Charlotte and Schmidt, Daniel F. and Weber, Jonathan and Webb, Geoffrey I. and Idoumghar, Lhassane and Muller, Pierre-Alain and Petitjean, François}, journal = { ArXiv}, Year = {2019} }

Custom filters defined in:
@inproceedings{ismail-fawaz2022hccf,
author = {Ismail-Fawaz, Ali and Devanne, Maxime and Weber,
Jonathan and Forestier, Germain},
title = {Deep Learning For Time Series Classification
Using New Hand-Crafted Convolution Filters},
booktitle = {2022 IEEE International Conference on
Big Data (IEEE BigData 2022)},
city = {Osaka},
country = {Japan},
pages = {972-981},
url = {doi.org/10.1109/BigData55660.2022.10020496},
year = {2022},
organization = {IEEE}
}

Methods

build_network(input_shape, **kwargs)

Construct a network and return its input and output layers.

hybrid_layer(input_tensor, input_channels[, ...])

Construct the hybrid layer to compute features of cutom filters.

hybrid_layer(input_tensor, input_channels, kernel_sizes=None)[source]

Construct the hybrid layer to compute features of cutom filters.

Parameters:
input_tensortensorflow tensor, usually the input layer of the model.
input_channelsint, the number of input channels in case of multivariate.
kernel_sizeslist of int, default = [2,4,8,16,32,64],
the size of the hand-crafted filters.
Returns:
hybrid_layertensorflow tensor containing the concatenation
of the output features extracted form hand-crafted convolution filters.
build_network(input_shape, **kwargs)[source]

Construct a network and return its input and output layers.

input_shapetuple

The shape of the data fed into the input layer

Returns:
input_layera keras layer
output_layera keras layer