本文整理汇总了Python中tensorflow.compat.v2.zeros_like方法的典型用法代码示例。如果您正苦于以下问题:Python v2.zeros_like方法的具体用法?Python v2.zeros_like怎么用?Python v2.zeros_like使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensorflow.compat.v2
的用法示例。
在下文中一共展示了v2.zeros_like方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: zeros_like
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def zeros_like(a, dtype=None):
"""Returns an array of zeros with the shape and type of the input array.
Args:
a: array_like. Could be an ndarray, a Tensor or any object that can be
converted to a Tensor using `tf.convert_to_tensor`.
dtype: Optional, defaults to dtype of the input array. The type of the
resulting ndarray. Could be a python type, a NumPy type or a TensorFlow
`DType`.
Returns:
An ndarray.
"""
if isinstance(a, arrays_lib.ndarray):
a = a.data
if dtype is None:
# We need to let utils.result_type decide the dtype, not tf.zeros_like
dtype = utils.result_type(a)
else:
# TF and numpy has different interpretations of Python types such as
# `float`, so we let `utils.result_type` decide.
dtype = utils.result_type(dtype)
dtype = tf.as_dtype(dtype) # Work around b/149877262
return arrays_lib.tensor_to_ndarray(tf.zeros_like(a, dtype))
示例2: _discretize_boundary_conditions
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _discretize_boundary_conditions(dx0, dx1, alpha, beta, gamma):
"""Discretizes boundary conditions."""
# Converts a boundary condition given as alpha V + beta V_n = gamma,
# where V_n is the derivative w.r.t. the normal to the boundary into
# v0 = xi1 v1 + xi2 v2 + eta,
# where v0 is the value on the boundary point of the grid, v1 and v2 - values
# on the next two points on the grid.
# The expressions are exactly the same for both boundaries.
if beta is None:
# Dirichlet condition.
if alpha is None:
raise ValueError(
"Invalid boundary conditions: alpha and beta can't both be None.")
zeros = tf.zeros_like(gamma)
return zeros, zeros, gamma / alpha
denom = beta * dx1 * (2 * dx0 + dx1)
if alpha is not None:
denom += alpha * dx0 * dx1 * (dx0 + dx1)
xi1 = beta * (dx0 + dx1) * (dx0 + dx1) / denom
xi2 = -beta * dx0 * dx0 / denom
eta = gamma * dx0 * dx1 * (dx0 + dx1) / denom
return xi1, xi2, eta
示例3: test_expected_continuation
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_expected_continuation(self):
"""Tests that expected continuation works in V=1 case.
In particular this verifies that the regression done to get the expected
continuation value is performed on those elements which have a positive
exercise value.
"""
for dtype in (np.float32, np.float64):
a = tf.range(start=-2, limit=3, delta=1, dtype=dtype)
design = tf.concat([a, a], axis=0)
design = tf.concat([[tf.ones_like(design), design]], axis=1)
# These values ensure that the expected continuation value is `(1,...,1).`
exercise_now = tf.expand_dims(
tf.concat([tf.ones_like(a), tf.zeros_like(a)], axis=0), -1)
cashflow = tf.expand_dims(
tf.concat([tf.ones_like(a), -tf.ones_like(a)], axis=0), -1)
expected_exercise = lsm.expected_exercise_fn(
design, cashflow, exercise_now)
self.assertAllClose(expected_exercise, tf.ones_like(cashflow))
示例4: _updated_cashflow
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _updated_cashflow(num_times, exercise_index, exercise_value,
expected_continuation, cashflow):
"""Revises the cashflow tensor where options will be exercised earlier."""
do_exercise_bool = exercise_value > expected_continuation
do_exercise = tf.cast(do_exercise_bool, exercise_value.dtype)
# Shape [num_samples, payoff_dim]
scaled_do_exercise = tf.where(do_exercise_bool, exercise_value,
tf.zeros_like(exercise_value))
# This picks out the samples where we now wish to exercise.
# Shape [num_samples, payoff_dim, 1]
new_samp_masked = tf.expand_dims(scaled_do_exercise, axis=2)
# This should be one on the current time step and zero otherwise.
# This is an array with nonzero entries showing newly exercised payoffs.
zeros = tf.zeros_like(cashflow)
mask = tf.equal(tf.range(0, num_times), exercise_index - 1)
new_cash = tf.where(mask, new_samp_masked, zeros)
# Has shape [num_samples, payoff_dim, 1]
old_mask = tf.expand_dims(1 - do_exercise, axis=2)
mask = tf.range(0, num_times) >= exercise_index
old_mask = tf.where(mask, old_mask, zeros)
# Shape [num_samples, payoff_dim, num_times]
old_cash = old_mask * cashflow
return new_cash + old_cash
示例5: test_maybe_update_along_axis
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_maybe_update_along_axis(self, dtype):
"""Tests that the values are updated correctly."""
tensor = tf.ones([5, 4, 3, 2], dtype=dtype)
new_tensor = tf.zeros([5, 4, 1, 2], dtype=dtype)
@tf.function
def maybe_update_along_axis(do_update):
return utils.maybe_update_along_axis(
tensor=tensor, new_tensor=new_tensor, axis=1, ind=2,
do_update=do_update)
updated_tensor = maybe_update_along_axis(True)
with self.subTest(name='Shape'):
self.assertEqual(updated_tensor.shape, tensor.shape)
with self.subTest(name='UpdatedVals'):
self.assertAllEqual(updated_tensor[:, 2, :, :],
tf.zeros_like(updated_tensor[:, 2, :, :]))
with self.subTest(name='NotUpdatedVals'):
self.assertAllEqual(updated_tensor[:, 1, :, :],
tf.ones_like(updated_tensor[:, 2, :, :]))
with self.subTest(name='DoNotUpdateVals'):
not_updated_tensor = maybe_update_along_axis(False)
self.assertAllEqual(not_updated_tensor, tensor)
示例6: _exact_sampling
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _exact_sampling(self, end_times, start_times, num_samples, initial_state,
random_type, seed):
"""Returns a sample of paths from the process."""
non_decreasing = tf.debugging.assert_greater_equal(
end_times, start_times, message='Sampling times must be non-decreasing')
starts_non_negative = tf.debugging.assert_greater_equal(
start_times,
tf.zeros_like(start_times),
message='Sampling times must not be < 0.')
with tf.compat.v1.control_dependencies(
[starts_non_negative, non_decreasing]):
drifts = self._total_drift_fn(start_times, end_times)
covars = self._total_covariance_fn(start_times, end_times)
# path_deltas are of shape [num_samples, size(times), dim].
path_deltas = mvn.multivariate_normal((num_samples,),
mean=drifts,
covariance_matrix=covars,
random_type=random_type,
seed=seed)
paths = tf.cumsum(path_deltas, axis=1)
return paths
# Override
示例7: labels_of_top_ranked_predictions_in_batch
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def labels_of_top_ranked_predictions_in_batch(labels, predictions):
"""Applying tf.metrics.mean to this gives precision at 1.
Args:
labels: minibatch of dense 0/1 labels, shape [batch_size rows, num_classes]
predictions: minibatch of predictions of the same shape
Returns:
one-dimension tensor top_labels, where top_labels[i]=1.0 iff the
top-scoring prediction for batch element i has label 1.0
"""
indices_of_top_preds = tf.cast(tf.argmax(input=predictions, axis=1), tf.int32)
batch_size = tf.reduce_sum(input_tensor=tf.ones_like(indices_of_top_preds))
row_indices = tf.range(batch_size)
thresholded_labels = tf.where(labels > 0.0, tf.ones_like(labels),
tf.zeros_like(labels))
label_indices_to_gather = tf.transpose(
a=tf.stack([row_indices, indices_of_top_preds]))
return tf.gather_nd(thresholded_labels, label_indices_to_gather)
示例8: empty_like
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def empty_like(a, dtype=None):
"""Returns an empty array with the shape and possibly type of the input array.
Args:
a: array_like. Could be an ndarray, a Tensor or any object that can be
converted to a Tensor using `tf.convert_to_tensor`.
dtype: Optional, defaults to dtype of the input array. The type of the
resulting ndarray. Could be a python type, a NumPy type or a TensorFlow
`DType`.
Returns:
An ndarray.
"""
return zeros_like(a, dtype)
示例9: _data_dep_init
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _data_dep_init(self, inputs):
"""Data dependent initialization."""
# Normalize kernel first so that calling the layer calculates
# `tf.dot(v, x)/tf.norm(v)` as in (5) in ([Salimans and Kingma, 2016][1]).
self._compute_weights()
activation = self.layer.activation
self.layer.activation = None
use_bias = self.layer.bias is not None
if use_bias:
bias = self.layer.bias
self.layer.bias = tf.zeros_like(bias)
# Since the bias is initialized as zero, setting the activation to zero and
# calling the initialized layer (with normalized kernel) yields the correct
# computation ((5) in Salimans and Kingma (2016))
x_init = self.layer(inputs)
norm_axes_out = list(range(x_init.shape.rank - 1))
m_init, v_init = tf.nn.moments(x_init, norm_axes_out)
scale_init = 1. / tf.sqrt(v_init + 1e-10)
self.g.assign(self.g * scale_init)
if use_bias:
self.layer.bias = bias
self.layer.bias.assign(-m_init * scale_init)
self.layer.activation = activation
示例10: test_option_prices_neg_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_option_prices_neg_carries(self,
discount_rates,
volatilities,
expiries,
expected_prices):
"""Tests the prices for negative cost_of_carries."""
spots = np.array([80.0, 90.0, 100.0, 110.0, 120.0] * 2)
strikes = np.array([100.0] * 10)
is_call_options = np.array([True] * 5 + [False] * 5)
cost_of_carries = -0.04
computed_prices, converged, failed = adesi_whaley(
volatilities=volatilities,
strikes=strikes,
expiries=expiries,
discount_rates=discount_rates,
cost_of_carries=cost_of_carries,
is_call_options=is_call_options,
spots=spots,
dtype=tf.float64)
expected_prices = np.array(expected_prices)
with self.subTest(name='ExpectedPrices'):
self.assertAllClose(expected_prices, computed_prices,
rtol=5e-3, atol=5e-3)
with self.subTest(name='AllConverged'):
self.assertAllEqual(converged, tf.ones_like(computed_prices))
with self.subTest(name='NonFailed'):
self.assertAllEqual(failed, tf.zeros_like(computed_prices))
示例11: test_option_prices_pos_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_option_prices_pos_carries(self,
discount_rates,
volatilities,
expiries,
expected_prices):
"""Tests the prices for positive cost_of_carries."""
spots = np.array([80.0, 90.0, 100.0, 110.0, 120.0] * 2)
strikes = np.array([100.0] * 10)
is_call_options = [True] * 5 + [False] * 5
cost_of_carries = 0.04
computed_prices, converged, failed = adesi_whaley(
volatilities=volatilities,
strikes=strikes,
expiries=expiries,
discount_rates=discount_rates,
cost_of_carries=cost_of_carries,
spots=spots,
is_call_options=is_call_options,
dtype=tf.float64)
with self.subTest(name='ExpectedPrices'):
self.assertAllClose(expected_prices, computed_prices,
rtol=5e-3, atol=5e-3)
with self.subTest(name='AllConverged'):
self.assertAllEqual(converged, tf.ones_like(computed_prices))
with self.subTest(name='NonFailed'):
self.assertAllEqual(failed, tf.zeros_like(computed_prices))
示例12: test_option_prices_zero_cost_of_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_option_prices_zero_cost_of_carries(self,
discount_rates,
volatilities,
expiries,
expected_prices):
"""Tests the prices when cost_of_carries is zero."""
forwards = np.array([80.0, 90.0, 100.0, 110.0, 120.0] * 2)
strikes = np.array([100.0] * 10)
is_call_options = [True] * 5 + [False] * 5
cost_of_carries = 0.
computed_prices, converged, failed = adesi_whaley(
volatilities=volatilities,
strikes=strikes,
expiries=expiries,
discount_rates=discount_rates,
cost_of_carries=cost_of_carries,
forwards=forwards,
is_call_options=is_call_options,
dtype=tf.float64)
with self.subTest(name='ExpectedPrices'):
self.assertAllClose(expected_prices, computed_prices,
rtol=5e-3, atol=5e-3)
with self.subTest(name='AllConverged'):
self.assertAllEqual(converged, tf.ones_like(computed_prices))
with self.subTest(name='NonFailed'):
self.assertAllEqual(failed, tf.zeros_like(computed_prices))
示例13: test_option_prices_no_cost_of_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def test_option_prices_no_cost_of_carries(self,
dtype,
discount_rates,
volatilities,
expiries,
expected_prices):
"""Tests the prices when no cost_of_carries is supplied."""
spots = np.array([80.0, 90.0, 100.0, 110.0, 120.0])
strikes = np.array([100.0, 100.0, 100.0, 100.0, 100.0])
is_call_options = False
computed_prices, converged, failed = adesi_whaley(
volatilities=volatilities,
strikes=strikes,
expiries=expiries,
discount_rates=discount_rates,
spots=spots,
is_call_options=is_call_options,
tolerance=1e-5, # float32 does not converge to tolerance 1e-8
dtype=dtype)
with self.subTest(name='ExpectedPrices'):
self.assertAllClose(expected_prices, computed_prices,
rtol=5e-3, atol=5e-3)
with self.subTest(name='AllConverged'):
self.assertAllEqual(converged, tf.ones_like(computed_prices))
with self.subTest(name='NonFailed'):
self.assertAllEqual(failed, tf.zeros_like(computed_prices))
示例14: _reference_pde_solution
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _reference_pde_solution(xs, t, num_terms=5):
"""Solution for the reference diffusion equation."""
u = tf.zeros_like(xs)
for k in range(num_terms):
n = 2 * k + 1
term = tf.math.sin(np.pi * n * xs) * tf.math.exp(-n**2 * np.pi**2 * t)
term *= 4 / (np.pi**2 * n**2)
if k % 2 == 1:
term *= -1
u += term
return u
示例15: _jacobian_wrt_parameter
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import zeros_like [as 别名]
def _jacobian_wrt_parameter(y, param, tape):
"""Computes a Jacobian w.r.t. a parameter."""
# For input shapes (b, dy), yields shape (b, dy, 1) (1 is added for
# convenience elsewhere).
# To avoid having to broadcast param to y's shape, we need to take a forward
# gradient.
with tf.GradientTape() as w_tape:
w = tf.zeros_like(y)
w_tape.watch(w)
vjp = tape.gradient(y, param, output_gradients=w)
if vjp is None: # Unconnected.
return tf.expand_dims(tf.zeros_like(y), axis=-1)
return tf.expand_dims(w_tape.gradient(vjp, w), axis=-1)