Conv1D
classtf_keras.layers.Conv1D(
filters,
kernel_size,
strides=1,
padding="valid",
data_format="channels_last",
dilation_rate=1,
groups=1,
activation=None,
use_bias=True,
kernel_initializer="glorot_uniform",
bias_initializer="zeros",
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
**kwargs
)
1D convolution layer (e.g. temporal convolution).
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, if activation
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)
Arguments
dilation_rate
value != 1."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 on input[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
2.1.channels_last
(default) or
channels_first
. The ordering of the dimensions in the inputs.
channels_last
corresponds to inputs with shape (batch_size, width,
channels)
while channels_first
corresponds to inputs with shape
(batch_size, channels, width)
. Note that the channels_first
format
is currently not supported by TensorFlow on CPU.dilation_rate
value != 1 is
incompatible with specifying any strides
value != 1.filters / groups
filters. The output is the
concatenation of all the groups
results along the channel axis.
Input channels and filters
must both be divisible by groups
.keras.activations
).kernel
weights matrix
(see keras.initializers
). Defaults to 'glorot_uniform'.keras.initializers
). Defaults to 'zeros'.kernel
weights matrix (see keras.regularizers
).keras.regularizers
).keras.regularizers
).keras.constraints
).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.
Returns
A tensor of rank 3 representing
activation(conv1d(inputs, kernel) + bias)
.
Raises
strides > 1
and dilation_rate > 1
.