tfmri.layers.Conv1D
tfmri.layers.Conv1D¶
- class Conv1D(*args, **kwargs)[source]¶
Bases:
keras.layers.convolutional.conv1d.Conv1D
1D convolution layer (e.g. temporal convolution).
Note
This layer can be used as a drop-in replacement for tf.keras.layers.Conv1D. 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 over a single spatial (or temporal) dimension to produce a tensor of outputs. If
use_bias
is True, a bias vector is created and added to the outputs. Finally, ifactivation
is not None, it is applied to the outputs as well.When using this layer as the first layer in a model, provide an
input_shape
argument (tuple of integers or None, e.g.(10, 128)
for sequences of 10 vectors of 128-dimensional vectors, or(None, 128)
for variable-length sequences of 128-dimensional vectors.Examples:
>>> # The inputs are 128-length vectors with 10 timesteps, and the >>> # batch size is 4. >>> input_shape = (4, 10, 128) >>> x = tf.random.normal(input_shape) >>> y = tf.keras.layers.Conv1D( ... 32, 3, activation='relu',input_shape=input_shape[1:])(x) >>> print(y.shape) (4, 8, 32)
>>> # With extended batch shape [4, 7] (e.g. weather data where batch >>> # dimensions correspond to spatial location and the third dimension >>> # corresponds to time.) >>> input_shape = (4, 7, 10, 128) >>> x = tf.random.normal(input_shape) >>> y = tf.keras.layers.Conv1D( ... 32, 3, activation='relu', input_shape=input_shape[2:])(x) >>> print(y.shape) (4, 7, 8, 32)
- 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 a single integer,
specifying the length of the 1D convolution window.
- strides: An integer or tuple/list of a single integer,
specifying the stride length of the convolution. Specifying any stride value != 1 is incompatible with specifying any
dilation_rate
value != 1.- padding: One of
"valid"
,"same"
or"causal"
(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."causal"
results in causal (dilated) convolutions, e.g.output[t]
does not depend oninput[t+1:]
. Useful when modeling temporal data where the model should not violate the temporal order. See [WaveNet: A Generative Model for Raw Audio, section- data_format: A string,
one of
channels_last
(default) orchannels_first
.- dilation_rate: an integer or tuple/list of a single integer, specifying
the dilation rate to use for dilated convolution. Currently, specifying any
dilation_rate
value != 1 is incompatible with specifying anystrides
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 / groups
filters. The output is the concatenation of all thegroups
results along the channel axis. Input channels andfilters
must 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
kernel
weights matrix(see
keras.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
kernel
weights matrix (seekeras.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:
3+D tensor with shape:
batch_shape + (steps, input_dim)
- Output shape:
- 3+D tensor with shape:
batch_shape + (new_steps, filters)
steps
value might have changed due to padding or strides.
- 3+D tensor with shape:
- Returns:
A tensor of rank 3 representing
activation(conv1d(inputs, kernel) + bias)
.- Raises:
ValueError: when both
strides > 1
anddilation_rate > 1
.