• Depthwise 2D convolution.

    Given a 4D input array and a filter array of shape [filterHeight, filterWidth, inChannels, channelMultiplier] containing inChannels convolutional filters of depth 1, this op applies a different filter to each input channel (expanding from 1 channel to channelMultiplier channels for each), then concatenates the results together. The output has inChannels * channelMultiplier channels.

    See https://www.tensorflow.org/api_docs/python/tf/nn/depthwise_conv2d for more details.

    Type Parameters

    Parameters

    • x: TensorLike | T

      The input tensor, of rank 4 or rank 3, of shape [batch, height, width, inChannels]. If rank 3, batch of 1 is assumed.

    • filter: Tensor4D | TensorLike

      The filter tensor, rank 4, of shape [filterHeight, filterWidth, inChannels, channelMultiplier].

    • strides: number | [number, number]

      The strides of the convolution: [strideHeight, strideWidth]. If strides is a single number, then strideHeight == strideWidth.

    • pad:
          | number
          | "valid"
          | "same"
          | ExplicitPadding

      The type of padding algorithm.

    • OptionaldataFormat: "NHWC" | "NCHW"
    • Optionaldilations: number | [number, number]

      The dilation rates: [dilationHeight, dilationWidth] in which we sample input values across the height and width dimensions in atrous convolution. Defaults to [1, 1]. If rate is a single number, then dilationHeight == dilationWidth. If it is greater than 1, then all values of strides must be 1.

    • OptionaldimRoundingMode: "floor" | "round" | "ceil"

      A string from: 'ceil', 'round', 'floor'. If none is provided, it will default to truncate.

    Returns T