本文整理汇总了Python中operator.mul方法的典型用法代码示例。如果您正苦于以下问题:Python operator.mul方法的具体用法?Python operator.mul怎么用?Python operator.mul使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类operator
的用法示例。
在下文中一共展示了operator.mul方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _apply_window
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def _apply_window(da, dims, window_type='hanning'):
"""Creating windows in dimensions dims."""
if window_type not in ['hanning']:
raise NotImplementedError("Only hanning window is supported for now.")
numpy_win_func = getattr(np, window_type)
if da.chunks:
def dask_win_func(n):
return dsar.from_delayed(
delayed(numpy_win_func, pure=True)(n),
(n,), float)
win_func = dask_win_func
else:
win_func = numpy_win_func
windows = [xr.DataArray(win_func(len(da[d])),
dims=da[d].dims, coords=da[d].coords) for d in dims]
return da * reduce(operator.mul, windows[::-1])
示例2: begin_read_samples
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def begin_read_samples(self):
if self.cache:
return
self.input.begin_read_samples()
# copy meta
if self.output:
self.output.meta = self.input.meta
self.multipliers = {}
self.rngs = {}
def _mul(split):
return reduce(operator.mul, map(lambda op: _get_multiplier(split, op), self.ops), 1)
for split in SPLITS:
self.multipliers[split] = _mul(split)
self.cache[split] = self._calculate_num_samples(split)
self.rngs[split] = self.cache[split] * [None]
self.input.end_read_samples()
示例3: feed_forward_categorical_fun
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def feed_forward_categorical_fun(action_space, config, observations):
"""Feed-forward categorical."""
if not isinstance(action_space, gym.spaces.Discrete):
raise ValueError("Expecting discrete action space.")
flat_observations = tf.reshape(observations, [
tf.shape(observations)[0], tf.shape(observations)[1],
functools.reduce(operator.mul, observations.shape.as_list()[2:], 1)])
with tf.variable_scope("network_parameters"):
with tf.variable_scope("policy"):
x = flat_observations
for size in config.policy_layers:
x = tf.contrib.layers.fully_connected(x, size, tf.nn.relu)
logits = tf.contrib.layers.fully_connected(x, action_space.n,
activation_fn=None)
with tf.variable_scope("value"):
x = flat_observations
for size in config.value_layers:
x = tf.contrib.layers.fully_connected(x, size, tf.nn.relu)
value = tf.contrib.layers.fully_connected(x, 1, None)[..., 0]
policy = tf.contrib.distributions.Categorical(logits=logits)
return NetworkOutput(policy, value, lambda a: a)
示例4: dense_bitwise_categorical_fun
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def dense_bitwise_categorical_fun(action_space, config, observations):
"""Dense network with bitwise input and categorical output."""
del config
obs_shape = common_layers.shape_list(observations)
x = tf.reshape(observations, [-1] + obs_shape[2:])
with tf.variable_scope("network_parameters"):
with tf.variable_scope("dense_bitwise"):
x = discretization.int_to_bit_embed(x, 8, 32)
flat_x = tf.reshape(
x, [obs_shape[0], obs_shape[1],
functools.reduce(operator.mul, x.shape.as_list()[1:], 1)])
x = tf.contrib.layers.fully_connected(flat_x, 256, tf.nn.relu)
x = tf.contrib.layers.fully_connected(flat_x, 128, tf.nn.relu)
logits = tf.contrib.layers.fully_connected(x, action_space.n,
activation_fn=None)
value = tf.contrib.layers.fully_connected(
x, 1, activation_fn=None)[..., 0]
policy = tf.contrib.distributions.Categorical(logits=logits)
return NetworkOutput(policy, value, lambda a: a)
示例5: gather_indices_2d
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def gather_indices_2d(x, block_shape, block_stride):
"""Getting gather indices."""
# making an identity matrix kernel
kernel = tf.eye(block_shape[0] * block_shape[1])
kernel = reshape_range(kernel, 0, 1, [block_shape[0], block_shape[1], 1])
# making indices [1, h, w, 1] to appy convs
x_shape = common_layers.shape_list(x)
indices = tf.range(x_shape[2] * x_shape[3])
indices = tf.reshape(indices, [1, x_shape[2], x_shape[3], 1])
indices = tf.nn.conv2d(
tf.cast(indices, tf.float32),
kernel,
strides=[1, block_stride[0], block_stride[1], 1],
padding="VALID")
# making indices [num_blocks, dim] to gather
dims = common_layers.shape_list(indices)[:3]
if all([isinstance(dim, int) for dim in dims]):
num_blocks = functools.reduce(operator.mul, dims, 1)
else:
num_blocks = tf.reduce_prod(dims)
indices = tf.reshape(indices, [num_blocks, -1])
return tf.cast(indices, tf.int32)
示例6: create_wallet_source
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def create_wallet_source(wallet: Wallet, include_worth=True):
exchange_name = wallet.exchange.name
symbol = wallet.instrument.symbol
with Module(exchange_name + ":/" + symbol) as wallet_ds:
free_balance = Lambda(lambda w: w.balance.as_float(), wallet, name="free")
locked_balance = Lambda(lambda w: w.locked_balance.as_float(), wallet, name="locked")
total_balance = Lambda(lambda w: w.total_balance.as_float(), wallet, name="total")
nodes = [free_balance, locked_balance, total_balance]
if include_worth:
price = Select(lambda node: node.name.endswith(symbol))(wallet.exchange)
worth = BinOp(operator.mul, name="worth")(price, total_balance)
nodes += [worth]
return wallet_ds
示例7: _kspace_operation
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def _kspace_operation(image1, image2, padding, op, shape, axes):
"""Combine two images in k-space using a given `operator`
`image1` and `image2` are required to be `Fourier` objects and
`op` should be an operator (either `operator.mul` for a convolution
or `operator.truediv` for deconvolution). `shape` is the shape of the
output image (`Fourier` instance).
"""
if len(image1.shape) != len(image2.shape):
msg = "Both images must have the same number of axes, got {0} and {1}"
raise Exception(msg.format(len(image1.shape), len(image2.shape)))
fft_shape = _get_fft_shape(image1.image, image2.image, padding, axes)
convolved_fft = op(image1.fft(fft_shape, axes), image2.fft(fft_shape, axes))
# why is shape not image1.shape? images are never padded
convolved = Fourier.from_fft(convolved_fft, fft_shape, shape, axes)
return convolved
示例8: convolve
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def convolve(image1, image2, padding=3, axes=(-2, -1)):
"""Convolve two images
Parameters
----------
image1: `Fourier`
`Fourier` object represeting the image and it's FFT.
image2: `Fourier`
`Fourier` object represeting the image and it's FFT.
padding: int
Additional padding to use when generating the FFT
to supress artifacts.
"""
return _kspace_operation(
image1, image2, padding, operator.mul, image1.shape, axes=axes
)
示例9: test_datafriendly_mul
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_datafriendly_mul(self):
# Test keeping data w/ (inplace) multiplication
# Test mul w/ scalar
x = array([1, 2, 3], mask=[0, 0, 1])
xx = x * 2
assert_equal(xx.data, [2, 4, 3])
assert_equal(xx.mask, [0, 0, 1])
# Test imul w/ scalar
x = array([1, 2, 3], mask=[0, 0, 1])
x *= 2
assert_equal(x.data, [2, 4, 3])
assert_equal(x.mask, [0, 0, 1])
# Test mul w/ array
x = array([1, 2, 3], mask=[0, 0, 1])
xx = x * array([10, 20, 30], mask=[1, 0, 0])
assert_equal(xx.data, [1, 40, 3])
assert_equal(xx.mask, [1, 0, 1])
# Test imul w/ array
x = array([1, 2, 3], mask=[0, 0, 1])
x *= array([10, 20, 30], mask=[1, 0, 0])
assert_equal(x.data, [1, 40, 3])
assert_equal(x.mask, [1, 0, 1])
示例10: test_safe_binop
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_safe_binop():
# Test checked arithmetic routines
ops = [
(operator.add, 1),
(operator.sub, 2),
(operator.mul, 3)
]
with exc_iter(ops, INT64_VALUES, INT64_VALUES) as it:
for xop, a, b in it:
pyop, op = xop
c = pyop(a, b)
if not (INT64_MIN <= c <= INT64_MAX):
assert_raises(OverflowError, mt.extint_safe_binop, a, b, op)
else:
d = mt.extint_safe_binop(a, b, op)
if c != d:
# assert_equal is slow
assert_equal(d, c)
示例11: test_mul
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_mul(Poly):
c1 = list(random((4,)) + .5)
c2 = list(random((3,)) + .5)
p1 = Poly(c1)
p2 = Poly(c2)
p3 = p1 * p2
assert_poly_almost_equal(p2 * p1, p3)
assert_poly_almost_equal(p1 * c2, p3)
assert_poly_almost_equal(c2 * p1, p3)
assert_poly_almost_equal(p1 * tuple(c2), p3)
assert_poly_almost_equal(tuple(c2) * p1, p3)
assert_poly_almost_equal(p1 * np.array(c2), p3)
assert_poly_almost_equal(np.array(c2) * p1, p3)
assert_poly_almost_equal(p1 * 2, p1 * Poly([2]))
assert_poly_almost_equal(2 * p1, p1 * Poly([2]))
assert_raises(TypeError, op.mul, p1, Poly([0], domain=Poly.domain + 1))
assert_raises(TypeError, op.mul, p1, Poly([0], window=Poly.window + 1))
if Poly is Polynomial:
assert_raises(TypeError, op.mul, p1, Chebyshev([0]))
else:
assert_raises(TypeError, op.mul, p1, Polynomial([0]))
示例12: test_arith
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_arith(self):
self._test_op(self.panel, operator.add)
self._test_op(self.panel, operator.sub)
self._test_op(self.panel, operator.mul)
self._test_op(self.panel, operator.truediv)
self._test_op(self.panel, operator.floordiv)
self._test_op(self.panel, operator.pow)
self._test_op(self.panel, lambda x, y: y + x)
self._test_op(self.panel, lambda x, y: y - x)
self._test_op(self.panel, lambda x, y: y * x)
self._test_op(self.panel, lambda x, y: y / x)
self._test_op(self.panel, lambda x, y: y ** x)
self._test_op(self.panel, lambda x, y: x + y) # panel + 1
self._test_op(self.panel, lambda x, y: x - y) # panel - 1
self._test_op(self.panel, lambda x, y: x * y) # panel * 1
self._test_op(self.panel, lambda x, y: x / y) # panel / 1
self._test_op(self.panel, lambda x, y: x ** y) # panel ** 1
pytest.raises(Exception, self.panel.__add__,
self.panel['ItemA'])
示例13: test_arith_flex_panel
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_arith_flex_panel(self):
ops = ['add', 'sub', 'mul', 'div',
'truediv', 'pow', 'floordiv', 'mod']
if not compat.PY3:
aliases = {}
else:
aliases = {'div': 'truediv'}
self.panel = self.panel.to_panel()
for n in [np.random.randint(-50, -1), np.random.randint(1, 50), 0]:
for op in ops:
alias = aliases.get(op, op)
f = getattr(operator, alias)
exp = f(self.panel, n)
result = getattr(self.panel, op)(n)
assert_panel_equal(result, exp, check_panel_type=True)
# rops
r_f = lambda x, y: f(y, x)
exp = r_f(self.panel, n)
result = getattr(self.panel, 'r' + op)(n)
assert_panel_equal(result, exp)
示例14: test_binary_operators
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def test_binary_operators(self):
# skipping for now #####
import pytest
pytest.skip("skipping sparse binary operators test")
def _check_inplace_op(iop, op):
tmp = self.bseries.copy()
expected = op(tmp, self.bseries)
iop(tmp, self.bseries)
tm.assert_sp_series_equal(tmp, expected)
inplace_ops = ['add', 'sub', 'mul', 'truediv', 'floordiv', 'pow']
for op in inplace_ops:
_check_inplace_op(getattr(operator, "i%s" % op),
getattr(operator, op))
示例15: _add_arithmetic_ops
# 需要导入模块: import operator [as 别名]
# 或者: from operator import mul [as 别名]
def _add_arithmetic_ops(cls):
cls.__add__ = cls._create_arithmetic_method(operator.add)
cls.__radd__ = cls._create_arithmetic_method(ops.radd)
cls.__sub__ = cls._create_arithmetic_method(operator.sub)
cls.__rsub__ = cls._create_arithmetic_method(ops.rsub)
cls.__mul__ = cls._create_arithmetic_method(operator.mul)
cls.__rmul__ = cls._create_arithmetic_method(ops.rmul)
cls.__pow__ = cls._create_arithmetic_method(operator.pow)
cls.__rpow__ = cls._create_arithmetic_method(ops.rpow)
cls.__mod__ = cls._create_arithmetic_method(operator.mod)
cls.__rmod__ = cls._create_arithmetic_method(ops.rmod)
cls.__floordiv__ = cls._create_arithmetic_method(operator.floordiv)
cls.__rfloordiv__ = cls._create_arithmetic_method(ops.rfloordiv)
cls.__truediv__ = cls._create_arithmetic_method(operator.truediv)
cls.__rtruediv__ = cls._create_arithmetic_method(ops.rtruediv)
if not PY3:
cls.__div__ = cls._create_arithmetic_method(operator.div)
cls.__rdiv__ = cls._create_arithmetic_method(ops.rdiv)
cls.__divmod__ = cls._create_arithmetic_method(divmod)
cls.__rdivmod__ = cls._create_arithmetic_method(ops.rdivmod)