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.