Python numpy.isfinite() Examples
The following are 30
code examples of numpy.isfinite().
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 also want to check out all available functions/classes of the module
numpy
, or try the search function
.
Example #1
Source File: test_data_loader.py From aospy with Apache License 2.0 | 6 votes |
def test_load_variable_mask_and_scale(load_variable_data_loader): def convert_all_to_missing_val(ds, **kwargs): ds['condensation_rain'] = 0. * ds['condensation_rain'] + 1.0e20 ds['condensation_rain'].attrs['_FillValue'] = 1.0e20 return ds load_variable_data_loader.preprocess_func = convert_all_to_missing_val data = load_variable_data_loader.load_variable( condensation_rain, DatetimeNoLeap(5, 1, 1), DatetimeNoLeap(5, 12, 31), intvl_in='monthly') num_non_missing = np.isfinite(data).sum().item() expected_num_non_missing = 0 assert num_non_missing == expected_num_non_missing
Example #2
Source File: so_sqlp.py From pymoo with Apache License 2.0 | 6 votes |
def _initialize(self): super()._initialize() # Clip initial guess to bounds (SLSQP may fail with bounds-infeasible initial point) x = asfarray(self.x0.X.flatten()) xl, xu = self.problem.bounds() have_bound = np.isfinite(xl) x[have_bound] = np.clip(x[have_bound], xl[have_bound], np.inf) have_bound = np.isfinite(xu) x[have_bound] = np.clip(x[have_bound], -np.inf, xu[have_bound]) self.D["X"] = x self.pop = Population() self._eval_obj() self._eval_grad() self._update() self._call() self.major = True
Example #3
Source File: mot.py From PoseWarper with Apache License 2.0 | 6 votes |
def _sanitize_dists(self, dists): """Replace invalid distances.""" dists = np.copy(dists) # Note there is an issue in scipy.optimize.linear_sum_assignment where # it runs forever if an entire row/column is infinite or nan. We therefore # make a copy of the distance matrix and compute a safe value that indicates # 'cannot assign'. Also note + 1 is necessary in below inv-dist computation # to make invdist bigger than max dist in case max dist is zero. valid_dists = dists[np.isfinite(dists)] INVDIST = 2 * valid_dists.max() + 1 if valid_dists.shape[0] > 0 else 1. dists[~np.isfinite(dists)] = INVDIST return dists, INVDIST
Example #4
Source File: TradingEnv.py From RLTrader with GNU General Public License v3.0 | 6 votes |
def _reward(self): reward = self.reward_strategy.get_reward(current_step=self.current_step, current_price=self._current_price, observations=self.observations, account_history=self.account_history, net_worths=self.net_worths) reward = float(reward) if np.isfinite(float(reward)) else 0 self.rewards.append(reward) if self.stationarize_rewards: rewards = difference(self.rewards, inplace=False) else: rewards = self.rewards if self.normalize_rewards: mean_normalize(rewards, inplace=True) rewards = np.array(rewards).flatten() return float(rewards[-1])
Example #5
Source File: coefficient_set.py From risk-slim with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _check_rep(self): #name assert isinstance(self._name, str) assert len(self._name) >= 1 #bounds assert np.isfinite(self.ub) assert np.isfinite(self.lb) assert self.ub >= self.lb # value assert self._vtype in self._VALID_TYPES assert np.isnan(self.c0) or (self.c0 >= 0.0 and np.isfinite(self.c0)) return True
Example #6
Source File: test_type_check.py From recruit with Apache License 2.0 | 6 votes |
def test_generic(self): with np.errstate(divide='ignore', invalid='ignore'): vals = nan_to_num(np.array((-1., 0, 1))/0.) assert_all(vals[0] < -1e10) and assert_all(np.isfinite(vals[0])) assert_(vals[1] == 0) assert_all(vals[2] > 1e10) and assert_all(np.isfinite(vals[2])) assert_equal(type(vals), np.ndarray) # perform the same test but in-place with np.errstate(divide='ignore', invalid='ignore'): vals = np.array((-1., 0, 1))/0. result = nan_to_num(vals, copy=False) assert_(result is vals) assert_all(vals[0] < -1e10) and assert_all(np.isfinite(vals[0])) assert_(vals[1] == 0) assert_all(vals[2] > 1e10) and assert_all(np.isfinite(vals[2])) assert_equal(type(vals), np.ndarray)
Example #7
Source File: casting.py From me-ica with GNU Lesser General Public License v2.1 | 6 votes |
def _check_maxexp(np_type, maxexp): """ True if fp type `np_type` seems to have `maxexp` maximum exponent We're testing "maxexp" as returned by numpy. This value is set to one greater than the maximum power of 2 that `np_type` can represent. Assumes base 2 representation. Very crude check Parameters ---------- np_type : numpy type specifier Any specifier for a numpy dtype maxexp : int Maximum exponent to test against Returns ------- tf : bool True if `maxexp` is the correct maximum exponent, False otherwise. """ dt = np.dtype(np_type) np_type = dt.type two = np_type(2).reshape((1,)) # to avoid upcasting return (np.isfinite(two ** (maxexp - 1)) and not np.isfinite(two ** maxexp))
Example #8
Source File: wrappers.py From soccer-matlab with BSD 2-Clause "Simplified" License | 6 votes |
def _convert_observ(self, observ): """Convert the observation to 32 bits. Args: observ: Numpy observation. Raises: ValueError: Observation contains infinite values. Returns: Numpy observation with 32-bit data type. """ if not np.isfinite(observ).all(): raise ValueError('Infinite observation encountered.') if observ.dtype == np.float64: return observ.astype(np.float32) if observ.dtype == np.int64: return observ.astype(np.int32) return observ
Example #9
Source File: wrappers.py From soccer-matlab with BSD 2-Clause "Simplified" License | 6 votes |
def _convert_observ(self, observ): """Convert the observation to 32 bits. Args: observ: Numpy observation. Raises: ValueError: Observation contains infinite values. Returns: Numpy observation with 32-bit data type. """ if not np.isfinite(observ).all(): raise ValueError('Infinite observation encountered.') if observ.dtype == np.float64: return observ.astype(np.float32) if observ.dtype == np.int64: return observ.astype(np.int32) return observ
Example #10
Source File: utils.py From NTFLib with MIT License | 6 votes |
def beta_divergence(x_indices, x_vals, beta, A, B, C): """Computes the total beta-divergence between the current model and a sparse X """ rank = len(x_indices[0]) b_vals = np.zeros(x_vals.shape, dtype=np.float32) parafac_sparse(x_indices, b_vals, A, B, C) a, b = x_vals, b_vals idx = np.isfinite(a) idx &= np.isfinite(b) idx &= a > 0 idx &= b > 0 a = a[idx] b = b[idx] if beta == 0: return a / b - np.log(a / b) - 1 if beta == 1: return a * (np.log(a) - np.log(b)) + b - a return (1. / beta / (beta - 1.) * (a ** beta + (beta - 1.) * b ** beta - beta * a * b ** (beta - 1)))
Example #11
Source File: robot_pendula.py From soccer-matlab with BSD 2-Clause "Simplified" License | 6 votes |
def calc_state(self): self.theta, theta_dot = self.j1.current_position() x, vx = self.slider.current_position() assert( np.isfinite(x) ) if not np.isfinite(x): print("x is inf") x = 0 if not np.isfinite(vx): print("vx is inf") vx = 0 if not np.isfinite(self.theta): print("theta is inf") self.theta = 0 if not np.isfinite(theta_dot): print("theta_dot is inf") theta_dot = 0 return np.array([ x, vx, np.cos(self.theta), np.sin(self.theta), theta_dot ])
Example #12
Source File: test_half.py From recruit with Apache License 2.0 | 5 votes |
def test_nans_infs(self): with np.errstate(all='ignore'): # Check some of the ufuncs assert_equal(np.isnan(self.all_f16), np.isnan(self.all_f32)) assert_equal(np.isinf(self.all_f16), np.isinf(self.all_f32)) assert_equal(np.isfinite(self.all_f16), np.isfinite(self.all_f32)) assert_equal(np.signbit(self.all_f16), np.signbit(self.all_f32)) assert_equal(np.spacing(float16(65504)), np.inf) # Check comparisons of all values with NaN nan = float16(np.nan) assert_(not (self.all_f16 == nan).any()) assert_(not (nan == self.all_f16).any()) assert_((self.all_f16 != nan).all()) assert_((nan != self.all_f16).all()) assert_(not (self.all_f16 < nan).any()) assert_(not (nan < self.all_f16).any()) assert_(not (self.all_f16 <= nan).any()) assert_(not (nan <= self.all_f16).any()) assert_(not (self.all_f16 > nan).any()) assert_(not (nan > self.all_f16).any()) assert_(not (self.all_f16 >= nan).any()) assert_(not (nan >= self.all_f16).any())
Example #13
Source File: test_function_base.py From recruit with Apache License 2.0 | 5 votes |
def test_simple(self): assert_(np.isfinite(kaiser(1, 1.0))) assert_almost_equal(kaiser(0, 1.0), np.array([])) assert_almost_equal(kaiser(2, 1.0), np.array([0.78984831, 0.78984831])) assert_almost_equal(kaiser(5, 1.0), np.array([0.78984831, 0.94503323, 1., 0.94503323, 0.78984831])) assert_almost_equal(kaiser(5, 1.56789), np.array([0.58285404, 0.88409679, 1., 0.88409679, 0.58285404]))
Example #14
Source File: arrayprint.py From recruit with Apache License 2.0 | 5 votes |
def __call__(self, x): if not np.isfinite(x): with errstate(invalid='ignore'): if np.isnan(x): sign = '+' if self.sign == '+' else '' ret = sign + _format_options['nanstr'] else: # isinf sign = '-' if x < 0 else '+' if self.sign == '+' else '' ret = sign + _format_options['infstr'] return ' '*(self.pad_left + self.pad_right + 1 - len(ret)) + ret if self.exp_format: return dragon4_scientific(x, precision=self.precision, unique=self.unique, trim=self.trim, sign=self.sign == '+', pad_left=self.pad_left, exp_digits=self.exp_size) else: return dragon4_positional(x, precision=self.precision, unique=self.unique, fractional=True, trim=self.trim, sign=self.sign == '+', pad_left=self.pad_left, pad_right=self.pad_right) # for back-compatibility, we keep the classes for each float type too
Example #15
Source File: test_random.py From recruit with Apache License 2.0 | 5 votes |
def test_vonmises_small(self): # check infinite loop, gh-4720 np.random.seed(self.seed) r = np.random.vonmises(mu=0., kappa=1.1e-8, size=10**6) np.testing.assert_(np.isfinite(r).all())
Example #16
Source File: test_linalg.py From recruit with Apache License 2.0 | 5 votes |
def test_stacked_singular(self): # Check behavior when only some of the stacked matrices are # singular np.random.seed(1234) A = np.random.rand(2, 2, 2, 2) A[0,0] = 0 A[1,1] = 0 for p in (None, 1, 2, 'fro', -1, -2): c = linalg.cond(A, p) assert_equal(c[0,0], np.inf) assert_equal(c[1,1], np.inf) assert_(np.isfinite(c[0,1])) assert_(np.isfinite(c[1,0]))
Example #17
Source File: test_type_check.py From recruit with Apache License 2.0 | 5 votes |
def test_complex_bad(self): with np.errstate(divide='ignore', invalid='ignore'): v = 1 + 1j v += np.array(0+1.j)/0. vals = nan_to_num(v) # !! This is actually (unexpectedly) zero assert_all(np.isfinite(vals)) assert_equal(type(vals), np.complex_)
Example #18
Source File: test_type_check.py From recruit with Apache License 2.0 | 5 votes |
def test_complex1(self): with np.errstate(divide='ignore', invalid='ignore'): assert_all(np.isfinite(np.array(1+1j)/0.) == 0)
Example #19
Source File: test_type_check.py From recruit with Apache License 2.0 | 5 votes |
def test_complex(self): assert_all(np.isfinite(1+1j) == 1)
Example #20
Source File: histograms.py From recruit with Apache License 2.0 | 5 votes |
def _get_outer_edges(a, range): """ Determine the outer bin edges to use, from either the data or the range argument """ if range is not None: first_edge, last_edge = range if first_edge > last_edge: raise ValueError( 'max must be larger than min in range parameter.') if not (np.isfinite(first_edge) and np.isfinite(last_edge)): raise ValueError( "supplied range of [{}, {}] is not finite".format(first_edge, last_edge)) elif a.size == 0: # handle empty arrays. Can't determine range, so use 0-1. first_edge, last_edge = 0, 1 else: first_edge, last_edge = a.min(), a.max() if not (np.isfinite(first_edge) and np.isfinite(last_edge)): raise ValueError( "autodetected range of [{}, {}] is not finite".format(first_edge, last_edge)) # expand empty range to avoid divide by zero if first_edge == last_edge: first_edge = first_edge - 0.5 last_edge = last_edge + 0.5 return first_edge, last_edge
Example #21
Source File: TradingEnv.py From RLTrader with GNU General Public License v3.0 | 5 votes |
def _next_observation(self): self.current_ohlcv = self.data_provider.next_ohlcv() self.timestamps.append(pd.to_datetime(self.current_ohlcv.Date.item(), unit='s')) self.observations = self.observations.append(self.current_ohlcv, ignore_index=True) if self.stationarize_obs: observations = log_and_difference(self.observations, inplace=False) else: observations = self.observations if self.normalize_obs: observations = max_min_normalize(observations) obs = observations.values[-1] if self.stationarize_obs: scaled_history = log_and_difference(self.account_history, inplace=False) else: scaled_history = self.account_history if self.normalize_obs: scaled_history = max_min_normalize(scaled_history, inplace=False) obs = np.insert(obs, len(obs), scaled_history.values[-1], axis=0) obs = np.reshape(obs.astype('float16'), self.obs_shape) obs[np.bitwise_not(np.isfinite(obs))] = 0 return obs
Example #22
Source File: test_type_check.py From recruit with Apache License 2.0 | 5 votes |
def test_integer(self): assert_all(np.isfinite(1) == 1)
Example #23
Source File: lidar_map_api.py From TGC-Designer-Tools with Apache License 2.0 | 5 votes |
def normalize_image(im): # Set Nans and Infs to minimum value finite_pixels = im[np.isfinite(im)] im[np.isnan(im)] = np.min(finite_pixels) # Limit outlier pixels # Use the median of valid pixels only to ensure that the contrast is good im = np.clip(im, 0.0, 3.5*np.median(finite_pixels)) # Scale from 0.0 to 1.0 min_value = np.min(im) max_value = np.max(im) return (im - min_value) / (max_value - min_value)
Example #24
Source File: margin_test.py From python-control with BSD 3-Clause "New" or "Revised" License | 5 votes |
def assert_array_almost_equal(x, y, ndigit=4): x = np.array(x) y = np.array(y) try: if np.isfinite(x).any() and \ np.equal(np.isfinite(x), np.isfinite(y)).all() and \ np.equal(np.isnan(x), np.isnan(y)).all(): np.testing.assert_array_almost_equal( x[np.isfinite(x)], y[np.isfinite(y)], ndigit) return except TypeError as e: print("Error", e, "with", x, "and", y) #raise e np.testing.assert_array_almost_equal(x, y, ndigit)
Example #25
Source File: volumeutils.py From me-ica with GNU Lesser General Public License v2.1 | 5 votes |
def _ftype4scaled_finite(tst_arr, slope, inter, direction='read', default=np.float32): """ Smallest float type for scaling of `tst_arr` that does not overflow """ assert direction in ('read', 'write') if not default in OK_FLOATS and default is np.longdouble: # Omitted longdouble return default def_ind = OK_FLOATS.index(default) # promote to arrays to avoid numpy scalar casting rules tst_arr = np.atleast_1d(tst_arr) slope = np.atleast_1d(slope) inter = np.atleast_1d(inter) warnings.filterwarnings('ignore', '.*overflow.*', RuntimeWarning) try: for ftype in OK_FLOATS[def_ind:]: tst_trans = tst_arr.copy() slope = slope.astype(ftype) inter = inter.astype(ftype) if direction == 'read': # as in reading of image from disk if slope != 1.0: tst_trans = tst_trans * slope if inter != 0.0: tst_trans = tst_trans + inter elif direction == 'write': if inter != 0.0: tst_trans = tst_trans - inter if slope != 1.0: tst_trans = tst_trans / slope if np.all(np.isfinite(tst_trans)): return ftype finally: warnings.filters.pop(0) raise ValueError('Overflow using highest floating point type')
Example #26
Source File: test_floating.py From me-ica with GNU Lesser General Public License v2.1 | 5 votes |
def test_usable_binary128(): # Check for usable binary128 yes = have_binary128() exp_test = np.longdouble(2) ** 16383 assert_equal(yes, exp_test.dtype.itemsize == 16 and np.isfinite(exp_test) and _check_nmant(np.longdouble, 112))
Example #27
Source File: casting.py From me-ica with GNU Lesser General Public License v2.1 | 5 votes |
def ulp(val=np.float64(1.0)): """ Return gap between `val` and nearest representable number of same type This is the value of a unit in the last place (ULP), and is similar in meaning to the MATLAB eps function. Parameters ---------- val : scalar, optional scalar value of any numpy type. Default is 1.0 (float64) Returns ------- ulp_val : scalar gap between `val` and nearest representable number of same type Notes ----- The wikipedia article on machine epsilon points out that the term *epsilon* can be used in the sense of a unit in the last place (ULP), or as the maximum relative rounding error. The MATLAB ``eps`` function uses the ULP meaning, but this function is ``ulp`` rather than ``eps`` to avoid confusion between different meanings of *eps*. """ val = np.array(val) if not np.isfinite(val): return np.nan if val.dtype.kind in 'iu': return 1 aval = np.abs(val) info = type_info(val.dtype) fl2 = floor_log2(aval) if fl2 is None or fl2 < info['minexp']: # subnormal fl2 = info['minexp'] # 'nmant' value does not include implicit first bit return 2**(fl2 - info['nmant'])
Example #28
Source File: coefficient_set.py From risk-slim with BSD 3-Clause "New" or "Revised" License | 5 votes |
def c0(self, value): if np.isnan(value): self._c0 = float('nan') else: assert np.isfinite(value), 'L0 penalty for %s must either be NaN or a finite positive number' % self._name assert value >= 0.0, 'L0 penalty for %s must either be NaN or a finite positive number' % self._name self._c0 = float(value)
Example #29
Source File: tests_eeg.py From NeuroKit with MIT License | 5 votes |
def test_eeg_add_channel(): raw = mne.io.read_raw_fif(mne.datasets.sample.data_path() + "/MEG/sample/sample_audvis_raw.fif", preload=True) # len(channel) > len(raw) ecg1 = nk.ecg_simulate(length=170000) # sync_index_raw > sync_index_channel raw1 = nk.mne_channel_add(raw.copy(), ecg1, channel_type="ecg", sync_index_raw=100, sync_index_channel=0) df1 = raw1.to_data_frame() # test if the column of channel is added assert len(df1.columns) == 378 # test if the NaN is appended properly to the added channel to account for difference in distance between two signals sync_index_raw = 100 sync_index_channel = 0 for i in df1["Added_Channel"].head(abs(sync_index_channel - sync_index_raw)): assert np.isnan(i) assert np.isfinite(df1["Added_Channel"].iloc[abs(sync_index_channel - sync_index_raw)]) # len(channel) < len(raw) ecg2 = nk.ecg_simulate(length=166790) # sync_index_raw < sync_index_channel raw2 = nk.mne_channel_add(raw.copy(), ecg2, channel_type="ecg", sync_index_raw=0, sync_index_channel=100) df2 = raw2.to_data_frame() # test if the column of channel is added assert len(df2.columns) == 378 # test if the NaN is appended properly to the added channel to account for difference in distance between two signals + difference in length sync_index_raw = 0 sync_index_channel = 100 for i in df2["Added_Channel"].tail(abs(sync_index_channel - sync_index_raw) + (len(raw) - len(ecg2))): assert np.isnan(i) assert np.isfinite( df2["Added_Channel"].iloc[-abs(sync_index_channel - sync_index_raw) - (len(raw) - len(ecg2)) - 1] )
Example #30
Source File: grabcut.py From EarthSim with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _process(self, element, key=None): try: import cv2 as cv except: # HACK: Avoids error loading OpenCV the first time # ImportError dlopen: cannot load any more object with static TLS try: import cv2 as cv except ImportError: raise ImportError('GrabCut algorithm requires openCV') if isinstance(self.p.foreground, hv.Polygons): rasterize_op = rasterize_polygon else: rasterize_op = rasterize.instance(aggregator=ds.any()) kwargs = {'dynamic': False, 'target': element} fg_mask = rasterize_op(self.p.foreground, **kwargs) bg_mask = rasterize_op(self.p.background, **kwargs) fg_mask = fg_mask.dimension_values(2, flat=False) bg_mask = bg_mask.dimension_values(2, flat=False) if fg_mask[np.isfinite(fg_mask)].sum() == 0 or bg_mask[np.isfinite(bg_mask)].sum() == 0: return element.clone([], vdims=['Foreground'], new_type=gv.Image, crs=element.crs) mask = np.where(fg_mask, 1, 2) mask = np.where(bg_mask, 0, mask).copy() bgdModel = np.zeros((1,65), np.float64) fgdModel = np.zeros((1,65), np.float64) if isinstance(element, hv.RGB): img = np.dstack([element.dimension_values(d, flat=False) for d in element.vdims]) else: img = element.dimension_values(2, flat=False) mask, _, _ = cv.grabCut(img, mask.astype('uint8'), None, bgdModel, fgdModel, self.p.iterations, cv.GC_INIT_WITH_MASK) fg_mask = np.where((mask==2)|(mask==0),0,1).astype('bool') xs, ys = (element.dimension_values(d, expanded=False) for d in element.kdims) return element.clone((xs, ys, fg_mask), vdims=['Foreground'], new_type=gv.Image, crs=element.crs)