def random_uniform(shape, minval=0.0, maxval=1.0, dtype=None, seed=None): rng_state = _make_rng_state(seed) R = edsl.prng(rng_state.tensor, shape) dtype = dtype or floatx() if dtype != 'float32': R = edsl.cast(R, plaidml.DType.from_numpy(dtype)) O = (maxval - minval) * R + minval return _KerasNode('random_uniform', tensor=O)
def dropout(x, level, noise_shape=None, seed=None): I = x.tensor if noise_shape is not None and len(noise_shape) != I.shape.ndims: raise ValueError('noise_shape ndims doesn\'t match input ndims') if noise_shape is None: shape = I.shape.dims else: shape = noise_shape rng_state = _make_rng_state(seed) R = 1.0 - level M = 1.0 / R T = edsl.prng(rng_state.tensor, shape) O = edsl.select(T < R, I * M, 0.0) return _KerasNode('dropout', tensor=O)
def dropout(x, level, noise_shape=None, seed=None): logger.debug('dropout(x: {}, level: {}, noise_shape: {}, seed: {})'.format( x, level, noise_shape, seed)) I = x.tensor if noise_shape is not None and len(noise_shape) != I.shape.ndims: raise ValueError("noise_shape ndims doesn't match input ndims") if noise_shape is None: shape = I.shape.dims else: shape = noise_shape rng_state = _make_rng_state(seed) R = 1.0 - level M = 1.0 / R T = edsl.prng(rng_state.tensor, shape) O = edsl.select(T < R, I * M, 0.0) return _KerasNode('dropout', tensor=O)