docstr: oscillator_bank rejects/warns invalid inputs
docstr_tok: ["oscillator_bank","rejects\/warns","invalid","inputs"]
code: def test_oscillator_invalid(self):
      """oscillator_bank rejects/warns invalid inputs"""
      valid_shape = [2, 3, 5]
      sample_rate = 8000
  
      freqs = torch.ones(
          *valid_shape, dtype=self.dtype, device=self.device
      )
      amps = torch.rand(
          *valid_shape, dtype=self.dtype, device=self.device
      )
  
      # mismatching shapes
      with self.assertRaises(ValueError):
          F.oscillator_bank(freqs[0], amps, sample_rate)
  
      # frequencies out of range
      nyquist = sample_rate / 2
      with self.assertWarnsRegex(
          UserWarning, r"above nyquist frequency"
      ):
          F.oscillator_bank(nyquist * freqs, amps, sample_rate)
  
      with self.assertWarnsRegex(
          UserWarning, r"above nyquist frequency"
      ):
          F.oscillator_bank(-nyquist * freqs, amps, sample_rate)
  
imports: import torch
  import torchaudio.prototype.functional
  from parameterized import param, parameterized
  from torchaudio_unittest.common_utils import nested_params, TestBaseMixin
  from .dsp_utils import exp_sigmoid, freq_ir, oscillator_bank, sinc_ir
label_desc: Use image node_id 2 for calling the FunctionalTestImpl obj's underlying member method code with example usage: obj.test_oscillator_invalid() without return types