def init_weight(weights, initializer): """Helper function for initialization of the weight tensor. This function accepts several types of initializer, prepares the appropriate ``~chainer.Initializer`` if necessary, and does the initialization. Args: weights (numpy.ndarray or cupy.ndarray): Weight tensor to be initialized. initializer: The value used to initialize the data. May be ``None`` (in which case :class:`~chainer.initializers.HeNormal` is used as an initializer), a scalar to set all values to, an ``numpy.ndarray`` to be assigned, or a callable that takes :class:`numpy.ndarray` or :class:`cupy.ndarray` and edits its value. """ if initializer is None: initializer = HeNormal(1 / numpy.sqrt(2)) elif numpy.isscalar(initializer): initializer = Constant(initializer) elif isinstance(initializer, numpy.ndarray): initializer = Constant(initializer) assert callable(initializer) initializer(weights)
def _get_initializer(initializer): if initializer is None: return HeNormal(1 / numpy.sqrt(2)) if numpy.isscalar(initializer): return Constant(initializer) if isinstance(initializer, numpy.ndarray): return Constant(initializer) assert callable(initializer) return initializer
def _get_initializer(initializer): if initializer is None: return LeCunNormal() if numpy.isscalar(initializer): return Constant(initializer) if isinstance(initializer, numpy.ndarray): return Constant(initializer) if not callable(initializer): raise TypeError('invalid type of initializer: %s' % type(initializer)) return initializer
def _get_initializer(initializer, scale=1.0): if initializer is None: return HeNormal(scale / numpy.sqrt(2)) if numpy.isscalar(initializer): return Constant(initializer * scale) if isinstance(initializer, numpy.ndarray): return Constant(initializer * scale) assert callable(initializer) if scale == 1.0: return initializer return _ScaledInitializer(initializer, scale)
def _get_initializer(initializer): # type: (tp.Optional[types.InitializerSpec]) -> types.AbstractInitializer # NOQA if initializer is None: return LeCunNormal() if numpy.isscalar(initializer): return Constant(initializer) if isinstance(initializer, numpy.ndarray): return Constant(initializer) if not callable(initializer): raise TypeError('invalid type of initializer: %s' % type(initializer)) return initializer
def __init__(self, sample_rate=16000, window_size_sec=0.02, window_stride_sec=0.01, n_fft=512, n_filters=64, preemph=0.97, dither=1.0e-05): super(NemoMelSpecExtractor, self).__init__() self.log_zero_guard_value = 2**-24 win_length = int(window_size_sec * sample_rate) self.hop_length = int(window_stride_sec * sample_rate) self.n_filters = n_filters from scipy import signal as scipy_signal from librosa import stft as librosa_stft window_arr = scipy_signal.hann(win_length, sym=True) self.stft = lambda x: librosa_stft(x, n_fft=n_fft, hop_length=self.hop_length, win_length=win_length, window=window_arr, center=True) self.dither = dither self.preemph = preemph self.pad_align = 16 from librosa.filters import mel as librosa_mel self.fb_arr = librosa_mel(sample_rate, n_fft, n_mels=n_filters, fmin=0, fmax=(sample_rate / 2)) with self.init_scope(): self.window = initializers.generate_array(initializer=Constant( 0, dtype="float32"), shape=window_arr.shape, xp=self.xp, dtype=np.float32) self.register_persistent("window") self.fb = initializers.generate_array( initializer=Constant(0, dtype="float32"), shape=np.expand_dims(self.fb_arr, axis=0).shape, xp=self.xp, dtype="float32") self.register_persistent("fb")
def _get_initializer( initializer: tp.Optional[types.InitializerSpec] ) -> types.AbstractInitializer: if initializer is None: return LeCunNormal() if (isinstance(initializer, chainer.get_array_types()) or numpy.isscalar(initializer)): return Constant(initializer) if not callable(initializer): raise TypeError('invalid type of initializer: %s' % type(initializer)) return initializer