本文整理汇总了Python中tensorflow.compat.v2.float32方法的典型用法代码示例。如果您正苦于以下问题:Python v2.float32方法的具体用法?Python v2.float32怎么用?Python v2.float32使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensorflow.compat.v2
的用法示例。
在下文中一共展示了v2.float32方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: compute_logits
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def compute_logits(self, token_ids: tf.Tensor, training: bool) -> tf.Tensor:
"""
Implements a language model, where each output is conditional on the current
input and inputs processed so far.
Args:
token_ids: int32 tensor of shape [B, T], storing integer IDs of tokens.
training: Flag indicating if we are currently training (used to toggle dropout)
Returns:
tf.float32 tensor of shape [B, T, V], storing the distribution over output symbols
for each timestep for each batch element.
"""
# TODO 5# 1) Embed tokens
# TODO 5# 2) Run RNN on embedded tokens
# TODO 5# 3) Project RNN outputs onto the vocabulary to obtain logits.
return rnn_output_logits
示例2: bernoulli
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def bernoulli(key, mean=np.float32(0.5), shape=None):
"""Sample Bernoulli random values with given shape and mean.
Args:
key: the RNG key.
mean: optional, an array_like broadcastable to `shape` for the mean of the
random variables (default 0.5).
shape: optional, a tuple of nonnegative integers representing the shape
(default to `mean`'s shape).
Returns:
A random array with the specified shape and boolean dtype.
"""
mean = tf_np.asarray(mean)
if shape is None:
shape = mean.shape
return uniform(key, shape) < mean
示例3: true_divide
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def true_divide(x1, x2):
def _avoid_float64(x1, x2):
if x1.dtype == x2.dtype and x1.dtype in (tf.int32, tf.int64):
x1 = tf.cast(x1, dtype=tf.float32)
x2 = tf.cast(x2, dtype=tf.float32)
return x1, x2
def f(x1, x2):
if x1.dtype == tf.bool:
assert x2.dtype == tf.bool
float_ = dtypes.default_float_type()
x1 = tf.cast(x1, float_)
x2 = tf.cast(x2, float_)
if not dtypes.is_allow_float64():
# tf.math.truediv in Python3 produces float64 when both inputs are int32
# or int64. We want to avoid that when is_allow_float64() is False.
x1, x2 = _avoid_float64(x1, x2)
return tf.math.truediv(x1, x2)
return _bin_op(f, x1, x2)
示例4: _testBinOp
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def _testBinOp(self, a, b, out, f, types=None):
a = t2a(tf.convert_to_tensor(value=a, dtype=np.int32))
b = t2a(tf.convert_to_tensor(value=b, dtype=np.int32))
if not isinstance(out, arrays.ndarray):
out = t2a(tf.convert_to_tensor(value=out, dtype=np.int32))
if types is None:
types = [[np.int32, np.int32, np.int32],
[np.int64, np.int32, np.int64],
[np.int32, np.int64, np.int64],
[np.float32, np.int32, np.float64],
[np.int32, np.float32, np.float64],
[np.float32, np.float32, np.float32],
[np.float64, np.float32, np.float64],
[np.float32, np.float64, np.float64]]
for a_type, b_type, out_type in types:
o = f(a.astype(a_type), b.astype(b_type))
self.assertIs(o.dtype.type, out_type)
self.assertAllEqual(out.astype(out_type), o)
示例5: __init__
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def __init__(self,
shift,
validate_args=False,
name='shift'):
"""Instantiates the `Shift` bijector which computes `Y = g(X; shift) = X + shift`
where `shift` is a numeric `Tensor`.
Args:
shift: Floating-point `Tensor`.
validate_args: Python `bool` indicating whether arguments should be
checked for correctness.
name: Python `str` name given to ops managed by this object.
"""
with tf.name_scope(name) as name:
dtype = dtype_util.common_dtype([shift], dtype_hint=tf.float32)
self._shift = tensor_util.convert_nonref_to_tensor(shift, dtype=dtype, name='shift')
super(Shift, self).__init__(
forward_min_event_ndims=0,
is_constant_jacobian=True,
dtype=dtype,
validate_args=validate_args,
name=name
)
示例6: _check_config
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def _check_config(self, metric_cls, init_args):
"""Checks if Keras metrics can be saved and restored.
Args:
metric_cls: Keras metric class.
init_args: (dict) Initializer keyword arguments.
"""
init_args.update({
'name': 'my_metric',
'dtype': tf.float32,
})
metric_obj = metric_cls(**init_args)
config = metric_obj.get_config()
self.assertIsNotNone(config)
restored_metric_obj = metric_cls.from_config(config)
for init_name, init_value in six.iteritems(init_args):
self.assertEqual(init_value, getattr(restored_metric_obj,
'_' + init_name))
示例7: _base_expansion_size
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def _base_expansion_size(num, bases):
"""Computes the number of terms in the place value expansion.
Let num = a0 + a1 b + a2 b^2 + ... ak b^k be the place value expansion of
`num` in base b (ak <> 0). This function computes and returns `k+1` for each
base `b` specified in `bases`.
This can be inferred from the base `b` logarithm of `num` as follows:
$$k = Floor(log_b (num)) + 1 = Floor( log(num) / log(b)) + 1$$
Args:
num: Scalar numpy array of dtype either `float32` or `float64`. The number
to compute the base expansion size of.
bases: Numpy array of the same dtype as num. The bases to compute the size
against.
Returns:
Tensor of same dtype and shape as `bases` containing the size of num when
written in that base.
"""
return np.floor(np.log(num) / np.log(bases)) + 1
# First 1000 prime numbers.
示例8: testOutputIsPermutation
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def testOutputIsPermutation(self):
"""Checks that stateless_random_shuffle outputs a permutation."""
for dtype in (tf.int32, tf.int64, tf.float32, tf.float64):
identity_permutation = tf.range(10, dtype=dtype)
random_shuffle_seed_1 = tff_rnd.stateless_random_shuffle(
identity_permutation, seed=tf.constant((1, 42), tf.int64))
random_shuffle_seed_2 = tff_rnd.stateless_random_shuffle(
identity_permutation, seed=tf.constant((2, 42), tf.int64))
# Check that the shuffles are of the correct dtype
for shuffle in (random_shuffle_seed_1, random_shuffle_seed_2):
np.testing.assert_equal(shuffle.dtype, dtype.as_numpy_dtype)
random_shuffle_seed_1 = self.evaluate(random_shuffle_seed_1)
random_shuffle_seed_2 = self.evaluate(random_shuffle_seed_2)
identity_permutation = self.evaluate(identity_permutation)
# Check that the shuffles are different
self.assertTrue(
np.abs(random_shuffle_seed_1 - random_shuffle_seed_2).max())
# Check that the shuffles are indeed permutations
for shuffle in (random_shuffle_seed_1, random_shuffle_seed_2):
self.assertAllEqual(set(shuffle), set(identity_permutation))
示例9: testOutputIsStatelessSession
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def testOutputIsStatelessSession(self):
"""Checks that stateless_random_shuffle is stateless across Sessions."""
random_permutation_next_call = None
for dtype in (tf.int32, tf.int64, tf.float32, tf.float64):
random_permutation = tff_rnd.stateless_random_shuffle(
tf.range(10, dtype=dtype), seed=tf.constant((100, 42), tf.int64))
with tf.compat.v1.Session() as sess:
random_permutation_first_call = sess.run(random_permutation)
if random_permutation_next_call is not None:
# Checks that the values are the same across different dtypes
np.testing.assert_array_equal(random_permutation_first_call,
random_permutation_next_call)
with tf.compat.v1.Session() as sess:
random_permutation_next_call = sess.run(random_permutation)
np.testing.assert_array_equal(random_permutation_first_call,
random_permutation_next_call)
示例10: testMultiDimensionalShape
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def testMultiDimensionalShape(self):
"""Check that stateless_random_shuffle works with multi-dim shapes."""
for dtype in (tf.int32, tf.int64, tf.float32, tf.float64):
input_permutation = tf.constant([[[1], [2], [3]], [[4], [5], [6]]],
dtype=dtype)
random_shuffle = tff_rnd.stateless_random_shuffle(
input_permutation, seed=(1, 42))
random_permutation_first_call = self.evaluate(random_shuffle)
random_permutation_next_call = self.evaluate(random_shuffle)
input_permutation = self.evaluate(input_permutation)
# Check that the dtype is correct
np.testing.assert_equal(random_permutation_first_call.dtype,
dtype.as_numpy_dtype)
# Check that the shuffles are the same
np.testing.assert_array_equal(random_permutation_first_call,
random_permutation_next_call)
# Check that the output shape is correct
np.testing.assert_equal(random_permutation_first_call.shape,
input_permutation.shape)
示例11: test_forward_unconnected_gradient
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def test_forward_unconnected_gradient(self):
t = tf.range(1, 3, dtype=tf.float32) # Shape [2]
zeros = tf.zeros([2], dtype=t.dtype)
func = lambda t: tf.stack([zeros, zeros, zeros], axis=0) # Shape [3, 2]
expected_result = [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0]]
with self.subTest("EagerExecution"):
fwd_grad = self.evaluate(tff.math.fwd_gradient(
func, t, unconnected_gradients=tf.UnconnectedGradients.ZERO))
self.assertEqual(fwd_grad.shape, (3, 2))
np.testing.assert_allclose(fwd_grad, expected_result)
with self.subTest("GraphExecution"):
@tf.function
def grad_computation():
y = func(t)
return tff.math.fwd_gradient(
y, t, unconnected_gradients=tf.UnconnectedGradients.ZERO)
fwd_grad = self.evaluate(grad_computation())
self.assertEqual(fwd_grad.shape, (3, 2))
np.testing.assert_allclose(fwd_grad, expected_result)
示例12: test_multiple_state_vars
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def test_multiple_state_vars(self):
x = tf.constant([3.0, 4.0])
y = tf.constant([5.0, 6.0])
z = tf.constant([7.0, 8.0])
alpha = tf.constant(2.0)
beta = tf.constant(1.0)
with tf.GradientTape(persistent=True) as tape:
tape.watch([alpha, beta])
def body(i, state):
x, y, z = state
k = tf.cast(i + 1, tf.float32)
return [x * alpha - beta, y * k * alpha * beta, z * beta + x]
out = for_loop(body, [x, y, z], [alpha, beta], 3)
with self.subTest("independent_vars"):
grad = tape.gradient(out[1], alpha)
self.assertAllEqual(792, grad)
with self.subTest("dependent_vars"):
grad = tape.gradient(out[2], beta)
self.assertAllEqual(63, grad)
示例13: test_batching
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def test_batching(self):
x = tf.constant([[3.0, 4.0], [30.0, 40.0]])
y = tf.constant([[5.0, 6.0], [50.0, 60.0]])
z = tf.constant([[7.0, 8.0], [70.0, 80.0]])
alpha = tf.constant(2.0)
beta = tf.constant(1.0)
with tf.GradientTape(persistent=True) as tape:
tape.watch([alpha, beta])
def body(i, state):
x, y, z = state
k = tf.cast(i + 1, tf.float32)
return [x * alpha - beta, y * k * alpha * beta, z * beta + x]
out = for_loop(body, [x, y, z], [alpha, beta], 3)
with self.subTest("independent_vars"):
grad = tape.gradient(out[1], alpha)
self.assertAllEqual(8712, grad)
with self.subTest("dependent_vars"):
grad = tape.gradient(out[2], beta)
self.assertAllEqual(783, grad)
示例14: test_douglas_step_2d
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def test_douglas_step_2d(self):
u = np.arange(1, 17, dtype=np.float32).reshape(4, 4)
d = np.arange(11, 27, dtype=np.float32).reshape(4, 4)
dx = np.array([d, -3 * d, 2 * d])
dy = np.array([2 * d, -6 * d, 4 * d])
dxy = np.arange(-8, 8, dtype=np.float32).reshape(4, 4)
bx = np.arange(2, 18, dtype=np.float32).reshape(4, 4)
by = np.arange(5, 21, dtype=np.float32).reshape(4, 4)
theta = 0.3
def equation_params_fn(t):
del t
return ([[_tfconst(dy), _spread_mixed_term(_tfconst(dxy))],
[None, _tfconst(dx)]],
[_tfconst(by), _tfconst(bx)])
scheme = douglas_adi_scheme(theta=theta)
actual = self.evaluate(
scheme(value_grid=tf.constant(u, dtype=tf.float32), t1=0, t2=1,
equation_params_fn=equation_params_fn,
n_dims=2))
expected = self._simplified_douglas_step_2d(u, dx, dy, dxy, bx, by,
0, 1, theta)
self.assertLess(np.max(np.abs(expected - actual)), 0.01)
示例15: test_dynamic_shapes
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import float32 [as 别名]
def test_dynamic_shapes(self):
"""Can build op with dynamic shapes in graph mode."""
if tf.executing_eagerly():
return
minimum = np.array([1.0, 1.0])
scales = np.array([2.0, 3.0])
@tff.math.make_val_and_grad_fn
def quadratic(x):
return tf.reduce_sum(input_tensor=scales * (x - minimum)**2)
# Test with a vector of unknown dimension.
start = tf.compat.v1.placeholder(tf.float32, shape=[None])
op = tff.math.optimizer.conjugate_gradient_minimize(
quadratic, initial_position=start, tolerance=1e-8)
self.assertFalse(op.position.shape.is_fully_defined())
with self.cached_session() as session:
results = session.run(op, feed_dict={start: [0.6, 0.8]})
self.assertTrue(results.converged)
self.assertLessEqual(_norm(results.objective_gradient), 1e-8)
self.assertArrayNear(results.position, minimum, 1e-5)