PyTorch Convolution `in_channels` and `out_channels` meaning?
From the PyTorch documentation for Convolution, I see the function torch.nn.Conv1d requires users to pass the parameters in_channels and out_channels.
I know these refer to &quot;input channels&quot; and &quot;output channels&quot;, but I am not sure what they mean in the context of a convolution. My guess is that in_channels is equivalent to the input features and out_channels is equivalent to the output features, but I am not sure.
Could someone explain what thse arguments refer to?

Given a convolution of:

length m
over N input channels / signals / variables
outputting P channels / features / filters

you would use:
nn.Conv1d(in_channels=N, out_channels=P, kernel_size=m)


This is illustrated for 2d images below in Deep Learning with PyTorch (where the kernels are of size 3x3xN (where N=3 for an RGB image), and there are 5 such kernels for the 5 outputs desired):

