3.1.22.2. unit_scaling.functional.conv1d
- unit_scaling.functional.conv1d(input: Tensor, weight: Tensor, bias: Tensor | None = None, stride: int = 1, padding: int = 0, dilation: int = 1, groups: int = 1, constraint: str | None = 'to_output_scale', scale_power: Tuple[float, float, float] = (0.5, 0.5, 0.5)) Tensor [source]
Applies a unit-scaled 1D convolution.
Applies a 1D convolution over an input signal composed of several input planes.
This operator supports TensorFloat32.
See
Conv1d
for details and output shape.Note
In some circumstances when given tensors on a CUDA device and using CuDNN, this operator may select a nondeterministic algorithm to increase performance. If this is undesirable, you can try to make the operation deterministic (potentially at a performance cost) by setting
torch.backends.cudnn.deterministic = True
. See /notes/randomness for more information.Note
This operator supports complex data types i.e.
complex32, complex64, complex128
.- Parameters:
input – input tensor of shape \((\text{minibatch} , \text{in\_channels} , iW)\)
weight – filters of shape \((\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kW)\)
bias – optional bias of shape \((\text{out\_channels})\). Default:
None
stride – the stride of the convolving kernel. Can be a single number or a one-element tuple (sW,). Default: 1
padding –
implicit paddings on both sides of the input. Can be a string {‘valid’, ‘same’}, single number or a one-element tuple (padW,). Default: 0
padding='valid'
is the same as no padding.padding='same'
pads the input so the output has the same shape as the input. However, this mode doesn’t support any stride values other than 1.Warning
For
padding='same'
, if theweight
is even-length anddilation
is odd in any dimension, a fullpad()
operation may be needed internally. Lowering performance.dilation – the spacing between kernel elements. Can be a single number or a one-element tuple (dW,). Default: 1
groups – split input into groups, \(\text{in\_channels}\) should be divisible by the number of groups. Default: 1
constraint (Optional[str]?) – The name of the constraint function to be applied to the outputs & input gradient. In this case, the constraint name must be one of: [None, ‘gmean’, ‘hmean’, ‘amean’, ‘to_output_scale’, ‘to_grad_input_scale’] (see unit_scaling.constraints for details on these constraint functions). Defaults to gmean.
scale_power ((float, float, float)?) – scaling power for each of (output, grad(input), grad(weight|bias))
Examples
>>> inputs = torch.randn(33, 16, 30) >>> filters = torch.randn(20, 16, 5) >>> F.conv1d(inputs, filters)