class_docstr: Tests SignalConv against scipy.signal.
class_docstr_tok: ["Tests","SignalConv","against","scipy.signal","."]
docstr: Test 3D valid convolutions with multiple channels/filters.
code: def test_3d_valid_channels(self):
      """Test 3D valid convolutions with multiple channels/filters."""
      batch = 1
      padding = "valid"
      input_support = (7, 5, 4)
      kernel_support = (2, 3, 2)
      corr = False
      strides_down = (1, 1, 1)
      extra_pad_end = False
      channel_separable = False
      activation = None
      use_bias = False
      for channels, filters in zip([1, 2], [2, 1]):
          for strides_up in [(1, 1, 1), (1, 2, 2)]:
              for data_format in self.data_formats:
                  self.run_or_fail(
                      self.run_valid,
                      batch,
                      input_support,
                      channels,
                      filters,
                      kernel_support,
                      corr,
                      strides_down,
                      strides_up,
                      padding,
                      extra_pad_end,
                      channel_separable,
                      data_format,
                      activation,
                      use_bias,
                  )
  
imports: import os
  from absl.testing import parameterized
  import numpy
  import scipy.signal
  import tensorflow
  from tensorflow_compression.python.layers import initializers
  from tensorflow_compression.python.layers import parameters
  from tensorflow_compression.python.layers import signal_conv
label_desc: Use image node_id 19 for calling the ConvolutionsTest obj's underlying member method code with example usage: obj.test_3d_valid_channels() without return types