InceptionArch

class ketos.neural_networks.inception.InceptionArch(*args, **kwargs)[source]

Implements an Inception network, building on InceptionBlocks

Args:
n_blocks:int

Number of Inception Blocks

n_classes:int

Number of possible classes

initial_filters:int

Number of filters (i.e.: channels) in the first block

pre_trained_base: instance of InceptionArch

A pre-trained inception model from which the residual blocks will be taken. Use by the the clone_with_new_top method when creating a clone for transfer learning

Methods

call(inputs[, training])

Calls the model on new inputs.

clone_with_new_top([n_classes, freeze_base])

Clone this instance but replace the original classification top with a new (untrained) one

freeze_block(block_ids)

Freeze specific inception blocks

freeze_init_layer()

Freeze the initial convolutional layer

freeze_top()

Freeze the classification block

get_feature_extraction_base()

Retrive the feature extraction base (initial convolutional layer + residual blocks)

unfreeze_block(block_ids)

Unfreeze specific inception blocks

unfreeze_init_layer()

Unfreeze the initial convolutional layer

unfreeze_top()

Unfreeze the classification block

Attributes

activity_regularizer

Optional regularizer function for the output of this layer.

compute_dtype

The dtype of the layer's computations.

distribute_strategy

The tf.distribute.Strategy this model was created under.

dtype

The dtype of the layer weights.

dtype_policy

The dtype policy associated with this layer.

dynamic

Whether the layer is dynamic (eager-only); set in the constructor.

inbound_nodes

Deprecated, do NOT use! Only for compatibility with external Keras.

input

Retrieves the input tensor(s) of a layer.

input_mask

Retrieves the input mask tensor(s) of a layer.

input_shape

Retrieves the input shape(s) of a layer.

input_spec

InputSpec instance(s) describing the input format for this layer.

layers

losses

List of losses added using the add_loss() API.

metrics

Returns the model's metrics added using compile(), add_metric() APIs.

metrics_names

Returns the model's display labels for all outputs.

name

Name of the layer (string), set in the constructor.

name_scope

Returns a tf.name_scope instance for this class.

non_trainable_variables

Sequence of non-trainable variables owned by this module and its submodules.

non_trainable_weights

List of all non-trainable weights tracked by this layer.

outbound_nodes

Deprecated, do NOT use! Only for compatibility with external Keras.

output

Retrieves the output tensor(s) of a layer.

output_mask

Retrieves the output mask tensor(s) of a layer.

output_shape

Retrieves the output shape(s) of a layer.

run_eagerly

Settable attribute indicating whether the model should run eagerly.

state_updates

Deprecated, do NOT use!

stateful

submodules

Sequence of all sub-modules.

supports_masking

Whether this layer supports computing a mask using compute_mask.

trainable

trainable_variables

Sequence of trainable variables owned by this module and its submodules.

trainable_weights

List of all trainable weights tracked by this layer.

updates

variable_dtype

Alias of Layer.dtype, the dtype of the weights.

variables

Returns the list of all layer variables/weights.

weights

Returns the list of all layer variables/weights.

call(inputs, training=None)[source]

Calls the model on new inputs.

In this case call just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).

Args:
inputs: Tensor or list of tensors

A tensor or list of tensors

training: Bool

Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.

Returns:

A tensor if there is a single output, or a list of tensors if there are more than one outputs.

clone_with_new_top(n_classes=None, freeze_base=True)[source]

Clone this instance but replace the original classification top with a new (untrained) one

Args:
n_classes:int

The number of classes the new classification top should output. If None(default), the original number of classes will be used.

freeze_base:bool

If True, the weights of the feature extraction base will be froze (untrainable) in the new model.

Returns:
cloned_model: instance of InceptionArch

The new model with the old feature extraction base and new classification top.

freeze_block(block_ids)[source]

Freeze specific inception blocks

Args:
blocks_ids: list of ints

The block numbers to be freezed (starting from zero)

freeze_init_layer()[source]

Freeze the initial convolutional layer

freeze_top()[source]

Freeze the classification block

get_feature_extraction_base()[source]

Retrive the feature extraction base (initial convolutional layer + residual blocks)

Returns:

list containing the feature extraction layers

unfreeze_block(block_ids)[source]

Unfreeze specific inception blocks

Args:
blocks_ids: list of ints

The block numbers to be freezed (starting from zero)

unfreeze_init_layer()[source]

Unfreeze the initial convolutional layer

unfreeze_top()[source]

Unfreeze the classification block