Python numpy.nanargmin() Examples
The following are 30 code examples for showing how to use numpy.nanargmin(). 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: everest Author: rodluger File: standalone.py License: MIT License | 6 votes |
def mouse_drag(self, event): ''' ''' if event.inaxes == self.ax and event.button == 1: # Index of nearest point i = np.nanargmin(((event.xdata - self.x) / self.nx) ** 2) j = np.nanargmin(((event.ydata - self.y) / self.ny) ** 2) if (i == self.last_i) and (j == self.last_j): return else: self.last_i = i self.last_j = j # Toggle pixel if self.aperture[j, i]: self.aperture[j, i] = 0 else: self.aperture[j, i] = 1 # Update the contour self.update()
Example 2
Project: everest Author: rodluger File: standalone.py License: MIT License | 6 votes |
def mouse_click(self, event): ''' ''' if event.mouseevent.inaxes == self.ax: # Index of nearest point i = np.nanargmin( ((event.mouseevent.xdata - self.x) / self.nx) ** 2) j = np.nanargmin( ((event.mouseevent.ydata - self.y) / self.ny) ** 2) self.last_i = i self.last_j = j # Toggle pixel if self.aperture[j, i]: self.aperture[j, i] = 0 else: self.aperture[j, i] = 1 # Update the contour self.update()
Example 3
Project: privacy Author: tensorflow File: rdp_accountant.py License: Apache License 2.0 | 6 votes |
def _compute_eps(orders, rdp, delta): """Compute epsilon given a list of RDP values and target delta. Args: orders: An array (or a scalar) of orders. rdp: A list (or a scalar) of RDP guarantees. delta: The target delta. Returns: Pair of (eps, optimal_order). Raises: ValueError: If input is malformed. """ orders_vec = np.atleast_1d(orders) rdp_vec = np.atleast_1d(rdp) if len(orders_vec) != len(rdp_vec): raise ValueError("Input lists must have the same length.") eps = rdp_vec - math.log(delta) / (orders_vec - 1) idx_opt = np.nanargmin(eps) # Ignore NaNs return eps[idx_opt], orders_vec[idx_opt]
Example 4
Project: DeepLabCut Author: DeepLabCut File: refinement.py License: GNU Lesser General Public License v3.0 | 6 votes |
def OnKeyPressed(self, event=None): if event.GetKeyCode() == wx.WXK_RIGHT: self.nextImage(event=None) elif event.GetKeyCode() == wx.WXK_LEFT: self.prevImage(event=None) elif event.GetKeyCode() == wx.WXK_BACK: pos_abs = event.GetPosition() inv = self.axes.transData.inverted() pos_rel = list(inv.transform(pos_abs)) pos_rel[1] = ( self.axes.get_ylim()[0] - pos_rel[1] ) # Recall y-axis is inverted i = np.nanargmin( [self.calc_distance(*dp.point.center, *pos_rel) for dp in self.drs] ) closest_dp = self.drs[i] msg = wx.MessageBox( "Do you want to remove the label %s ?" % closest_dp.bodyParts, "Remove!", wx.YES_NO | wx.ICON_WARNING, ) if msg == 2: closest_dp.delete_data()
Example 5
Project: DeepLabCut Author: DeepLabCut File: multiple_individuals_refinement_toolbox.py License: GNU Lesser General Public License v3.0 | 6 votes |
def OnKeyPressed(self, event=None): if event.GetKeyCode() == wx.WXK_RIGHT: self.nextImage(event=None) elif event.GetKeyCode() == wx.WXK_LEFT: self.prevImage(event=None) elif event.GetKeyCode() == wx.WXK_BACK: pos_abs = event.GetPosition() inv = self.axes.transData.inverted() pos_rel = list(inv.transform(pos_abs)) pos_rel[1] = ( self.axes.get_ylim()[0] - pos_rel[1] ) # Recall y-axis is inverted i = np.nanargmin( [self.calc_distance(*dp.point.center, *pos_rel) for dp in self.drs] ) closest_dp = self.drs[i] msg = wx.MessageBox( f"Do you want to remove the label {closest_dp.individual_name}:{closest_dp.bodyParts}?", "Remove!", wx.YES_NO | wx.ICON_WARNING, ) if msg == 2: closest_dp.delete_data()
Example 6
Project: caml-mimic Author: jamesmullenbach File: persistence.py License: MIT License | 6 votes |
def save_everything(args, metrics_hist_all, model, model_dir, params, criterion, evaluate=False): """ Save metrics, model, params all in model_dir """ save_metrics(metrics_hist_all, model_dir) params['model_dir'] = model_dir save_params_dict(params) if not evaluate: #save the model with the best criterion metric if not np.all(np.isnan(metrics_hist_all[0][criterion])): if criterion == 'loss_dev': eval_val = np.nanargmin(metrics_hist_all[0][criterion]) else: eval_val = np.nanargmax(metrics_hist_all[0][criterion]) if eval_val == len(metrics_hist_all[0][criterion]) - 1: #save state dict sd = model.cpu().state_dict() torch.save(sd, model_dir + "/model_best_%s.pth" % criterion) if args.gpu: model.cuda() print("saved metrics, params, model to directory %s\n" % (model_dir))
Example 7
Project: models Author: PipelineAI File: rdp_accountant.py License: Apache License 2.0 | 6 votes |
def _compute_eps(orders, rdp, delta): """Compute epsilon given a list of RDP values and target delta. Args: orders: An array (or a scalar) of orders. rdp: A list (or a scalar) of RDP guarantees. delta: The target delta. Returns: Pair of (eps, optimal_order). Raises: ValueError: If input is malformed. """ orders_vec = np.atleast_1d(orders) rdp_vec = np.atleast_1d(rdp) if len(orders_vec) != len(rdp_vec): raise ValueError("Input lists must have the same length.") eps = rdp_vec - math.log(delta) / (orders_vec - 1) idx_opt = np.nanargmin(eps) # Ignore NaNs return eps[idx_opt], orders_vec[idx_opt]
Example 8
Project: apollo Author: src-d File: hasher.py License: GNU General Public License v3.0 | 6 votes |
def weighted_minhash(v, sample_size, rs, ln_cs, betas): if sample_size != rs.shape[0]: raise ValueError("Input sample size mismatch, expecting %d" % rs.shape[0]) if len(v) != rs.shape[1]: raise ValueError("Input dimension mismatch, expecting %d" % rs.shape[1]) hashvalues = numpy.zeros((sample_size, 2), dtype=numpy.uint32) vzeros = (v == 0) if vzeros.all(): raise ValueError("Input is all zeros") v[vzeros] = numpy.nan vlog = numpy.log(v) v[vzeros] = 0 for i in range(sample_size): t = numpy.floor((vlog / rs[i]) + betas[i]) ln_y = (t - betas[i]) * rs[i] ln_a = ln_cs[i] - ln_y - rs[i] k = numpy.nanargmin(ln_a) hashvalues[i][0], hashvalues[i][1] = k, int(t[k]) return hashvalues
Example 9
Project: GroundedTranslation Author: elliottd File: Callbacks.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def early_stop_decision(self, epoch, val_metric, val_loss): ''' Stop training if validation loss has stopped decreasing and validation BLEU score has not increased for --patience epochs. WARNING: quits with sys.exit(0). TODO: this doesn't yet support early stopping based on TER ''' if val_loss < self.best_val_loss: self.wait = 0 elif val_metric > self.best_val_metric or self.args.no_early_stopping: self.wait = 0 else: self.wait += 1 if self.wait >= self.patience: # we have exceeded patience if val_loss > self.best_val_loss: # and loss is no longer decreasing logger.info("Epoch %d: early stopping", epoch) handle = open("checkpoints/%s/summary" % self.args.run_string, "a") handle.write("Early stopping because patience exceeded\n") best_bleu = np.nanargmax(self.val_metric) best_loss = np.nanargmin(self.val_loss) logger.info("Best Metric: %d | val loss %.5f score %.2f", best_bleu+1, self.val_loss[best_bleu], self.val_metric[best_bleu]) logger.info("Best loss: %d | val loss %.5f score %.2f", best_loss+1, self.val_loss[best_loss], self.val_metric[best_loss]) handle.close() sys.exit(0)
Example 10
Project: GroundedTranslation Author: elliottd File: Callbacks.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def log_performance(self): ''' Record model performance so far, based on validation loss. ''' handle = open("checkpoints/%s/summary" % self.args.run_string, "w") for epoch in range(len(self.val_loss)): handle.write("Checkpoint %d | val loss: %.5f bleu %.2f\n" % (epoch+1, self.val_loss[epoch], self.val_metric[epoch])) logger.info("---") # break up the presentation for clarity # BLEU is the quickest indicator of performance for our task # but loss is our objective function best_bleu = np.nanargmax(self.val_metric) best_loss = np.nanargmin(self.val_loss) logger.info("Best Metric: %d | val loss %.5f score %.2f", best_bleu+1, self.val_loss[best_bleu], self.val_metric[best_bleu]) handle.write("Best Metric: %d | val loss %.5f score %.2f\n" % (best_bleu+1, self.val_loss[best_bleu], self.val_metric[best_bleu])) logger.info("Best loss: %d | val loss %.5f score %.2f", best_loss+1, self.val_loss[best_loss], self.val_metric[best_loss]) handle.write("Best loss: %d | val loss %.5f score %.2f\n" % (best_loss+1, self.val_loss[best_loss], self.val_metric[best_loss])) logger.info("Early stopping marker: wait/patience: %d/%d\n", self.wait, self.patience) handle.write("Early stopping marker: wait/patience: %d/%d\n" % (self.wait, self.patience)) handle.close()
Example 11
Project: recruit Author: Frank-qlu File: test_interaction.py License: Apache License 2.0 | 5 votes |
def test_nanfunctions_matrices_general(): # Check that it works and that type and # shape are preserved # 2018-04-29: moved here from core.tests.test_nanfunctions mat = np.matrix(np.eye(3)) for f in (np.nanargmin, np.nanargmax, np.nansum, np.nanprod, np.nanmean, np.nanvar, np.nanstd): res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 1)) res = f(mat) assert_(np.isscalar(res)) for f in np.nancumsum, np.nancumprod: res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3*3))
Example 12
Project: recruit Author: Frank-qlu File: test_nanfunctions.py License: Apache License 2.0 | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 13
Project: mplcursors Author: anntzer File: _pick_info.py License: MIT License | 5 votes |
def _(artist, event): # No need to call `line.contains` as we're going to redo the work anyways # (also see matplotlib/matplotlib#6645, though that's fixed in mpl2.1). # Always work in screen coordinates, as this is how we need to compute # distances. Note that the artist transform may be different from the axes # transform (e.g., for axvline). xy = event.x, event.y data_xy = artist.get_xydata() data_screen_xy = artist.get_transform().transform(data_xy) sels = [] # If markers are visible, find the closest vertex. if artist.get_marker() not in ["None", "none", " ", "", None]: ds = np.hypot(*(xy - data_screen_xy).T) try: argmin = np.nanargmin(ds) except ValueError: # Raised by nanargmin([nan]). pass else: target = _with_attrs( _untransform( # More precise than transforming back. data_xy[argmin], data_screen_xy[argmin], artist.axes), index=argmin) sels.append(Selection(artist, target, ds[argmin], None, None)) # If lines are visible, find the closest projection. if (artist.get_linestyle() not in ["None", "none", " ", "", None] and len(artist.get_xydata()) > 1): sel = _compute_projection_pick(artist, artist.get_path(), xy) if sel is not None: sel.target.index = { "_draw_lines": lambda _, index: index, "_draw_steps_pre": Index.pre_index, "_draw_steps_mid": Index.mid_index, "_draw_steps_post": Index.post_index}[ Line2D.drawStyles[artist.get_drawstyle()]]( len(data_xy), sel.target.index) sels.append(sel) sel = min(sels, key=lambda sel: sel.dist, default=None) return sel if sel and sel.dist < artist.get_pickradius() else None
Example 14
Project: mplcursors Author: anntzer File: _pick_info.py License: MIT License | 5 votes |
def _(artist, event): offsets = artist.get_offsets() offsets_screen = artist.get_offset_transform().transform(offsets) ds = np.hypot(*(offsets_screen - [event.x, event.y]).T) argmin = np.nanargmin(ds) if ds[argmin] < artist.get_pickradius(): target = _with_attrs( _untransform(offsets[argmin], offsets_screen[argmin], artist.axes), index=argmin) return Selection(artist, target, ds[argmin], None, None) else: return None
Example 15
Project: lambda-packs Author: ryfeus File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 16
Project: auto-alt-text-lambda-api Author: abhisuri97 File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 17
Project: vnpy_crypto Author: birforce File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 18
Project: pycircstat Author: circstat File: clustering.py License: MIT License | 5 votes |
def train(self, alpha): """ Finds the agglomerative clustering on the data alpha :param alpha: angles in radians :returns: data, cluster ids """ assert len(alpha.shape) == 1, 'Clustering works only for 1d data' n = len(alpha) cid = np.arange(n, dtype=int) nu = n while nu > self.numclust: mu = np.asarray([descr.mean(alpha[cid == j]) if j in cid else np.Inf for j in range(n)]) D = np.abs(descr.pairwise_cdiff(mu)) idx = np.triu_indices(n,1) min = np.nanargmin(D[idx]) cid[cid == cid[idx[0][min]]] = cid[idx[1][min]] nu -= 1 cid2 = np.empty_like(cid) for i,j in enumerate(np.unique(cid)): cid2[cid == j] = i ucid = np.unique(cid2) self.centroids = np.asarray([descr.mean(alpha[cid2 == i]) for i in ucid]) self.cluster_ids = ucid self.r = np.asarray([descr.resultant_vector_length(alpha[cid2 == i]) for i in ucid]) return alpha, cid2
Example 19
Project: object_centric_VAD Author: fjchange File: evaluate.py License: MIT License | 5 votes |
def cal_eer(fpr, tpr): # makes fpr + tpr = 1 eer = fpr[np.nanargmin(np.absolute((fpr + tpr - 1)))] return eer
Example 20
Project: Computable Author: ktraunmueller File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 21
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: test_interaction.py License: MIT License | 5 votes |
def test_nanfunctions_matrices_general(): # Check that it works and that type and # shape are preserved # 2018-04-29: moved here from core.tests.test_nanfunctions mat = np.matrix(np.eye(3)) for f in (np.nanargmin, np.nanargmax, np.nansum, np.nanprod, np.nanmean, np.nanvar, np.nanstd): res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 1)) res = f(mat) assert_(np.isscalar(res)) for f in np.nancumsum, np.nancumprod: res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3*3))
Example 22
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 23
Project: GraphicDesignPatternByPython Author: Relph1119 File: test_interaction.py License: MIT License | 5 votes |
def test_nanfunctions_matrices_general(): # Check that it works and that type and # shape are preserved # 2018-04-29: moved here from core.tests.test_nanfunctions mat = np.matrix(np.eye(3)) for f in (np.nanargmin, np.nanargmax, np.nansum, np.nanprod, np.nanmean, np.nanvar, np.nanstd): res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 1)) res = f(mat) assert_(np.isscalar(res)) for f in np.nancumsum, np.nancumprod: res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3*3))
Example 24
Project: GraphicDesignPatternByPython Author: Relph1119 File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 25
Project: estimagic Author: OpenSourceEconomics File: numdiff_np.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def _get_best_estimate_single_method(derivative, errors): """Select best derivative estimates element wise. Given a single method, e.g. central differences with 2 num_terms (see above), we get multiple Richardson approximations including estimated errors. Here we select the approximations which result in the lowest error element wise. Args: derivative (np.ndarray): Derivative estimates from Richardson approximation. First axis (axis 0) denotes the potentially multiple estimates. Following dimensions represent the dimension of the derivative, i.e. for a classical gradient ``derivative`` has 2 dimensions, while for a classical jacobian ``derivative`` has 3 dimensions. errors (np.ndarray): Error estimates of ``derivative`` estimates. Has the same shape as ``derivative``. Returns: derivative_minimal (np.ndarray): Best derivate estimates chosen with respect to minimizing ``errors``. Note that the best values are selected element-wise. Has shape ``(derivative.shape[1], derivative.shape[2])``. error_minimal (np.ndarray): Minimal errors selected element-wise along axis 0 of ``errors``. """ if derivative.shape[0] == 1: derivative_minimal = np.squeeze(derivative, axis=0) error_minimal = np.squeeze(errors, axis=0) else: minimizer = np.nanargmin(errors, axis=0) derivative_minimal = np.take_along_axis( derivative, minimizer[np.newaxis, :], axis=0 ) derivative_minimal = np.squeeze(derivative_minimal, axis=0) error_minimal = np.nanmin(errors, axis=0) return derivative_minimal, error_minimal
Example 26
Project: estimagic Author: OpenSourceEconomics File: numdiff_np.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def _get_best_estimate_along_methods(derivatives, errors): """Extract best derivative estimate over different methods. Given that for each method, where one method can be for example central differences with two num_terms (see above), we have selected a single best derivative estimate, we select the best derivative estimates element-wise over different methods, where again best is defined as minimizing the approximation error. Args: derivatives (OrderedDict): Dictionary containing derivative estimates for different methods. errors (OrderedDict): Dictionary containing error estimates for derivates stored in ``derivatives``. Returns: jac_minimal (np.ndarray): The optimal derivative estimate over different methods. """ errors = np.stack(list(errors.values())) derivatives = np.stack(list(derivatives.values())) if derivatives.shape[0] == 1: jac_minimal = np.squeeze(derivatives, axis=0) else: minimizer = np.nanargmin(errors, axis=0) jac_minimal = np.take_along_axis(derivatives, minimizer[np.newaxis, :], axis=0) jac_minimal = np.squeeze(jac_minimal, axis=0) return jac_minimal
Example 27
Project: predictive-maintenance-using-machine-learning Author: awslabs File: test_interaction.py License: Apache License 2.0 | 5 votes |
def test_nanfunctions_matrices_general(): # Check that it works and that type and # shape are preserved # 2018-04-29: moved here from core.tests.test_nanfunctions mat = np.matrix(np.eye(3)) for f in (np.nanargmin, np.nanargmax, np.nansum, np.nanprod, np.nanmean, np.nanvar, np.nanstd): res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 1)) res = f(mat) assert_(np.isscalar(res)) for f in np.nancumsum, np.nancumprod: res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3*3))
Example 28
Project: predictive-maintenance-using-machine-learning Author: awslabs File: test_nanfunctions.py License: Apache License 2.0 | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)
Example 29
Project: pySINDy Author: luckystarufo File: test_interaction.py License: MIT License | 5 votes |
def test_nanfunctions_matrices_general(): # Check that it works and that type and # shape are preserved # 2018-04-29: moved here from core.tests.test_nanfunctions mat = np.matrix(np.eye(3)) for f in (np.nanargmin, np.nanargmax, np.nansum, np.nanprod, np.nanmean, np.nanvar, np.nanstd): res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 1)) res = f(mat) assert_(np.isscalar(res)) for f in np.nancumsum, np.nancumprod: res = f(mat, axis=0) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat, axis=1) assert_(isinstance(res, np.matrix)) assert_(res.shape == (3, 3)) res = f(mat) assert_(isinstance(res, np.matrix)) assert_(res.shape == (1, 3*3))
Example 30
Project: pySINDy Author: luckystarufo File: test_nanfunctions.py License: MIT License | 5 votes |
def test_nanargmin(self): tgt = np.argmin(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanargmin(mat), tgt)