tfmri.layers.Conv3D
tfmri.layers.Conv3D¶
- class Conv3D(*args, **kwargs)[source]¶
Bases:
keras.layers.convolutional.conv3d.Conv3D3D convolution layer (e.g. spatial convolution over volumes).
Note
This layer can be used as a drop-in replacement for tf.keras.layers.Conv3D. However, this one also supports complex-valued convolutions. Simply pass
dtype='complex64'ordtype='complex128'to the layer constructor.This layer creates a convolution kernel that is convolved with the layer input to produce a tensor of outputs. If
use_biasis True, a bias vector is created and added to the outputs. Finally, ifactivationis not None, it is applied to the outputs as well.When using this layer as the first layer in a model, provide the keyword argument
input_shape(tuple of integers or None, does not include the sample axis), e.g.input_shape=(128, 128, 128, 1)for 128x128x128 volumes with a single channel, indata_format="channels_last".Examples:
>>> # The inputs are 28x28x28 volumes with a single channel, and the >>> # batch size is 4 >>> input_shape =(4, 28, 28, 28, 1) >>> x = tf.random.normal(input_shape) >>> y = tf.keras.layers.Conv3D( ... 2, 3, activation='relu', input_shape=input_shape[1:])(x) >>> print(y.shape) (4, 26, 26, 26, 2)
>>> # With extended batch shape [4, 7], e.g. a batch of 4 videos of >>> # 3D frames, with 7 frames per video. >>> input_shape = (4, 7, 28, 28, 28, 1) >>> x = tf.random.normal(input_shape) >>> y = tf.keras.layers.Conv3D( ... 2, 3, activation='relu', input_shape=input_shape[2:])(x) >>> print(y.shape) (4, 7, 26, 26, 26, 2)
- Args:
- filters: Integer, the dimensionality of the output space (i.e. the number
of output filters in the convolution).
- kernel_size: An integer or tuple/list of 3 integers, specifying the depth,
height and width of the 3D convolution window. Can be a single integer to specify the same value for all spatial dimensions.
- strides: An integer or tuple/list of 3 integers, specifying the strides of
the convolution along each spatial dimension. Can be a single integer to specify the same value for all spatial dimensions. Specifying any stride value != 1 is incompatible with specifying any
dilation_ratevalue != 1.- padding: one of
"valid"or"same"(case-insensitive). "valid"means no padding."same"results in padding with zeros evenly to the left/right or up/down of the input such that output has the same height/width dimension as the input.- data_format: A string, one of
channels_last(default) or channels_first. The ordering of the dimensions in the inputs.channels_lastcorresponds to inputs with shapebatch_shape + (spatial_dim1, spatial_dim2, spatial_dim3, channels)whilechannels_firstcorresponds to inputs with shapebatch_shape + (channels, spatial_dim1, spatial_dim2, spatial_dim3). It defaults to theimage_data_formatvalue found in your Keras config file at~/.keras/keras.json. If you never set it, then it will be “channels_last”.- dilation_rate: an integer or tuple/list of 3 integers, specifying the
dilation rate to use for dilated convolution. Can be a single integer to specify the same value for all spatial dimensions. Currently, specifying any
dilation_ratevalue != 1 is incompatible with specifying any stride value != 1.- groups: A positive integer specifying the number of groups in which the
input is split along the channel axis. Each group is convolved separately with
filters / groupsfilters. The output is the concatenation of all thegroupsresults along the channel axis. Input channels andfiltersmust both be divisible bygroups.- activation: Activation function to use. If you don’t specify anything, no
activation is applied (see
keras.activations).
use_bias: Boolean, whether the layer uses a bias vector. kernel_initializer: Initializer for the
kernelweights matrix (seekeras.initializers). Defaults to ‘glorot_uniform’.- bias_initializer: Initializer for the bias vector (see
keras.initializers). Defaults to ‘zeros’.- kernel_regularizer: Regularizer function applied to the
kernelweights matrix (see
keras.regularizers).- bias_regularizer: Regularizer function applied to the bias vector (see
keras.regularizers).- activity_regularizer: Regularizer function applied to the output of the
layer (its “activation”) (see
keras.regularizers).- kernel_constraint: Constraint function applied to the kernel matrix (see
keras.constraints).- bias_constraint: Constraint function applied to the bias vector (see
keras.constraints).
- Input shape:
- Output shape:
- 5+D tensor with shape: ``batch_shape + (filters, new_conv_dim1,
new_conv_dim2, new_conv_dim3)`` if data_format=’channels_first’
- or 5+D tensor with shape: ``batch_shape + (new_conv_dim1, new_conv_dim2,
new_conv_dim3, filters)`` if data_format=’channels_last’.
new_conv_dim1,new_conv_dim2andnew_conv_dim3values might have changed due to padding.
- Returns:
A tensor of rank 5+ representing
activation(conv3d(inputs, kernel) + bias).- Raises:
ValueError: if
paddingis “causal”. ValueError: when bothstrides > 1anddilation_rate > 1.