KerasNoduleVGG

class radio.models.KerasNoduleVGG(config=None, *args, **kwargs)[source]

Bases: radio.models.keras.keras_model.KerasModel

KerasNoduleVGG model for 3D scans implemented in keras.

Class extends KerasModel class.

Contains description of three types of blocks: ‘reduction_block_I’, ‘reduction_block_II’ and ‘classification_block’. NoduleVGG architecture is implemented inside _build method using these blocks.

config

dict – config dictionary from dataset pipeline see configuring model section of dataset module https://analysiscenter.github.io/dataset/intro/models.html.

name

str – name of the model.

units

tuple(int, int) or int or None – number of units in final dense layers before tensor with predicitons. default: (512, 256).

num_targets

int – size of tensor with predicitons. default: 1.

dropout_rate

float – probability of dropout. default: 0.35.

Notes

Implementation requires the input tensor having shape=(batch_size, 32, 64, 64, 1).

reduction_block_I(inputs, filters, scope, padding='same')[source]

Reduction block of type I for NoduleVGG architecture.

Applyes 3D-convolution with kernel size (3, 3, 3), (1, 1, 1) strides and ‘relu’ activation, after performs batch noramlization, then again 3D-convolution with kernel size (3, 3, 3), strides (1, 1, 1) and ‘relu’ activation, that batch normalization; After all applyes 3D maxpooling operation with strides (2, 2, 2) and pooling size (2, 2, 2).

Parameters:
  • inputs (keras tensor) – input tensor.
  • filters (int) – number of filters in 3D-convolutional layers.
  • scope (str) – scope name for block, will be used as an argument of tf.variable_scope.
  • padding (str) – padding mode can be ‘same’ or ‘valid’.
Returns:

output tensor.

Return type:

keras tensor

reduction_block_II(inputs, filters, scope, padding='same')[source]

Reduction block of type II for NoduleVGG architecture.

Applyes 3D-convolution with kernel size (3, 3, 3), strides (1, 1, 1) and ‘relu’ activation, after that preform batch noramlization, repeates combo three times; Finally, adds 3D maxpooling layer with strides (2, 2, 2) and pooling size (2, 2, 2).

Parameters:
  • inputs (keras tensor) – input tensor.
  • filters (int) – number of filters in 3D-convolutional layers.
  • scope (str) – scope name for block, will be used as an argument of tf.variable_scope.
  • padding (str) – padding mode can be ‘same’ or ‘valid’.
Returns:

output tensor.

Return type:

keras tensor