1D convolution. Arguments: x: Tensor or variable. kernel: kernel tensor. strides: stride integer. padding: string, `"same"`, `"causal"` or `"valid"`. data_format: string, one of "channels_last", "channels_first". dilation_rate: integer dilate rate. Returns:
(x,
kernel,
strides=1,
padding='valid',
data_format=None,
dilation_rate=1)
| 4670 | |
| 4671 | @keras_export('keras.backend.conv1d') |
| 4672 | def conv1d(x, |
| 4673 | kernel, |
| 4674 | strides=1, |
| 4675 | padding='valid', |
| 4676 | data_format=None, |
| 4677 | dilation_rate=1): |
| 4678 | """1D convolution. |
| 4679 | |
| 4680 | Arguments: |
| 4681 | x: Tensor or variable. |
| 4682 | kernel: kernel tensor. |
| 4683 | strides: stride integer. |
| 4684 | padding: string, `"same"`, `"causal"` or `"valid"`. |
| 4685 | data_format: string, one of "channels_last", "channels_first". |
| 4686 | dilation_rate: integer dilate rate. |
| 4687 | |
| 4688 | Returns: |
| 4689 | A tensor, result of 1D convolution. |
| 4690 | |
| 4691 | Raises: |
| 4692 | ValueError: if `data_format` is neither `channels_last` or |
| 4693 | `channels_first`. |
| 4694 | """ |
| 4695 | if data_format is None: |
| 4696 | data_format = image_data_format() |
| 4697 | if data_format not in {'channels_first', 'channels_last'}: |
| 4698 | raise ValueError('Unknown data_format: ' + str(data_format)) |
| 4699 | |
| 4700 | kernel_shape = kernel.shape.as_list() |
| 4701 | if padding == 'causal': |
| 4702 | # causal (dilated) convolution: |
| 4703 | left_pad = dilation_rate * (kernel_shape[0] - 1) |
| 4704 | x = temporal_padding(x, (left_pad, 0)) |
| 4705 | padding = 'valid' |
| 4706 | padding = _preprocess_padding(padding) |
| 4707 | |
| 4708 | x, tf_data_format = _preprocess_conv1d_input(x, data_format) |
| 4709 | x = nn.convolution( |
| 4710 | input=x, |
| 4711 | filter=kernel, |
| 4712 | dilation_rate=dilation_rate, |
| 4713 | strides=strides, |
| 4714 | padding=padding, |
| 4715 | data_format=tf_data_format) |
| 4716 | if data_format == 'channels_first' and tf_data_format == 'NWC': |
| 4717 | x = array_ops.transpose(x, (0, 2, 1)) # NWC -> NCW |
| 4718 | return x |
| 4719 | |
| 4720 | |
| 4721 | @keras_export('keras.backend.conv2d') |
nothing calls this directly
no test coverage detected