本文整理汇总了Python中tensorflow.compat.v2.ones_like方法的典型用法代码示例。如果您正苦于以下问题:Python v2.ones_like方法的具体用法?Python v2.ones_like怎么用?Python v2.ones_like使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensorflow.compat.v2
的用法示例。
在下文中一共展示了v2.ones_like方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ones_like
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def ones_like(a, dtype=None):
"""Returns an array of ones 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:
dtype = utils.result_type(a)
else:
dtype = utils.result_type(dtype)
return arrays_lib.tensor_to_ndarray(tf.ones_like(a, dtype))
示例2: test_expected_continuation
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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))
示例3: test_sample_paths_dtypes
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def test_sample_paths_dtypes(self):
"""Sampled paths have the expected dtypes."""
for dtype in [np.float32, np.float64]:
drift_fn = lambda t, x: tf.sqrt(t) * tf.ones_like(x, dtype=t.dtype)
vol_fn = lambda t, x: t * tf.ones([1, 1], dtype=t.dtype)
paths = self.evaluate(
euler_sampling.sample(
dim=1,
drift_fn=drift_fn, volatility_fn=vol_fn,
times=[0.1, 0.2],
num_samples=10,
initial_state=[0.1],
time_step=0.01,
seed=123,
dtype=dtype))
self.assertEqual(paths.dtype, dtype)
示例4: test_maybe_update_along_axis
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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)
示例5: test_sample_paths_dtypes
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def test_sample_paths_dtypes(self):
"""Sampled paths have the expected dtypes."""
for dtype in [np.float32, np.float64]:
drift_fn = lambda t, x: tf.sqrt(t) * tf.ones_like(x, dtype=t.dtype)
vol_fn = lambda t, x: t * tf.ones([1, 1], dtype=t.dtype)
process = GenericItoProcess(
dim=1, drift_fn=drift_fn, volatility_fn=vol_fn, dtype=dtype)
paths = self.evaluate(
process.sample_paths(
times=[0.1, 0.2],
num_samples=10,
initial_state=[0.1],
time_step=0.01,
seed=123))
self.assertEqual(paths.dtype, dtype)
# Several tests below are unit tests for GenericItoProcess.fd_solver_backward:
# they mock out the pde solver and check only the conversion of SDE to PDE,
# but not PDE solving. There are also integration tests further below.
示例6: test_correctness_1d
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def test_correctness_1d(self, use_analytic_pricing, error_tol):
"""Tests model with constant parameters in 1 dimension."""
dtype = tf.float64
discount_rate_fn = lambda x: 0.01 * tf.ones_like(x, dtype=dtype)
expiries = np.array([1.0])
maturities = np.array([5.0])
strikes = np.exp(-0.01 * maturities) / np.exp(-0.01 * expiries)
price = tff.models.hull_white.bond_option_price(
strikes=strikes,
expiries=expiries,
maturities=maturities,
dim=1,
mean_reversion=self.mean_reversion_1d,
volatility=self.volatility_1d,
discount_rate_fn=discount_rate_fn,
use_analytic_pricing=use_analytic_pricing,
num_samples=500000,
time_step=0.1,
random_type=tff.math.random.RandomType.PSEUDO_ANTITHETIC,
dtype=dtype)
self.assertEqual(price.dtype, dtype)
self.assertAllEqual(price.shape, [1, 1])
price = self.evaluate(price)
self.assertAllClose(price, [[0.02817777]], rtol=error_tol, atol=error_tol)
示例7: test_correctness_2d
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def test_correctness_2d(self, use_analytic_pricing, error_tol):
"""Tests model with constant parameters in 2 dimension."""
dtype = tf.float64
discount_rate_fn = lambda x: 0.01 * tf.ones_like(x, dtype=dtype)
price = tff.models.hull_white.cap_floor_price(
strikes=self.strikes,
expiries=self.expiries,
maturities=self.maturities,
daycount_fractions=self.daycount_fractions,
notional=100.0,
dim=2,
mean_reversion=self.mean_reversion_2d,
volatility=self.volatility_2d,
reference_rate_fn=discount_rate_fn,
use_analytic_pricing=use_analytic_pricing,
num_samples=500000,
time_step=0.1,
random_type=tff.math.random.RandomType.PSEUDO_ANTITHETIC,
dtype=dtype)
self.assertEqual(price.dtype, dtype)
self.assertAllEqual(price.shape, [1, 2])
price = self.evaluate(price)
self.assertAllClose(price, [[0.4072088281493774, 0.2016075430673558]],
rtol=error_tol, atol=error_tol)
示例8: labels_of_top_ranked_predictions_in_batch
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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)
示例9: sinc
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def sinc(x):
def f(x):
pi_x = x * np.pi
return tf.where(x == 0, tf.ones_like(x), tf.math.sin(pi_x) / pi_x)
return _scalar(f, x, True)
示例10: __call__
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def __call__(self, x):
non_sign_bits = self.bits - (self.negative_slope != 0)
m = K.cast_to_floatx(pow(2, non_sign_bits))
m_i = K.cast_to_floatx(pow(2, self.integer))
x_uq = tf.where(
x <= m_i, K.relu(x, alpha=self.negative_slope), tf.ones_like(x) * m_i)
if self.use_sigmoid:
p = _sigmoid(x / m_i) * m
xq = m_i * tf.keras.backend.clip(
2.0 * (_round_through(p, self.use_stochastic_rounding) / m) - 1.0,
0.0, 1.0 - 1.0 / m)
if self.negative_slope > 0:
neg_factor = 1 / (self.negative_slope * m)
xq = xq + m_i * self.negative_slope * tf.keras.backend.clip(
2.0 * (_round_through(p * self.negative_slope,
self.use_stochastic_rounding) * neg_factor) - 1.0,
-1.0, 0.0)
else:
p = x * m / m_i
xq = m_i * tf.keras.backend.clip(
_round_through(p, self.use_stochastic_rounding) / m, 0.0,
1.0 - 1.0 / m)
if self.negative_slope > 0:
neg_factor = 1 / (self.negative_slope * m)
xq = xq + m_i * self.negative_slope * (tf.keras.backend.clip(
_round_through(p * self.negative_slope,
self.use_stochastic_rounding) * neg_factor, -1.0, 0.0))
return x_uq + tf.stop_gradient(-x_uq + xq)
示例11: test_option_prices_neg_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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))
示例12: test_option_prices_pos_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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))
示例13: test_option_prices_zero_cost_of_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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))
示例14: test_option_prices_no_cost_of_carries
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_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))
示例15: test_sample_paths_1d
# 需要导入模块: from tensorflow.compat import v2 [as 别名]
# 或者: from tensorflow.compat.v2 import ones_like [as 别名]
def test_sample_paths_1d(self):
"""Tests path properties for 1-dimentional Ito process.
We construct the following Ito process.
````
dX = mu * sqrt(t) * dt + (a * t + b) dW
````
For this process expected value at time t is x_0 + 2/3 * mu * t^1.5 .
"""
mu = 0.2
a = 0.4
b = 0.33
def drift_fn(t, x):
return mu * tf.sqrt(t) * tf.ones_like(x, dtype=t.dtype)
def vol_fn(t, x):
del x
return (a * t + b) * tf.ones([1, 1], dtype=t.dtype)
times = np.array([0.1, 0.21, 0.32, 0.43, 0.55])
num_samples = 10000
x0 = np.array([0.1])
paths = self.evaluate(
euler_sampling.sample(
dim=1,
drift_fn=drift_fn, volatility_fn=vol_fn,
times=times, num_samples=num_samples, initial_state=x0,
time_step=0.01, seed=12134))
self.assertAllClose(paths.shape, (num_samples, 5, 1), atol=0)
means = np.mean(paths, axis=0).reshape(-1)
expected_means = x0 + (2.0 / 3.0) * mu * np.power(times, 1.5)
self.assertAllClose(means, expected_means, rtol=1e-2, atol=1e-2)