Python numpy.logical_not() Examples
The following are 30 code examples for showing how to use numpy.logical_not(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example 1
Project: DOTA_models Author: ringringyi File: balanced_positive_negative_sampler_test.py License: Apache License 2.0 | 6 votes |
def test_subsample_all_examples(self): numpy_labels = np.random.permutation(300) indicator = tf.constant(np.ones(300) == 1) numpy_labels = (numpy_labels - 200) > 0 labels = tf.constant(numpy_labels) sampler = (balanced_positive_negative_sampler. BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 32) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 32)
Example 2
Project: DOTA_models Author: ringringyi File: balanced_positive_negative_sampler_test.py License: Apache License 2.0 | 6 votes |
def test_subsample_selection(self): # Test random sampling when only some examples can be sampled: # 100 samples, 20 positives, 10 positives cannot be sampled numpy_labels = np.arange(100) numpy_indicator = numpy_labels < 90 indicator = tf.constant(numpy_indicator) numpy_labels = (numpy_labels - 80) >= 0 labels = tf.constant(numpy_labels) sampler = (balanced_positive_negative_sampler. BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 10) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 54) self.assertAllEqual(is_sampled, np.logical_and(is_sampled, numpy_indicator))
Example 3
Project: Face-skin-hair-segmentaiton-and-skin-color-evaluation Author: JACKYLUO1991 File: data_loader.py License: Apache License 2.0 | 6 votes |
def _get_result_map(self, mask): """Processing mask data""" # mask.shape[0]: row, mask.shape[1]: column result_map = np.zeros((mask.shape[1], mask.shape[0], self.nb_classes)) # 0 (background pixel), 128 (face area pixel) or 255 (hair area pixel). skin = (mask == 128) hair = (mask == 255) if self.nb_classes == 2: # hair = (mask > 128) background = np.logical_not(hair) result_map[:, :, 0] = np.where(background, 1, 0) result_map[:, :, 1] = np.where(hair, 1, 0) elif self.nb_classes == 3: background = np.logical_not(hair + skin) result_map[:, :, 0] = np.where(background, 1, 0) result_map[:, :, 1] = np.where(skin, 1, 0) result_map[:, :, 2] = np.where(hair, 1, 0) else: raise Exception("error...") return result_map
Example 4
Project: object_detector_app Author: datitran File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_all_examples(self): numpy_labels = np.random.permutation(300) indicator = tf.constant(np.ones(300) == 1) numpy_labels = (numpy_labels - 200) > 0 labels = tf.constant(numpy_labels) sampler = (balanced_positive_negative_sampler. BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 32) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 32)
Example 5
Project: object_detector_app Author: datitran File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_selection(self): # Test random sampling when only some examples can be sampled: # 100 samples, 20 positives, 10 positives cannot be sampled numpy_labels = np.arange(100) numpy_indicator = numpy_labels < 90 indicator = tf.constant(numpy_indicator) numpy_labels = (numpy_labels - 80) >= 0 labels = tf.constant(numpy_labels) sampler = (balanced_positive_negative_sampler. BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 10) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 54) self.assertAllEqual(is_sampled, np.logical_and(is_sampled, numpy_indicator))
Example 6
Project: pymoo Author: msu-coinlab File: decision_making.py License: Apache License 2.0 | 6 votes |
def find_outliers_upper_tail(mu): # remove values that are nan I = np.where(np.logical_and(np.logical_not(np.isnan(mu)), np.logical_not(np.isinf(mu))))[0] mu = mu[I] # calculate mean and sigma mean, sigma = mu.mean(), mu.std() # calculate the deviation in terms of sigma deviation = (mu - mean) / sigma # 2 * sigma is considered as an outlier S = I[np.where(deviation >= 2)[0]] if len(S) == 0 and deviation.max() > 1: S = I[[np.argmax(mu)]] return S if len(S) > 0 else None
Example 7
Project: pyscf Author: pyscf File: test_kproxy_supercell_hf.py License: Apache License 2.0 | 6 votes |
def test_class(self): """Tests container behavior.""" model = kproxy_supercell.TDProxy(self.model_krhf, "hf", [self.k, 1, 1], density_fitting_hf) model.nroots = self.td_model_krhf.nroots assert not model.fast model.kernel() testing.assert_allclose(model.e, self.td_model_krhf.e, atol=1e-5) # Test real testing.assert_allclose(model.e.imag, 0, atol=1e-8) nocc = nvirt = 4 testing.assert_equal(model.xy.shape, (len(model.e), 2, self.k, self.k, nocc, nvirt)) # Test only non-degenerate roots d = abs(model.e[1:] - model.e[:-1]) < 1e-8 d = numpy.logical_or(numpy.concatenate(([False], d)), numpy.concatenate((d, [False]))) d = numpy.logical_not(d) assert_vectors_close(self.td_model_krhf.xy[d], model.xy[d], atol=1e-5)
Example 8
Project: pyqmc Author: WagnerGroup File: accumulators.py License: MIT License | 6 votes |
def _node_regr(self, configs, wf): """ Return true if a given configuration is within nodal_cutoff of the node Also return the regularization polynomial if true, f = a * r ** 2 + b * r ** 4 + c * r ** 3 """ ne = configs.configs.shape[1] d2 = 0.0 for e in range(ne): d2 += np.sum(wf.gradient(e, configs.electron(e)) ** 2, axis=0) r = 1.0 / d2 mask = r < self.nodal_cutoff ** 2 c = 7.0 / (self.nodal_cutoff ** 6) b = -15.0 / (self.nodal_cutoff ** 4) a = 9.0 / (self.nodal_cutoff ** 2) f = a * r + b * r ** 2 + c * r ** 3 f[np.logical_not(mask)] = 1.0 return mask, f
Example 9
Project: pyqmc Author: WagnerGroup File: cvmc.py License: MIT License | 6 votes |
def _node_regr(self, configs, wf): """ Return true if a given configuration is within nodal_cutoff of the node Also return the regularization polynomial if true, f = a * r ** 2 + b * r ** 4 + c * r ** 3 """ ne = configs.configs.shape[1] d2 = 0.0 for e in range(ne): d2 += np.sum(wf.gradient(e, configs.electron(e)) ** 2, axis=0) r = 1.0 / d2 mask = r < self.nodal_cutoff ** 2 c = 7.0 / (self.nodal_cutoff ** 6) b = -15.0 / (self.nodal_cutoff ** 4) a = 9.0 / (self.nodal_cutoff ** 2) f = a * r + b * r ** 2 + c * r ** 3 f[np.logical_not(mask)] = 1.0 return mask, f
Example 10
Project: connecting_the_dots Author: autonomousvision File: geometry.py License: MIT License | 6 votes |
def color_pcl(pcl, K, im, color_axis=0, as_int=True, invalid_color=[0,0,0]): uvd = K @ pcl.T uvd /= uvd[2] uvd = np.round(uvd).astype(np.int32) mask = np.logical_and(uvd[0] >= 0, uvd[1] >= 0) color = np.empty((pcl.shape[0], 3), dtype=im.dtype) if color_axis == 0: mask = np.logical_and(mask, uvd[0] < im.shape[2]) mask = np.logical_and(mask, uvd[1] < im.shape[1]) uvd = uvd[:,mask] color[mask,:] = im[:,uvd[1],uvd[0]].T elif color_axis == 2: mask = np.logical_and(mask, uvd[0] < im.shape[1]) mask = np.logical_and(mask, uvd[1] < im.shape[0]) uvd = uvd[:,mask] color[mask,:] = im[uvd[1],uvd[0], :] else: raise Exception('invalid color_axis') color[np.logical_not(mask),:3] = invalid_color if as_int: color = (255.0 * color).astype(np.int32) return color
Example 11
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_all_examples_dynamic(self): numpy_labels = np.random.permutation(300) indicator = tf.constant(np.ones(300) == 1) numpy_labels = (numpy_labels - 200) > 0 labels = tf.constant(numpy_labels) sampler = ( balanced_positive_negative_sampler.BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 32) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 32)
Example 12
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_all_examples_static(self): numpy_labels = np.random.permutation(300) indicator = np.array(np.ones(300) == 1, np.bool) numpy_labels = (numpy_labels - 200) > 0 labels = np.array(numpy_labels, np.bool) def graph_fn(indicator, labels): sampler = ( balanced_positive_negative_sampler.BalancedPositiveNegativeSampler( is_static=True)) return sampler.subsample(indicator, 64, labels) is_sampled = self.execute(graph_fn, [indicator, labels]) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 32) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 32)
Example 13
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_selection_dynamic(self): # Test random sampling when only some examples can be sampled: # 100 samples, 20 positives, 10 positives cannot be sampled numpy_labels = np.arange(100) numpy_indicator = numpy_labels < 90 indicator = tf.constant(numpy_indicator) numpy_labels = (numpy_labels - 80) >= 0 labels = tf.constant(numpy_labels) sampler = ( balanced_positive_negative_sampler.BalancedPositiveNegativeSampler()) is_sampled = sampler.subsample(indicator, 64, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 10) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 54) self.assertAllEqual(is_sampled, np.logical_and(is_sampled, numpy_indicator))
Example 14
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_selection_static(self): # Test random sampling when only some examples can be sampled: # 100 samples, 20 positives, 10 positives cannot be sampled. numpy_labels = np.arange(100) numpy_indicator = numpy_labels < 90 indicator = np.array(numpy_indicator, np.bool) numpy_labels = (numpy_labels - 80) >= 0 labels = np.array(numpy_labels, np.bool) def graph_fn(indicator, labels): sampler = ( balanced_positive_negative_sampler.BalancedPositiveNegativeSampler( is_static=True)) return sampler.subsample(indicator, 64, labels) is_sampled = self.execute(graph_fn, [indicator, labels]) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 10) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 54) self.assertAllEqual(is_sampled, np.logical_and(is_sampled, numpy_indicator))
Example 15
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_selection_larger_batch_size_static(self): # Test random sampling when total number of examples that can be sampled are # less than batch size: # 100 samples, 50 positives, 40 positives cannot be sampled, batch size 64. # It should still return 64 samples, with 4 of them that couldn't have been # sampled. numpy_labels = np.arange(100) numpy_indicator = numpy_labels < 60 indicator = np.array(numpy_indicator, np.bool) numpy_labels = (numpy_labels - 50) >= 0 labels = np.array(numpy_labels, np.bool) def graph_fn(indicator, labels): sampler = ( balanced_positive_negative_sampler.BalancedPositiveNegativeSampler( is_static=True)) return sampler.subsample(indicator, 64, labels) is_sampled = self.execute(graph_fn, [indicator, labels]) self.assertTrue(sum(is_sampled) == 64) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) >= 10) self.assertTrue( sum(np.logical_and(np.logical_not(numpy_labels), is_sampled)) >= 50) self.assertTrue(sum(np.logical_and(is_sampled, numpy_indicator)) == 60)
Example 16
Project: vehicle_counting_tensorflow Author: ahmetozlu File: balanced_positive_negative_sampler_test.py License: MIT License | 6 votes |
def test_subsample_selection_no_batch_size(self): # Test random sampling when only some examples can be sampled: # 1000 samples, 6 positives (5 can be sampled). numpy_labels = np.arange(1000) numpy_indicator = numpy_labels < 999 indicator = tf.constant(numpy_indicator) numpy_labels = (numpy_labels - 994) >= 0 labels = tf.constant(numpy_labels) sampler = (balanced_positive_negative_sampler. BalancedPositiveNegativeSampler(0.01)) is_sampled = sampler.subsample(indicator, None, labels) with self.test_session() as sess: is_sampled = sess.run(is_sampled) self.assertTrue(sum(is_sampled) == 500) self.assertTrue(sum(np.logical_and(numpy_labels, is_sampled)) == 5) self.assertTrue(sum(np.logical_and( np.logical_not(numpy_labels), is_sampled)) == 495) self.assertAllEqual(is_sampled, np.logical_and(is_sampled, numpy_indicator))
Example 17
Project: recruit Author: Frank-qlu File: test_extras.py License: Apache License 2.0 | 6 votes |
def test_2d_with_missing(self): # Test cov on 2D variable w/ missing value x = self.data x[-1] = masked x = x.reshape(3, 4) valid = np.logical_not(getmaskarray(x)).astype(int) frac = np.dot(valid, valid.T) xf = (x - x.mean(1)[:, None]).filled(0) assert_almost_equal(cov(x), np.cov(xf) * (x.shape[1] - 1) / (frac - 1.)) assert_almost_equal(cov(x, bias=True), np.cov(xf, bias=True) * x.shape[1] / frac) frac = np.dot(valid.T, valid) xf = (x - x.mean(0)).filled(0) assert_almost_equal(cov(x, rowvar=False), (np.cov(xf, rowvar=False) * (x.shape[0] - 1) / (frac - 1.))) assert_almost_equal(cov(x, rowvar=False, bias=True), (np.cov(xf, rowvar=False, bias=True) * x.shape[0] / frac))
Example 18
Project: recruit Author: Frank-qlu File: test_ufunc.py License: Apache License 2.0 | 6 votes |
def test_object_logical(self): a = np.array([3, None, True, False, "test", ""], dtype=object) assert_equal(np.logical_or(a, None), np.array([x or None for x in a], dtype=object)) assert_equal(np.logical_or(a, True), np.array([x or True for x in a], dtype=object)) assert_equal(np.logical_or(a, 12), np.array([x or 12 for x in a], dtype=object)) assert_equal(np.logical_or(a, "blah"), np.array([x or "blah" for x in a], dtype=object)) assert_equal(np.logical_and(a, None), np.array([x and None for x in a], dtype=object)) assert_equal(np.logical_and(a, True), np.array([x and True for x in a], dtype=object)) assert_equal(np.logical_and(a, 12), np.array([x and 12 for x in a], dtype=object)) assert_equal(np.logical_and(a, "blah"), np.array([x and "blah" for x in a], dtype=object)) assert_equal(np.logical_not(a), np.array([not x for x in a], dtype=object)) assert_equal(np.logical_or.reduce(a), 3) assert_equal(np.logical_and.reduce(a), None)
Example 19
Project: SAR-change-detection Author: fouronnes File: rj.py License: MIT License | 6 votes |
def number_of_changes(self, percent): """ The 'point of change' algorithm for each pixel, vectorized using numpy array operations Returns a 1D array """ image_shape = self.shape j = np.ones(self.size, dtype=int) l = np.ones(self.size, dtype=int) result = np.zeros(self.size, dtype=np.float32) for repeat in range(1, self.k): # Numpy array indexing black magic to obtain an image mask # indicating if there is change at this (l, j) time point change_mask = (1 - self.K[l, j, np.arange(self.size)]) < percent # Where there is change l[change_mask] += j[change_mask] j[change_mask] = 1 result[change_mask] += 1 # Where there is no change j[np.logical_not(change_mask)] += 1 return result
Example 20
Project: knmt Author: fabiencro File: beam_search.py License: GNU General Public License v3.0 | 6 votes |
def iterate_eos_scores(new_scores, eos_idx, existing_cases = None, beam_width=None)->Tuple[Sequence, Sequence, Sequence]: """ Return the indices and scores corresponding to the eos word. Meaning of returned values is the same as for iterate_best_score """ nb_cases, v_size = new_scores.shape num_cases = np.arange(nb_cases, dtype=np.int32) scores = -cuda.to_cpu(new_scores[:, eos_idx]) if existing_cases is not None: need_to_return = np.logical_not(np.isin(num_cases, existing_cases)) num_cases = num_cases[need_to_return] scores = scores[need_to_return] idx_in_cases = np.full(num_cases.shape[0], eos_idx, dtype=np.int32) if beam_width is not None: if beam_width < len(scores): idx_to_keep = np.argpartition(scores, beam_width)[:beam_width] scores = scores[idx_to_keep] num_cases = num_cases[idx_to_keep] idx_in_cases = idx_in_cases[idx_to_keep] return num_cases, idx_in_cases, scores
Example 21
Project: Collaborative-Learning-for-Weakly-Supervised-Object-Detection Author: Sunarker File: layer.py License: MIT License | 5 votes |
def _shuffle_roidb_inds(self): """Randomly permute the training roidb.""" # If the random flag is set, # then the database is shuffled according to system time # Useful for the validation set if self._random: st0 = np.random.get_state() millis = int(round(time.time() * 1000)) % 4294967295 np.random.seed(millis) if cfg.TRAIN.ASPECT_GROUPING: raise NotImplementedError ''' widths = np.array([r['width'] for r in self._roidb]) heights = np.array([r['height'] for r in self._roidb]) horz = (widths >= heights) vert = np.logical_not(horz) horz_inds = np.where(horz)[0] vert_inds = np.where(vert)[0] inds = np.hstack(( np.random.permutation(horz_inds), np.random.permutation(vert_inds))) inds = np.reshape(inds, (-1, 2)) row_perm = np.random.permutation(np.arange(inds.shape[0])) inds = np.reshape(inds[row_perm, :], (-1,)) self._perm = inds ''' else: self._perm = np.random.permutation(np.arange(len(self._roidb))) # Restore the random state if self._random: np.random.set_state(st0) self._cur = 0
Example 22
Project: neuropythy Author: noahbenson File: core.py License: GNU Affero General Public License v3.0 | 5 votes |
def white_to_pial_vectors(white_surface, pial_surface): ''' cortex.white_to_pial_vectors is a (3 x n) matrix of the unit direction vectors that point from the n vertices in the cortex's white surface to their equivalent positions in the pial surface. ''' u = pial_surface.coordinates - white_surface.coordinates d = np.sqrt(np.sum(u**2, axis=0)) z = np.isclose(d, 0) return pimms.imm_array(np.logical_not(z) / (d + z))
Example 23
Project: neuropythy Author: noahbenson File: util.py License: GNU Affero General Public License v3.0 | 5 votes |
def normalize(u): ''' normalize(u) yields a vetor with the same direction as u but unit length, or, if u has zero length, yields u. ''' u = np.asarray(u) unorm = np.sqrt(np.sum(u**2, axis=0)) z = np.isclose(unorm, 0) c = np.logical_not(z) / (unorm + z) return u * c
Example 24
Project: neuropythy Author: noahbenson File: util.py License: GNU Affero General Public License v3.0 | 5 votes |
def tetrahedral_barycentric_coordinates(tetra, pt): ''' tetrahedral_barycentric_coordinates(tetrahedron, point) yields a list of weights for each vertex in the given tetrahedron in the same order as the vertices given. If all weights are 0, then the point is not inside the tetrahedron. ''' # I found a description of this algorithm here (Nov. 2017): # http://steve.hollasch.net/cgindex/geometry/ptintet.html tetra = np.asarray(tetra) pt = np.asarray(pt) if tetra.shape[0] != 4: if tetra.shape[1] == 4: if tetra.shape[0] == 3: tetra = np.transpose(tetra, (1,0) if len(tetra.shape) == 2 else (1,0,2)) else: tetra = np.transpose(tetra, (1,2,0)) elif tetra.shape[1] == 3: tetra = np.transpose(tetra, (2,1,0)) else: tetra = np.transpose(tetra, (2,0,1)) elif tetra.shape[1] != 3: tetra = np.transpose(tetra, (0,2,1)) if pt.shape[0] != 3: pt = pt.T # Okay, calculate the determinants... d_ = det_4x3(tetra[0], tetra[1], tetra[2], tetra[3]) d0 = det_4x3(pt, tetra[1], tetra[2], tetra[3]) d1 = det_4x3(tetra[0], pt, tetra[2], tetra[3]) d2 = det_4x3(tetra[0], tetra[1], pt, tetra[3]) d3 = det_4x3(tetra[0], tetra[1], tetra[2], pt) s_ = np.sign(d_) z_ = np.logical_or(np.any([s_ * si == -1 for si in np.sign([d0,d1,d2,d3])], axis=0), np.isclose(d_,0)) x_ = np.logical_not(z_) d_inv = x_ / (x_ * d_ + z_) return np.asarray([d_inv * dq for dq in (d0,d1,d2,d3)])
Example 25
Project: neuropythy Author: noahbenson File: util.py License: GNU Affero General Public License v3.0 | 5 votes |
def point_in_tetrahedron(tetra, pt): ''' point_in_tetrahedron(tetrahedron, point) yields True if the given point is in the given tetrahedron. If either tetrahedron or point (or both) are lists of shapes/points, then this calculation is automatically threaded over all the given arguments. ''' bcs = tetrahedral_barycentric_coordinates(tetra, pt) return np.logical_not(np.all(np.isclose(bcs, 0), axis=0))
Example 26
Project: neuropythy Author: noahbenson File: retinotopy.py License: GNU Affero General Public License v3.0 | 5 votes |
def _retinotopy_vectors_to_float(ang, ecc, wgt, weight_min=0): ok = np.isfinite(wgt) & np.isfinite(ecc) & np.isfinite(ang) ok[ok] &= wgt[ok] > weight_min bad = np.logical_not(ok) if np.sum(bad) > 0: wgt = np.array(wgt) wgt[bad] = 0 return (ang, ecc, wgt)
Example 27
Project: neuropythy Author: noahbenson File: core.py License: GNU Affero General Public License v3.0 | 5 votes |
def zinv(x, null=0): ''' zinv(x) yields 1/x if x is not close to 0 and 0 otherwise. Automatically threads over arrays and supports sparse-arrays. The optional argument null (default: 0) may be given to specify that zeros in the arary x should instead be replaced with the given value. Note that if this value is not equal to 0, then any sparse array passed to zinv must be reified. The zinv function never raises an error due to divide-by-zero; if you desire this behavior, use the inv function instead. ''' if sps.issparse(x): if null != 0: return zinv(x.toarray(), null=null) x = x.copy() x.data = zinv(x.data) try: x.eliminate_zeros() except Exception: pass return x else: x = np.asarray(x) z = np.isclose(x, 0) r = np.logical_not(z) / (x + z) if null == 0: return r r[z] = null return r
Example 28
Project: neuropythy Author: noahbenson File: core.py License: GNU Affero General Public License v3.0 | 5 votes |
def czdivide(a, b, null=0): ''' czdivide(a, b) returns the quotient a / b as a numpy array object. Like numpy's divide function or a/b syntax, czdivide will thread over the latest dimension possible. Unlike numpy's divide, czdivide works with sparse matrices. Additionally, czdivide multiplies a by the zinv of b, so divide-by-zero entries are replaced with 0 in the result. The optional argument null (default: 0) may be given to specify that zeros in the arary b should instead be replaced with the given value in the result. Note that if this value is not equal to 0, then any sparse array passed as argument b must be reified. The czdivide function never raises an error due to divide-by-zero; if you desire this behavior, use the cdivide function instead. ''' if null == 0: return a.multiply(zinv(b)) if sps.issparse(a) else a * zinv(b) elif sps.issparse(b): b = b.toarray() else: b = np.asarray(b) z = np.isclose(b, 0) q = np.logical_not(z) zi = q / (b + z) if sps.issparse(a): r = a.multiply(zi).tocsr() else: r = np.asarray(a) * zi r[np.ones(a.shape, dtype=np.bool)*z] = null return r
Example 29
Project: DOTA_models Author: ringringyi File: model_test.py License: Apache License 2.0 | 5 votes |
def test_predicted_scores_are_within_range(self): ocr_model = self.create_model() _, _, scores = ocr_model.char_predictions(self.fake_logits) with self.test_session() as sess: scores_np = sess.run(scores) values_in_range = (scores_np >= 0.0) & (scores_np <= 1.0) self.assertTrue( np.all(values_in_range), msg=('Scores contains out of the range values %s' % scores_np[np.logical_not(values_in_range)]))
Example 30
Project: DOTA_models Author: ringringyi File: depth_utils.py License: Apache License 2.0 | 5 votes |
def bin_points(XYZ_cms, map_size, z_bins, xy_resolution): """Bins points into xy-z bins XYZ_cms is ... x H x W x3 Outputs is ... x map_size x map_size x (len(z_bins)+1) """ sh = XYZ_cms.shape XYZ_cms = XYZ_cms.reshape([-1, sh[-3], sh[-2], sh[-1]]) n_z_bins = len(z_bins)+1 map_center = (map_size-1.)/2. counts = [] isvalids = [] for XYZ_cm in XYZ_cms: isnotnan = np.logical_not(np.isnan(XYZ_cm[:,:,0])) X_bin = np.round(XYZ_cm[:,:,0] / xy_resolution + map_center).astype(np.int32) Y_bin = np.round(XYZ_cm[:,:,1] / xy_resolution + map_center).astype(np.int32) Z_bin = np.digitize(XYZ_cm[:,:,2], bins=z_bins).astype(np.int32) isvalid = np.array([X_bin >= 0, X_bin < map_size, Y_bin >= 0, Y_bin < map_size, Z_bin >= 0, Z_bin < n_z_bins, isnotnan]) isvalid = np.all(isvalid, axis=0) ind = (Y_bin * map_size + X_bin) * n_z_bins + Z_bin ind[np.logical_not(isvalid)] = 0 count = np.bincount(ind.ravel(), isvalid.ravel().astype(np.int32), minlength=map_size*map_size*n_z_bins) count = np.reshape(count, [map_size, map_size, n_z_bins]) counts.append(count) isvalids.append(isvalid) counts = np.array(counts).reshape(list(sh[:-3]) + [map_size, map_size, n_z_bins]) isvalids = np.array(isvalids).reshape(list(sh[:-3]) + [sh[-3], sh[-2], 1]) return counts, isvalids