本文整理匯總了Python中numpy.where方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.where方法的具體用法?Python numpy.where怎麽用?Python numpy.where使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類numpy
的用法示例。
在下文中一共展示了numpy.where方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: show
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def show(mnist, targets, ret):
target_ids = range(len(set(targets)))
colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k', 'violet', 'orange', 'purple']
plt.figure(figsize=(12, 10))
ax = plt.subplot(aspect='equal')
for label in set(targets):
idx = np.where(np.array(targets) == label)[0]
plt.scatter(ret[idx, 0], ret[idx, 1], c=colors[label], label=label)
for i in range(0, len(targets), 250):
img = (mnist[i][0] * 0.3081 + 0.1307).numpy()[0]
img = OffsetImage(img, cmap=plt.cm.gray_r, zoom=0.5)
ax.add_artist(AnnotationBbox(img, ret[i]))
plt.legend()
plt.show()
示例2: filter_roidb
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def filter_roidb(roidb):
"""Remove roidb entries that have no usable RoIs."""
def is_valid(entry):
# Valid images have:
# (1) At least one foreground RoI OR
# (2) At least one background RoI
overlaps = entry['max_overlaps']
# find boxes with sufficient overlap
fg_inds = np.where(overlaps >= cfg.TRAIN.FG_THRESH)[0]
# Select background RoIs as those within [BG_THRESH_LO, BG_THRESH_HI)
bg_inds = np.where((overlaps < cfg.TRAIN.BG_THRESH_HI) &
(overlaps >= cfg.TRAIN.BG_THRESH_LO))[0]
# image is only valid if such boxes exist
valid = len(fg_inds) > 0 or len(bg_inds) > 0
return valid
num = len(roidb)
filtered_roidb = [entry for entry in roidb if is_valid(entry)]
num_after = len(filtered_roidb)
print('Filtered {} roidb entries: {} -> {}'.format(num - num_after,
num, num_after))
return filtered_roidb
開發者ID:Sunarker,項目名稱:Collaborative-Learning-for-Weakly-Supervised-Object-Detection,代碼行數:25,代碼來源:train_val.py
示例3: _evaluation
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def _evaluation(self, pop, eval_flag):
# create network list
net_lists = []
active_index = np.where(eval_flag)[0]
for i in active_index:
net_lists.append(pop[i].active_net_list())
# evaluation
fp = self.eval_func(net_lists)
for i, j in enumerate(active_index):
pop[j].eval = fp[i]
evaluations = np.zeros(len(pop))
for i in range(len(pop)):
evaluations[i] = pop[i].eval
self.num_eval += len(net_lists)
return evaluations
示例4: __iter__
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def __iter__(self):
indices = []
for i, size in enumerate(self.group_sizes):
if size == 0:
continue
indice = np.where(self.flag == i)[0]
assert len(indice) == size
np.random.shuffle(indice)
num_extra = int(np.ceil(size / self.samples_per_gpu)
) * self.samples_per_gpu - len(indice)
indice = np.concatenate(
[indice, np.random.choice(indice, num_extra)])
indices.append(indice)
indices = np.concatenate(indices)
indices = [
indices[i * self.samples_per_gpu:(i + 1) * self.samples_per_gpu]
for i in np.random.permutation(
range(len(indices) // self.samples_per_gpu))
]
indices = np.concatenate(indices)
indices = indices.astype(np.int64).tolist()
assert len(indices) == self.num_samples
return iter(indices)
示例5: _lsa_events_converter
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def _lsa_events_converter(events_file):
"""Make a model where each trial has its own regressor using least squares
all (LSA)
Parameters
----------
events_file : str
File that contains all events from the bold run
Yields
------
events : DataFrame
A DataFrame in which each trial has its own trial_type
"""
import pandas as pd
events = pd.read_csv(events_file, sep='\t')
events['original_trial_type'] = events['trial_type']
for cond, cond_df in events.groupby('trial_type'):
cond_idx = cond_df.index
for i_trial, trial_idx in enumerate(cond_idx):
trial_name = '{0}_{1:04d}'.format(cond, i_trial+1)
events.loc[trial_idx, 'trial_type'] = trial_name
return events
示例6: to_cortex
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def to_cortex(c):
'''
to_cortex(c) yields a Cortex object if the argument c can be coerced to one and otherwise raises
an error.
An object can be coerced to a Cortex object if:
* it is a cortex object
* it is a tuple (subject, h) where subject is a subject object and h is a subject hemisphere.
'''
if is_cortex(c): return c
elif pimms.is_vector(c) and len(c) == 2:
(s,h) = c
if is_subject(s) and pimms.is_str(h):
if h in s.hemis: return s.hemis[h]
else: raise ValueError('to_cortex: hemi %s not found in given subject' % h)
raise ValueError('Could not coerce argument to Cortex object')
####################################################################################################
# These functions deal with cortex_to_image and image_to_cortex interpolation:
示例7: to_potential
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def to_potential(f):
'''
to_potential(f) yields f if f is a potential function; if f is not, but f can be converted to
a potential function, that conversion is performed then the result is yielded.
to_potential(Ellipsis) yields a potential function whose output is simply its input (i.e., the
identity function).
to_potential(None) is equivalent to to_potential(0).
The following can be converted into potential functions:
* Anything for which pimms.is_array(x, 'number') yields True (i.e., arrays of constants).
* Any tuple (g, h) where g(x) yields a potential value and h(x) yields a jacobian matrix for
the parameter vector x.
'''
if is_potential(f): return f
elif f is Ellipsis: return identity
elif pimms.is_array(f, 'number'): return const_potential(f)
elif isinstance(f, tuple) and len(f) == 2: return PotentialLambda(f[0], f[1])
else: raise ValueError('Could not convert object of type %s to potential function' % type(f))
示例8: jacobian
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def jacobian(self, params, into=None):
params = flattest(params)
n = len(params)
ii = np.arange(n)
(rs,cs,zs) = ([],[],[])
for ((mn,mx), f) in self.pieces_with_default:
if len(ii) == 0: break
k = np.where((params >= mn) & (params <= mx))[0]
if len(k) == 0: continue
kk = ii[k]
j = f.jacobian(params[k])
if j.shape[0] == 1 and j.shape[1] > 1: j = repmat(j, j.shape[1], 1)
(rj,cj,vj) = sps.find(j)
rs.append(kk[rj])
cs.append(kk[cj])
zs.append(vj)
ii = np.delete(ii, k)
params = np.delete(params, k)
(rs,cs,zs) = [np.concatenate(us) if len(us) > 0 else [] for us in (rs,cs,zs)]
dz = sps.csr_matrix((zs, (rs,cs)), shape=(n,n))
return safe_into(into, dz)
示例9: signed_face_areas
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def signed_face_areas(faces, axis=1):
'''
signed_face_areas(faces) yields a potential function f(x) that calculates the signed area of
each face represented by the simplices matrix faces.
If faces is None, then the parameters must arrive in the form of a flattened (n x 3 x 2) matrix
where n is the number of triangles. Otherwise, the faces matrix must be either (n x 3) or (n x 3
x s); if the former, each row must list the vertex indices for the faces where the vertex matrix
is presumed to be shaped (V x 2). Alternately, faces may be a full (n x 3 x 2) simplex array of
the indices into the parameters.
The optional argument axis (default: 1) may be set to 0 if the faces argument is a matrix but
the coordinate matrix will be (2 x V) instead of (V x 2).
'''
faces = np.asarray(faces)
if len(faces.shape) == 2:
if faces.shape[1] != 3: faces = faces.T
n = 2 * (np.max(faces) + 1)
if axis == 0: tmp = np.reshape(np.arange(n), (2,-1)).T
else: tmp = np.reshape(np.arange(n), (-1,2))
faces = np.reshape(tmp[faces.flat], (-1,3,2))
faces = faces.flatten()
return compose(TriangleSignedArea2DPotential(), part(Ellipsis, faces))
示例10: face_areas
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def face_areas(faces, axis=1):
'''
face_areas(faces) yields a potential function f(x) that calculates the unsigned area of each
faces represented by the simplices matrix faces.
If faces is None, then the parameters must arrive in the form of a flattened (n x 3 x 2) matrix
where n is the number of triangles. Otherwise, the faces matrix must be either (n x 3) or (n x 3
x s); if the former, each row must list the vertex indices for the faces where the vertex matrix
is presumed to be shaped (V x 2). Alternately, faces may be a full (n x 3 x 2) simplex array of
the indices into the parameters.
The optional argument axis (default: 1) may be set to 0 if the faces argument is a matrix but
the coordinate matrix will be (2 x V) instead of (V x 2).
'''
faces = np.asarray(faces)
if len(faces.shape) == 2:
if faces.shape[1] != 3: faces = faces.T
n = 2 * (np.max(faces) + 1)
if axis == 0: tmp = np.reshape(np.arange(n), (2,-1)).T
else: tmp = np.reshape(np.arange(n), (-1,2))
faces = np.reshape(tmp[faces.flat], (-1,3,2))
faces = faces.flatten()
return compose(TriangleArea2DPotential(), part(Ellipsis, faces))
示例11: dataframe_select
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def dataframe_select(df, *cols, **filters):
'''
dataframe_select(df, k1=v1, k2=v2...) yields df after selecting all the columns in which the
given keys (k1, k2, etc.) have been selected such that the associated columns in the dataframe
contain only the rows whose cells match the given values.
dataframe_select(df, col1, col2...) selects the given columns.
dataframe_select(df, col1, col2..., k1=v1, k2=v2...) selects both.
If a value is a tuple/list of 2 elements, then it is considered a range where cells must fall
between the values. If value is a tuple/list of more than 2 elements or is a set of any length
then it is a list of values, any one of which can match the cell.
'''
ii = np.ones(len(df), dtype='bool')
for (k,v) in six.iteritems(filters):
vals = df[k].values
if pimms.is_set(v): jj = np.isin(vals, list(v))
elif pimms.is_vector(v) and len(v) == 2: jj = (v[0] <= vals) & (vals < v[1])
elif pimms.is_vector(v): jj = np.isin(vals, list(v))
else: jj = (vals == v)
ii = np.logical_and(ii, jj)
if len(ii) != np.sum(ii): df = df.loc[ii]
if len(cols) > 0: df = df[list(cols)]
return df
示例12: arccosine
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def arccosine(x, null=(-np.inf, np.inf)):
'''
arccosine(x) is equivalent to acos(x) except that it also works on sparse arrays.
The optional argument null (default, (-numpy.inf, numpy.inf)) may be specified to indicate what
value(s) should be assigned when x < -1 or x > 1. If only one number is given, then it is used
for both values; otherwise the first value corresponds to <-1 and the second to >1. If null is
None, then an error is raised when invalid values are encountered.
'''
if sps.issparse(x): x = x.toarray()
else: x = np.asarray(x)
try: (nln,nlp) = null
except Exception: (nln,nlp) = (null,null)
ii = None if nln is None else np.where(x < -1)
jj = None if nlp is None else np.where(x > 1)
if ii: x[ii] = 0
if jj: x[jj] = 0
x = np.arccos(x)
if ii: x[ii] = nln
if jj: x[jj] = nlp
return x
示例13: splrep
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def splrep(coordinates, t, order, weights, smoothing, periodic):
from scipy import interpolate
(x,y) = coordinates
# we need to skip anything where t[i] and t[i+1] are too close
wh = np.where(np.isclose(np.diff(t), 0))[0]
if len(wh) > 0:
(t,x,y) = [np.array(u) for u in (t,x,y)]
ii = np.arange(len(t))
for i in reversed(wh):
ii[i+1:-1] = ii[i+2:]
for u in (t,x,y):
u[i] = np.mean(u[i:i+2])
ii = ii[:-len(wh)]
(t,x,y) = [u[ii] for u in (t,x,y)]
xtck = interpolate.splrep(t, x, k=order, s=smoothing, w=weights, per=periodic)
ytck = interpolate.splrep(t, y, k=order, s=smoothing, w=weights, per=periodic)
return tuple([tuple([pimms.imm_array(u) for u in tck])
for tck in (xtck,ytck)])
示例14: collect
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def collect(self, index, dataDict, check=True):
"""
Collect atom given its index.
:Parameters:
#. index (int): The atom index to collect.
#. dataDict (dict): The atom data dict to collect.
#. check (boolean): Whether to check dataDict keys before
collecting. If set to False, user promises that collected
data is a dictionary and contains the needed keys.
"""
assert not self.is_collected(index), LOGGER.error("attempting to collect and already collected atom of index '%i'"%index)
# add data
if check:
assert isinstance(dataDict, dict), LOGGER.error("dataDict must be a dictionary of data where keys are dataKeys")
assert tuple(sorted(dataDict)) == self.__dataKeys, LOGGER.error("dataDict keys don't match promised dataKeys")
self.__collectedData[index] = dataDict
# set indexes sorted array
idx = np.searchsorted(a=self.__indexesSortedArray, v=index, side='left')
self.__indexesSortedArray = np.insert(self.__indexesSortedArray, idx, index)
# set state
self.__state = str(uuid.uuid1())
示例15: __on_scan_data
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import where [as 別名]
def __on_scan_data(self, event):
levels = numpy.log10(event['l'])
levels *= 10
noise = numpy.percentile(levels,
self._dynP)
for monitor in self._monitors:
freq = monitor.get_frequency()
if monitor.get_enabled():
monitor.set_noise(noise)
index = numpy.where(freq == event['f'])[0]
signal = monitor.set_level(levels[index][0],
event['timestamp'],
self._location)
if signal is not None:
signals = 'Signals: {}\r'.format(self.__count_signals() -
self._signalCount)
self.__std_out(signals, False)
if signal.end is not None:
recording = format_recording(freq, signal)
if self._pushUri is not None:
self._push.send(self._pushUri,
recording)
if self._server is not None:
self._server.send(recording)
if self._json:
sys.stdout.write(recording + '\n')