def testRandomSeed(self): zero_t = constant_op.constant(0, dtype=dtypes.int64, name='zero') one_t = constant_op.constant(1, dtype=dtypes.int64, name='one') intmax_t = constant_op.constant(2**31 - 1, dtype=dtypes.int64, name='intmax') test_cases = [ # Each test case is a tuple with input to get_seed: # (input_graph_seed, input_op_seed) # and output from get_seed: # (output_graph_seed, output_op_seed) ((None, None), (0, 0)), ((None, 1), (random_seed.DEFAULT_GRAPH_SEED, 1)), ((1, 1), (1, 1)), ((0, 0), (0, 2**31 - 1)), # Avoid nondeterministic (0, 0) output ((2**31 - 1, 0), (0, 2**31 - 1)), # Don't wrap to (0, 0) either ((0, 2**31 - 1), (0, 2**31 - 1)), # Wrapping for the other argument # Once more, with tensor-valued arguments ((None, one_t), (random_seed.DEFAULT_GRAPH_SEED, 1)), ((1, one_t), (1, 1)), ((0, zero_t), (0, 2**31 - 1)), # Avoid nondeterministic (0, 0) output ((2**31 - 1, zero_t), (0, 2**31 - 1)), # Don't wrap to (0, 0) either ((0, intmax_t), (0, 2**31 - 1)), # Wrapping for the other argument ] for tc in test_cases: tinput, toutput = tc[0], tc[1] random_seed.set_random_seed(tinput[0]) g_seed, op_seed = data_random_seed.get_seed(tinput[1]) g_seed = self.evaluate(g_seed) op_seed = self.evaluate(op_seed) msg = 'test_case = {0}, got {1}, want {2}'.format( tinput, (g_seed, op_seed), toutput) self.assertEqual((g_seed, op_seed), toutput, msg=msg) random_seed.set_random_seed(None) if context.in_graph_mode(): random_seed.set_random_seed(1) tinput = (1, None) toutput = (1, ops.get_default_graph()._last_id) # pylint: disable=protected-access random_seed.set_random_seed(tinput[0]) g_seed, op_seed = data_random_seed.get_seed(tinput[1]) g_seed = self.evaluate(g_seed) op_seed = self.evaluate(op_seed) msg = 'test_case = {0}, got {1}, want {2}'.format( 1, (g_seed, op_seed), toutput) self.assertEqual((g_seed, op_seed), toutput, msg=msg) random_seed.set_random_seed(None)
def __init__(self, seed=None): """A `Dataset` of pseudorandom values.""" self._seed, self._seed2 = random_seed.get_seed(seed) variant_tensor = gen_experimental_dataset_ops.experimental_random_dataset( seed=self._seed, seed2=self._seed2, **dataset_ops.flat_structure(self)) super(RandomDatasetV2, self).__init__(variant_tensor)
def testRandomSeed(self): zero_t = constant_op.constant(0, dtype=dtypes.int64, name='zero') one_t = constant_op.constant(1, dtype=dtypes.int64, name='one') intmax_t = constant_op.constant( 2**31 - 1, dtype=dtypes.int64, name='intmax') test_cases = [ # Each test case is a tuple with input to get_seed: # (input_graph_seed, input_op_seed) # and output from get_seed: # (output_graph_seed, output_op_seed) ((None, None), (0, 0)), ((None, 1), (random_seed.DEFAULT_GRAPH_SEED, 1)), ((1, 1), (1, 1)), ((0, 0), (0, 2**31 - 1)), # Avoid nondeterministic (0, 0) output ((2**31 - 1, 0), (0, 2**31 - 1)), # Don't wrap to (0, 0) either ((0, 2**31 - 1), (0, 2**31 - 1)), # Wrapping for the other argument # Once more, with tensor-valued arguments ((None, one_t), (random_seed.DEFAULT_GRAPH_SEED, 1)), ((1, one_t), (1, 1)), ((0, zero_t), (0, 2**31 - 1)), # Avoid nondeterministic (0, 0) output ((2**31 - 1, zero_t), (0, 2**31 - 1)), # Don't wrap to (0, 0) either ((0, intmax_t), (0, 2**31 - 1)), # Wrapping for the other argument ] for tc in test_cases: tinput, toutput = tc[0], tc[1] random_seed.set_random_seed(tinput[0]) g_seed, op_seed = data_random_seed.get_seed(tinput[1]) g_seed = self.evaluate(g_seed) op_seed = self.evaluate(op_seed) msg = 'test_case = {0}, got {1}, want {2}'.format( tinput, (g_seed, op_seed), toutput) self.assertEqual((g_seed, op_seed), toutput, msg=msg) random_seed.set_random_seed(None) if not context.executing_eagerly(): random_seed.set_random_seed(1) tinput = (1, None) toutput = (1, ops.get_default_graph()._last_id) # pylint: disable=protected-access random_seed.set_random_seed(tinput[0]) g_seed, op_seed = data_random_seed.get_seed(tinput[1]) g_seed = self.evaluate(g_seed) op_seed = self.evaluate(op_seed) msg = 'test_case = {0}, got {1}, want {2}'.format(1, (g_seed, op_seed), toutput) self.assertEqual((g_seed, op_seed), toutput, msg=msg) random_seed.set_random_seed(None)
def _checkEqual(self, tinput, toutput): random_seed.set_random_seed(tinput[0]) g_seed, op_seed = data_random_seed.get_seed(tinput[1]) g_seed = self.evaluate(g_seed) op_seed = self.evaluate(op_seed) msg = "test_case = {0}, got {1}, want {2}".format( tinput, (g_seed, op_seed), toutput) self.assertEqual((g_seed, op_seed), toutput, msg=msg)
def __init__(self, seed=None): """A `Dataset` of pseudorandom values.""" self._seed, self._seed2 = random_seed.get_seed(seed) if compat.forward_compatible(2019, 8, 3): variant_tensor = gen_experimental_dataset_ops.random_dataset( seed=self._seed, seed2=self._seed2, **self._flat_structure) else: variant_tensor = gen_experimental_dataset_ops.experimental_random_dataset( seed=self._seed, seed2=self._seed2, **self._flat_structure) super(RandomDatasetV2, self).__init__(variant_tensor)
def __init__(self, input_dataset, buffer_size, count=None, seed=None): super(_ShuffleAndRepeatDataset, self).__init__(input_dataset) self._input_dataset = input_dataset self._buffer_size = ops.convert_to_tensor( buffer_size, dtype=dtypes.int64, name="buffer_size") if count is None: self._count = constant_op.constant(-1, dtype=dtypes.int64, name="count") else: self._count = ops.convert_to_tensor( count, dtype=dtypes.int64, name="count") self._seed, self._seed2 = random_seed.get_seed(seed)
def __init__(self, input_dataset, buffer_size, count=None, seed=None): self._input_dataset = input_dataset self._buffer_size = ops.convert_to_tensor( buffer_size, dtype=dtypes.int64, name="buffer_size") if count is None: self._count = constant_op.constant(-1, dtype=dtypes.int64, name="count") else: self._count = ops.convert_to_tensor( count, dtype=dtypes.int64, name="count") self._seed, self._seed2 = random_seed.get_seed(seed) variant_tensor = gen_dataset_ops.shuffle_and_repeat_dataset( self._input_dataset._variant_tensor, # pylint: disable=protected-access buffer_size=self._buffer_size, count=self._count, seed=self._seed, seed2=self._seed2, **dataset_ops.flat_structure(self)) super(_ShuffleAndRepeatDataset, self).__init__(input_dataset, variant_tensor)
def __init__(self, input_dataset, buffer_size, seed=None, reshuffle_each_iteration=None): """Randomly shuffles the elements of this dataset.""" self._input_dataset = input_dataset self._buffer_size = ops.convert_to_tensor( buffer_size, dtype=int64, name="buffer_size") self._seed, self._seed2 = random_seed.get_seed(seed) if reshuffle_each_iteration is None: reshuffle_each_iteration = True self._reshuffle_each_iteration = reshuffle_each_iteration variant_tensor = gen_dataset_ops.shuffle_dataset( input_dataset._variant_tensor, # pylint: disable=protected-access buffer_size=self._buffer_size, seed=self._seed, seed2=self._seed2, reshuffle_each_iteration=self._reshuffle_each_iteration, **self._flat_structure) super().__init__(input_dataset, variant_tensor)
def __init__(self, seed=None): """A `Dataset` of pseudorandom values.""" super(RandomDataset, self).__init__() self._seed, self._seed2 = random_seed.get_seed(seed)
def __init__(self, seed=None): """A `Dataset` of pseudorandom values.""" super(RandomDatasetV2, self).__init__() self._seed, self._seed2 = random_seed.get_seed(seed)