本文整理匯總了Python中numpy.log2方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.log2方法的具體用法?Python numpy.log2怎麽用?Python numpy.log2使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類numpy
的用法示例。
在下文中一共展示了numpy.log2方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: fit_loglog
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def fit_loglog(x, y):
"""
Fit a line to isotropic spectra in log-log space
Parameters
----------
x : `numpy.array`
Coordinate of the data
y : `numpy.array`
data
Returns
-------
y_fit : `numpy.array`
The linear fit
a : float64
Slope of the fit
b : float64
Intercept of the fit
"""
# fig log vs log
p = np.polyfit(np.log2(x), np.log2(y), 1)
y_fit = 2**(np.log2(x)*p[0] + p[1])
return y_fit, p[0], p[1]
示例2: add_image
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def add_image(self, img):
if self.print_progress and self.cur_images % self.progress_interval == 0:
print('%d / %d\r' % (self.cur_images, self.expected_images), end='', flush=True)
sys.stdout.flush()
if self.shape is None:
self.shape = img.shape
self.resolution_log2 = int(np.log2(self.shape[1]))
assert self.shape[0] in [1, 3]
assert self.shape[1] == self.shape[2]
assert self.shape[1] == 2**self.resolution_log2
tfr_opt = tf.python_io.TFRecordOptions(tf.python_io.TFRecordCompressionType.NONE)
for lod in range(self.resolution_log2 - 1):
tfr_file = self.tfr_prefix + '-r%02d.tfrecords' % (self.resolution_log2 - lod)
self.tfr_writers.append(tf.python_io.TFRecordWriter(tfr_file, tfr_opt))
assert img.shape == self.shape
for lod, tfr_writer in enumerate(self.tfr_writers):
if lod:
img = img.astype(np.float32)
img = (img[:, 0::2, 0::2] + img[:, 0::2, 1::2] + img[:, 1::2, 0::2] + img[:, 1::2, 1::2]) * 0.25
quant = np.rint(img).clip(0, 255).astype(np.uint8)
ex = tf.train.Example(features=tf.train.Features(feature={
'shape': tf.train.Feature(int64_list=tf.train.Int64List(value=quant.shape)),
'data': tf.train.Feature(bytes_list=tf.train.BytesList(value=[quant.tostring()]))}))
tfr_writer.write(ex.SerializeToString())
self.cur_images += 1
示例3: __init__
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def __init__(self, resolution=1024, num_channels=3, dtype='uint8', dynamic_range=[0,255], label_size=0, label_dtype='float32'):
self.resolution = resolution
self.resolution_log2 = int(np.log2(resolution))
self.shape = [num_channels, resolution, resolution]
self.dtype = dtype
self.dynamic_range = dynamic_range
self.label_size = label_size
self.label_dtype = label_dtype
self._tf_minibatch_var = None
self._tf_lod_var = None
self._tf_minibatch_np = None
self._tf_labels_np = None
assert self.resolution == 2 ** self.resolution_log2
with tf.name_scope('Dataset'):
self._tf_minibatch_var = tf.Variable(np.int32(0), name='minibatch_var')
self._tf_lod_var = tf.Variable(np.int32(0), name='lod_var')
示例4: predict_on_batch
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def predict_on_batch(self, inputs):
if inputs.shape == (2,):
inputs = inputs[np.newaxis, :]
# Encode
max_len = len(max(inputs, key=len))
one_hot_ref = self.encode(inputs[:,0])
one_hot_alt = self.encode(inputs[:,1])
# Construct dummy library indicator
indicator = np.zeros((inputs.shape[0],2))
indicator[:,1] = 1
# Compute fold change for all three frames
fc_changes = []
for shift in range(3):
if shift > 0:
shifter = np.zeros((one_hot_ref.shape[0],1,4))
one_hot_ref = np.concatenate([one_hot_ref, shifter], axis=1)
one_hot_alt = np.concatenate([one_hot_alt, shifter], axis=1)
pred_ref = self.model.predict_on_batch([one_hot_ref, indicator]).reshape(-1)
pred_variant = self.model.predict_on_batch([one_hot_alt, indicator]).reshape(-1)
fc_changes.append(np.log2(pred_variant/pred_ref))
# Return
return {"mrl_fold_change":fc_changes[0],
"shift_1":fc_changes[1],
"shift_2":fc_changes[2]}
示例5: multinomLog2
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def multinomLog2(selectors):
"""
Function calculates logarithm 2 of a kind of multinom.
selectors: list of integers
"""
ln2 = 0.69314718055994528622
noAll = sum(selectors)
lgNf = math.lgamma(noAll + 1.0) / ln2 # log2(N!)
lgnFac = []
for selector in selectors:
if selector == 0 or selector == 1:
lgnFac.append(0.0)
elif selector == 2:
lgnFac.append(1.0)
elif selector == noAll:
lgnFac.append(lgNf)
else:
lgnFac.append(math.lgamma(selector + 1.0) / ln2)
return lgNf - sum(lgnFac)
示例6: _check_beta_prior
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def _check_beta_prior(beta_prior, nchoices, for_ucb=False):
if beta_prior == 'auto':
if not for_ucb:
out = ( (2.0 / np.log2(nchoices), 4.0), 2 )
else:
out = ( (3.0 / np.log2(nchoices), 4.0), 2 )
elif beta_prior is None:
out = ((1.0,1.0), 0)
else:
assert len(beta_prior) == 2
assert len(beta_prior[0]) == 2
assert isinstance(beta_prior[1], int)
assert isinstance(beta_prior[0][0], int) or isinstance(beta_prior[0][0], float)
assert isinstance(beta_prior[0][1], int) or isinstance(beta_prior[0][1], float)
assert (beta_prior[0][0] > 0.) and (beta_prior[0][1] > 0.)
out = beta_prior
return out
示例7: pp_labels
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def pp_labels(matrix_dim):
def _is_integer(x):
return bool(abs(x - round(x)) < 1e-6)
if matrix_dim == 0: return []
if matrix_dim == 1: return [''] # special case - use empty label instead of "I"
nQubits = _np.log2(matrix_dim)
if not _is_integer(nQubits):
raise ValueError("Dimension for Pauli tensor product matrices must be an integer *power of 2*")
nQubits = int(round(nQubits))
lblList = []
basisLblList = [['I', 'X', 'Y', 'Z']] * nQubits
for sigmaLbls in _itertools.product(*basisLblList):
lblList.append(''.join(sigmaLbls))
return lblList
示例8: get_rpe_experiment_design
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def get_rpe_experiment_design(max_max_length, qubit_labels=None, req_counts=None):
max_log_lengths = _np.log2(max_max_length)
if not (int(max_log_lengths) - max_log_lengths == 0):
raise ValueError('Only integer powers of two accepted for max_max_length.')
assert(qubit_labels is None or qubit_labels == (0,)), "Only qubit_labels=(0,) is supported so far"
return _rpe.RobustPhaseEstimationDesign(
_obj.Circuit([('Gxpi2', 0)], line_labels=(0,)),
[2**i for i in range(int(max_log_lengths) + 1)],
_obj.Circuit([], line_labels=(0,)),
_obj.Circuit([('Gxpi2', 0)], line_labels=(0,)),
['1'],
['0'],
_obj.Circuit([], line_labels=(0,)),
_obj.Circuit([], line_labels=(0,)),
['0'],
['1'],
qubit_labels=qubit_labels,
req_counts=req_counts)
示例9: get_rpe_experiment_design
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def get_rpe_experiment_design(max_max_length, qubit_labels=None, req_counts=None):
max_log_lengths = _np.log2(max_max_length)
if not (int(max_log_lengths) - max_log_lengths == 0):
raise ValueError('Only integer powers of two accepted for max_max_length.')
assert(qubit_labels is None or qubit_labels == (0,)), "Only qubit_labels=(0,) is supported so far"
return _rpe.RobustPhaseEstimationDesign(
_obj.Circuit([('Gypi2', 0)], line_labels=(0,)),
[2**i for i in range(int(max_log_lengths) + 1)],
_obj.Circuit([], line_labels=(0,)),
_obj.Circuit([('Gypi2', 0)], line_labels=(0,)),
['1'],
['0'],
_obj.Circuit([], line_labels=(0,)),
_obj.Circuit([], line_labels=(0,)),
['0'],
['1'],
qubit_labels=qubit_labels,
req_counts=req_counts)
示例10: up_scaling
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def up_scaling(self, x, f, scale_factor, name):
"""
:param x: image
:param f: conv2d filter
:param scale_factor: scale factor
:param name: scope name
:return:
"""
with tf.variable_scope(name):
if scale_factor == 3:
x = tfu.conv2d(x, f * 9, k=1, name='conv2d-image_scaling-0')
x = tfu.pixel_shuffle(x, 3)
elif scale_factor & (scale_factor - 1) == 0: # is it 2^n?
log_scale_factor = int(np.log2(scale_factor))
for i in range(log_scale_factor):
x = tfu.conv2d(x, f * 4, k=1, name='conv2d-image_scaling-%d' % i)
x = tfu.pixel_shuffle(x, 2)
else:
raise NotImplementedError("[-] Not supported scaling factor (%d)" % scale_factor)
return x
示例11: nside_to_level
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def nside_to_level(nside):
"""
Find the HEALPix level for a given nside.
This is given by ``level = log2(nside)``.
This function is the inverse of `level_to_nside`.
Parameters
----------
nside : int
The number of pixels on the side of one of the 12 'top-level' HEALPix tiles.
Must be a power of two.
Returns
-------
level : int
The level of the HEALPix cells
"""
nside = np.asarray(nside, dtype=np.int64)
_validate_nside(nside)
return np.log2(nside).astype(np.int64)
示例12: _hist_bin_sturges
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def _hist_bin_sturges(x, range):
"""
Sturges histogram bin estimator.
A very simplistic estimator based on the assumption of normality of
the data. This estimator has poor performance for non-normal data,
which becomes especially obvious for large data sets. The estimate
depends only on size of the data.
Parameters
----------
x : array_like
Input data that is to be histogrammed, trimmed to range. May not
be empty.
Returns
-------
h : An estimate of the optimal bin width for the given data.
"""
del range # unused
return x.ptp() / (np.log2(x.size) + 1.0)
示例13: test_branch_cuts
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def test_branch_cuts(self):
# check branch cuts and continuity on them
_check_branch_cut(np.log, -0.5, 1j, 1, -1, True)
_check_branch_cut(np.log2, -0.5, 1j, 1, -1, True)
_check_branch_cut(np.log10, -0.5, 1j, 1, -1, True)
_check_branch_cut(np.log1p, -1.5, 1j, 1, -1, True)
_check_branch_cut(np.sqrt, -0.5, 1j, 1, -1, True)
_check_branch_cut(np.arcsin, [ -2, 2], [1j, 1j], 1, -1, True)
_check_branch_cut(np.arccos, [ -2, 2], [1j, 1j], 1, -1, True)
_check_branch_cut(np.arctan, [0-2j, 2j], [1, 1], -1, 1, True)
_check_branch_cut(np.arcsinh, [0-2j, 2j], [1, 1], -1, 1, True)
_check_branch_cut(np.arccosh, [ -1, 0.5], [1j, 1j], 1, -1, True)
_check_branch_cut(np.arctanh, [ -2, 2], [1j, 1j], 1, -1, True)
# check against bogus branch cuts: assert continuity between quadrants
_check_branch_cut(np.arcsin, [0-2j, 2j], [ 1, 1], 1, 1)
_check_branch_cut(np.arccos, [0-2j, 2j], [ 1, 1], 1, 1)
_check_branch_cut(np.arctan, [ -2, 2], [1j, 1j], 1, 1)
_check_branch_cut(np.arcsinh, [ -2, 2, 0], [1j, 1j, 1], 1, 1)
_check_branch_cut(np.arccosh, [0-2j, 2j, 2], [1, 1, 1j], 1, 1)
_check_branch_cut(np.arctanh, [0-2j, 2j, 0], [1, 1, 1j], 1, 1)
示例14: test_branch_cuts_complex64
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def test_branch_cuts_complex64(self):
# check branch cuts and continuity on them
_check_branch_cut(np.log, -0.5, 1j, 1, -1, True, np.complex64)
_check_branch_cut(np.log2, -0.5, 1j, 1, -1, True, np.complex64)
_check_branch_cut(np.log10, -0.5, 1j, 1, -1, True, np.complex64)
_check_branch_cut(np.log1p, -1.5, 1j, 1, -1, True, np.complex64)
_check_branch_cut(np.sqrt, -0.5, 1j, 1, -1, True, np.complex64)
_check_branch_cut(np.arcsin, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64)
_check_branch_cut(np.arccos, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64)
_check_branch_cut(np.arctan, [0-2j, 2j], [1, 1], -1, 1, True, np.complex64)
_check_branch_cut(np.arcsinh, [0-2j, 2j], [1, 1], -1, 1, True, np.complex64)
_check_branch_cut(np.arccosh, [ -1, 0.5], [1j, 1j], 1, -1, True, np.complex64)
_check_branch_cut(np.arctanh, [ -2, 2], [1j, 1j], 1, -1, True, np.complex64)
# check against bogus branch cuts: assert continuity between quadrants
_check_branch_cut(np.arcsin, [0-2j, 2j], [ 1, 1], 1, 1, False, np.complex64)
_check_branch_cut(np.arccos, [0-2j, 2j], [ 1, 1], 1, 1, False, np.complex64)
_check_branch_cut(np.arctan, [ -2, 2], [1j, 1j], 1, 1, False, np.complex64)
_check_branch_cut(np.arcsinh, [ -2, 2, 0], [1j, 1j, 1], 1, 1, False, np.complex64)
_check_branch_cut(np.arccosh, [0-2j, 2j, 2], [1, 1, 1j], 1, 1, False, np.complex64)
_check_branch_cut(np.arctanh, [0-2j, 2j, 0], [1, 1, 1j], 1, 1, False, np.complex64)
示例15: p2o
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import log2 [as 別名]
def p2o(psf, shape):
'''
# psf: NxCxhxw
# shape: [H,W]
# otf: NxCxHxWx2
'''
otf = torch.zeros(psf.shape[:-2] + shape).type_as(psf)
otf[...,:psf.shape[2],:psf.shape[3]].copy_(psf)
for axis, axis_size in enumerate(psf.shape[2:]):
otf = torch.roll(otf, -int(axis_size / 2), dims=axis+2)
otf = torch.rfft(otf, 2, onesided=False)
n_ops = torch.sum(torch.tensor(psf.shape).type_as(psf) * torch.log2(torch.tensor(psf.shape).type_as(psf)))
otf[...,1][torch.abs(otf[...,1])<n_ops*2.22e-16] = torch.tensor(0).type_as(psf)
return otf
# otf2psf: not sure where I got this one from. Maybe translated from Octave source code or whatever. It's just math.