Python numpy.rollaxis() Examples
The following are 30
code examples of numpy.rollaxis().
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: _cubic.py From lambda-packs with MIT License | 6 votes |
def __init__(self, x, y, axis=0, extrapolate=None): x = _asarray_validated(x, check_finite=False, as_inexact=True) y = _asarray_validated(y, check_finite=False, as_inexact=True) axis = axis % y.ndim xp = x.reshape((x.shape[0],) + (1,)*(y.ndim-1)) yp = np.rollaxis(y, axis) dk = self._find_derivatives(xp, yp) data = np.hstack((yp[:, None, ...], dk[:, None, ...])) _b = BPoly.from_derivatives(x, data, orders=None) super(PchipInterpolator, self).__init__(_b.c, _b.x, extrapolate=extrapolate) self.axis = axis
Example #2
Source File: misc.py From DeepDIVA with GNU Lesser General Public License v3.0 | 6 votes |
def multi_one_hot_to_output(matrix): """ This function converts the multi-one-hot encoded matrix to an image like it was provided in the ground truth Parameters ------- tensor of size [#C x W x H] sparse one-hot encoded multi-class matrix, where #C is the number of classes Returns ------- np_array: numpy array RGB image [C x W x H] """ # TODO: fix input and output dims (see one_hot_to_output) # create RGB matrix = np.rollaxis(np.char.mod('%d', matrix.numpy()), 0, 3) zeros = (32 - matrix.shape[2]) * '0' B = np.array([[int('{}{}'.format(zeros, ''.join(matrix[i][j])), 2) for j in range(matrix.shape[1])] for i in range(matrix.shape[0])]) RGB = np.dstack((np.zeros(shape=(matrix.shape[0], matrix.shape[1], 2), dtype=np.int8), B)) return RGB
Example #3
Source File: data_augmentation.py From Emotion with MIT License | 6 votes |
def do_random_rotation(self, image_array): """IMPORTANT: random rotation only works for classification since the current implementation does no transform bounding boxes""" height = image_array.shape[0] width = image_array.shape[1] x_offset = np.random.uniform(0, self.translation_factor * width) y_offset = np.random.uniform(0, self.translation_factor * height) offset = np.array([x_offset, y_offset]) scale_factor = np.random.uniform(self.zoom_range[0], self.zoom_range[1]) crop_matrix = np.array([[scale_factor, 0], [0, scale_factor]]) image_array = np.rollaxis(image_array, axis=-1, start=0) image_channel = [ndi.interpolation.affine_transform(image_channel, crop_matrix, offset=offset, order=0, mode='nearest', cval=0.0) for image_channel in image_array] image_array = np.stack(image_channel, axis=0) image_array = np.rollaxis(image_array, 0, 3) return image_array
Example #4
Source File: data_augmentation.py From Emotion with MIT License | 6 votes |
def _do_random_crop(self, image_array): """IMPORTANT: random crop only works for classification since the current implementation does no transform bounding boxes""" height = image_array.shape[0] width = image_array.shape[1] x_offset = np.random.uniform(0, self.translation_factor * width) y_offset = np.random.uniform(0, self.translation_factor * height) offset = np.array([x_offset, y_offset]) scale_factor = np.random.uniform(self.zoom_range[0], self.zoom_range[1]) crop_matrix = np.array([[scale_factor, 0], [0, scale_factor]]) image_array = np.rollaxis(image_array, axis=-1, start=0) image_channel = [ndi.interpolation.affine_transform(image_channel, crop_matrix, offset=offset, order=0, mode='nearest', cval=0.0) for image_channel in image_array] image_array = np.stack(image_channel, axis=0) image_array = np.rollaxis(image_array, 0, 3) return image_array
Example #5
Source File: misc.py From DeepDIVA with GNU Lesser General Public License v3.0 | 6 votes |
def multi_label_img_to_multi_hot(np_array): """ TODO: There must be a faster way of doing this + ajust to correct input format (see gt_tensor_to_one_hot) Convert ground truth label image to multi-one-hot encoded matrix of size image height x image width x #classes Parameters ------- np_array: numpy array RGB image [W x H x C] Returns ------- numpy array of size [#C x W x H] sparse one-hot encoded multi-class matrix, where #C is the number of classes """ im_np = np_array[:, :, 2].astype(np.int8) nb_classes = len(int_to_one_hot(im_np.max(), '')) class_dict = {x: int_to_one_hot(x, nb_classes) for x in np.unique(im_np)} # create the one hot matrix one_hot_matrix = np.asanyarray( [[class_dict[im_np[i, j]] for j in range(im_np.shape[1])] for i in range(im_np.shape[0])]) return np.rollaxis(one_hot_matrix.astype(np.uint8), 2, 0)
Example #6
Source File: DatasetLoad.py From deepJDOT with MIT License | 6 votes |
def synthetic_digits_dataload(): import os import scipy.io as sio import numpy as np filepath = '/home/damodara/OT/DA/datasets/SynthDigits' train_fname = os.path.join(filepath, 'synth_train_32x32.mat') loaddata = sio.loadmat(train_fname) Traindata = loaddata['X'] train_label = loaddata['y'] # test_fname = os.path.join(filepath, 'synth_test_32x32.mat') loaddata = sio.loadmat(test_fname) Testdata = loaddata['X'] test_label = loaddata['y'] Traindata = np.rollaxis(Traindata, 3, 0) Testdata = np.rollaxis(Testdata, 3, 0) return Traindata, train_label, Testdata, test_label # %% stl9
Example #7
Source File: DatasetLoad.py From deepJDOT with MIT License | 6 votes |
def synthetic_digits_small_dataload(): import os import scipy.io as sio import numpy as np filepath = '/home/damodara/OT/DA/datasets/SynthDigits' train_fname = os.path.join(filepath, 'synth_train_32x32_small.mat') loaddata = sio.loadmat(train_fname) Traindata = loaddata['X'] train_label = loaddata['y'] # test_fname = os.path.join(filepath, 'synth_test_32x32_small.mat') loaddata = sio.loadmat(test_fname) Testdata = loaddata['X'] test_label = loaddata['y'] Traindata = np.rollaxis(Traindata, 3, 0) Testdata = np.rollaxis(Testdata, 3, 0) return Traindata, train_label, Testdata, test_label
Example #8
Source File: DatasetLoad.py From deepJDOT with MIT License | 6 votes |
def SVHN_dataload(): import numpy as np import scipy.io as sio import os pathname = 'data/SVHN' fn = 'train_32x32.mat' loaddata = sio.loadmat(os.path.join(pathname, fn)) Traindata = loaddata['X'] trainlabel = loaddata['y'] Traindata = np.rollaxis(Traindata, 3, 0) fn = 'test_32x32.mat' loadtdata = sio.loadmat(os.path.join(pathname, fn)) Testdata = loadtdata['X'] testlabel = loadtdata['y'] Testdata = np.rollaxis(Testdata, 3, 0) return Traindata, trainlabel, Testdata, testlabel # %% MNIST-M load
Example #9
Source File: nanfunctions.py From lambda-packs with MIT License | 6 votes |
def _nanpercentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear'): """ Private function that doesn't support extended axis or keepdims. These methods are extended to this function using _ureduce See nanpercentile for parameter usage """ if axis is None or a.ndim == 1: part = a.ravel() result = _nanpercentile1d(part, q, overwrite_input, interpolation) else: result = np.apply_along_axis(_nanpercentile1d, axis, a, q, overwrite_input, interpolation) # apply_along_axis fills in collapsed axis with results. # Move that axis to the beginning to match percentile's # convention. if q.ndim != 0: result = np.rollaxis(result, axis) if out is not None: out[...] = result return result
Example #10
Source File: _bvp.py From lambda-packs with MIT License | 6 votes |
def create_spline(y, yp, x, h): """Create a cubic spline given values and derivatives. Formulas for the coefficients are taken from interpolate.CubicSpline. Returns ------- sol : PPoly Constructed spline as a PPoly instance. """ from scipy.interpolate import PPoly n, m = y.shape c = np.empty((4, n, m - 1), dtype=y.dtype) slope = (y[:, 1:] - y[:, :-1]) / h t = (yp[:, :-1] + yp[:, 1:] - 2 * slope) / h c[0] = t / h c[1] = (slope - yp[:, :-1]) / h - t c[2] = yp[:, :-1] c[3] = y[:, :-1] c = np.rollaxis(c, 1) return PPoly(c, x, extrapolate=True, axis=1)
Example #11
Source File: param.py From paramz with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _indices(self, slice_index=None): # get a int-array containing all indices in the first axis. if slice_index is None: slice_index = self._current_slice_ #try: indices = np.indices(self._realshape_, dtype=int) indices = indices[(slice(None),)+slice_index] indices = np.rollaxis(indices, 0, indices.ndim).reshape(-1,self._realndim_) #print indices_ #if not np.all(indices==indices__): # import ipdb; ipdb.set_trace() #except: # indices = np.indices(self._realshape_, dtype=int) # indices = indices[(slice(None),)+slice_index] # indices = np.rollaxis(indices, 0, indices.ndim) return indices
Example #12
Source File: nanfunctions.py From auto-alt-text-lambda-api with MIT License | 6 votes |
def _nanpercentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear'): """ Private function that doesn't support extended axis or keepdims. These methods are extended to this function using _ureduce See nanpercentile for parameter usage """ if axis is None: part = a.ravel() result = _nanpercentile1d(part, q, overwrite_input, interpolation) else: result = np.apply_along_axis(_nanpercentile1d, axis, a, q, overwrite_input, interpolation) # apply_along_axis fills in collapsed axis with results. # Move that axis to the beginning to match percentile's # convention. if q.ndim != 0: result = np.rollaxis(result, axis) if out is not None: out[...] = result return result
Example #13
Source File: data_augmentation.py From face_classification with MIT License | 6 votes |
def _do_random_crop(self, image_array): """IMPORTANT: random crop only works for classification since the current implementation does no transform bounding boxes""" height = image_array.shape[0] width = image_array.shape[1] x_offset = np.random.uniform(0, self.translation_factor * width) y_offset = np.random.uniform(0, self.translation_factor * height) offset = np.array([x_offset, y_offset]) scale_factor = np.random.uniform(self.zoom_range[0], self.zoom_range[1]) crop_matrix = np.array([[scale_factor, 0], [0, scale_factor]]) image_array = np.rollaxis(image_array, axis=-1, start=0) image_channel = [ndi.interpolation.affine_transform(image_channel, crop_matrix, offset=offset, order=0, mode='nearest', cval=0.0) for image_channel in image_array] image_array = np.stack(image_channel, axis=0) image_array = np.rollaxis(image_array, 0, 3) return image_array
Example #14
Source File: data_augmentation.py From face_classification with MIT License | 6 votes |
def do_random_rotation(self, image_array): """IMPORTANT: random rotation only works for classification since the current implementation does no transform bounding boxes""" height = image_array.shape[0] width = image_array.shape[1] x_offset = np.random.uniform(0, self.translation_factor * width) y_offset = np.random.uniform(0, self.translation_factor * height) offset = np.array([x_offset, y_offset]) scale_factor = np.random.uniform(self.zoom_range[0], self.zoom_range[1]) crop_matrix = np.array([[scale_factor, 0], [0, scale_factor]]) image_array = np.rollaxis(image_array, axis=-1, start=0) image_channel = [ndi.interpolation.affine_transform(image_channel, crop_matrix, offset=offset, order=0, mode='nearest', cval=0.0) for image_channel in image_array] image_array = np.stack(image_channel, axis=0) image_array = np.rollaxis(image_array, 0, 3) return image_array
Example #15
Source File: capsulenet.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def apply_transform(x, transform_matrix, fill_mode='nearest', cval=0.): x = np.rollaxis(x, 0, 0) final_affine_matrix = transform_matrix[:2, :2] final_offset = transform_matrix[:2, 2] channel_images = [ndi.interpolation.affine_transform( x_channel, final_affine_matrix, final_offset, order=0, mode=fill_mode, cval=cval) for x_channel in x] x = np.stack(channel_images, axis=0) x = np.rollaxis(x, 0, 0 + 1) return x
Example #16
Source File: test_numeric.py From vnpy_crypto with MIT License | 5 votes |
def test_exceptions(self): a = np.arange(1*2*3*4).reshape(1, 2, 3, 4) assert_raises(np.AxisError, np.rollaxis, a, -5, 0) assert_raises(np.AxisError, np.rollaxis, a, 0, -5) assert_raises(np.AxisError, np.rollaxis, a, 4, 0) assert_raises(np.AxisError, np.rollaxis, a, 0, 5)
Example #17
Source File: test_function_base.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_extended_axis(self): o = np.random.normal(size=(71, 23)) x = np.dstack([o] * 10) assert_equal(np.median(x, axis=(0, 1)), np.median(o)) x = np.rollaxis(x, -1, 0) assert_equal(np.median(x, axis=(-2, -1)), np.median(o)) x = x.swapaxes(0, 1).copy() assert_equal(np.median(x, axis=(0, -1)), np.median(o)) assert_equal(np.median(x, axis=(0, 1, 2)), np.median(x, axis=None)) assert_equal(np.median(x, axis=(0, )), np.median(x, axis=0)) assert_equal(np.median(x, axis=(-1, )), np.median(x, axis=-1)) d = np.arange(3 * 5 * 7 * 11).reshape(3, 5, 7, 11) np.random.shuffle(d) assert_equal(np.median(d, axis=(0, 1, 2))[0], np.median(d[:,:,:, 0].flatten())) assert_equal(np.median(d, axis=(0, 1, 3))[1], np.median(d[:,:, 1,:].flatten())) assert_equal(np.median(d, axis=(3, 1, -4))[2], np.median(d[:,:, 2,:].flatten())) assert_equal(np.median(d, axis=(3, 1, 2))[2], np.median(d[2,:,:,:].flatten())) assert_equal(np.median(d, axis=(3, 2))[2, 1], np.median(d[2, 1,:,:].flatten())) assert_equal(np.median(d, axis=(1, -2))[2, 1], np.median(d[2,:,:, 1].flatten())) assert_equal(np.median(d, axis=(1, 3))[2, 2], np.median(d[2,:, 2,:].flatten()))
Example #18
Source File: test_numeric.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_exceptions(self): a = np.arange(1*2*3*4).reshape(1, 2, 3, 4) assert_raises(ValueError, np.rollaxis, a, -5, 0) assert_raises(ValueError, np.rollaxis, a, 0, -5) assert_raises(ValueError, np.rollaxis, a, 4, 0) assert_raises(ValueError, np.rollaxis, a, 0, 5)
Example #19
Source File: test_shape_base.py From auto-alt-text-lambda-api with MIT License | 5 votes |
def test_exceptions(self): # test axis must be in bounds for ndim in [1, 2, 3]: a = np.ones((1,)*ndim) np.concatenate((a, a), axis=0) # OK assert_raises(IndexError, np.concatenate, (a, a), axis=ndim) assert_raises(IndexError, np.concatenate, (a, a), axis=-(ndim + 1)) # Scalars cannot be concatenated assert_raises(ValueError, concatenate, (0,)) assert_raises(ValueError, concatenate, (np.array(0),)) # test shapes must match except for concatenation axis a = np.ones((1, 2, 3)) b = np.ones((2, 2, 3)) axis = list(range(3)) for i in range(3): np.concatenate((a, b), axis=axis[0]) # OK assert_raises(ValueError, np.concatenate, (a, b), axis=axis[1]) assert_raises(ValueError, np.concatenate, (a, b), axis=axis[2]) a = np.rollaxis(a, -1) b = np.rollaxis(b, -1) axis.append(axis.pop(0)) # No arrays to concatenate raises ValueError assert_raises(ValueError, concatenate, ())
Example #20
Source File: np_deterministic.py From xskillscore with Apache License 2.0 | 5 votes |
def _spearman_r_p_value(a, b, weights, axis, skipna): """ ndarray implementation of scipy.stats.spearmanr. Parameters ---------- a : ndarray Input array. b : ndarray Input array. axis : int The axis to apply the correlation along. weights : ndarray Input array. skipna : bool If True, skip NaNs when computing function. Returns ------- res : ndarray 2-tailed p-value. See Also -------- scipy.stats.spearmanr Reference --------- https://github.com/scipy/scipy/blob/v1.3.1/scipy/stats/stats.py#L3613-L3764 """ if skipna: a, b, weights = _match_nans(a, b, weights) rs = _spearman_r(a, b, weights, axis, skipna) a = np.rollaxis(a, axis) b = np.rollaxis(b, axis) # count non-nans dof = np.count_nonzero(~np.isnan(a), axis=0) - 2 t = rs * np.sqrt((dof / ((rs + 1.0) * (1.0 - rs))).clip(0)) p = 2 * distributions.t.sf(np.abs(t), dof) return p
Example #21
Source File: compare_layers.py From mxnet-dssd with GNU General Public License v3.0 | 5 votes |
def read_image(img_path, image_dims=None, mean=None): """ Reads an image from file path or URL, optionally resizing to given image dimensions and subtracting mean. :param img_path: path to file, or url to download :param image_dims: image dimensions to resize to, or None :param mean: mean file to subtract, or None :return: loaded image, in RGB format """ import urllib filename = img_path.split("/")[-1] if img_path.startswith('http'): urllib.urlretrieve(img_path, filename) img = cv2.imread(filename) else: img = cv2.imread(img_path) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) if image_dims is not None: img = cv2.resize(img, image_dims) # resize to image_dims to fit model img = np.rollaxis(img, 2) # change to (c, h, w) order img = img[np.newaxis, :] # extend to (n, c, h, w) if mean is not None: mean = np.array(mean) if mean.shape == (3,): mean = mean[np.newaxis, :, np.newaxis, np.newaxis] # extend to (n, c, 1, 1) img = img.astype(np.float32) - mean # subtract mean return img
Example #22
Source File: image.py From lambda-packs with MIT License | 5 votes |
def apply_transform(x, transform_matrix, channel_axis=0, fill_mode='nearest', cval=0.): """Apply the image transformation specified by a matrix. Arguments: x: 2D numpy array, single image. transform_matrix: Numpy array specifying the geometric transformation. channel_axis: Index of axis for channels in the input tensor. fill_mode: Points outside the boundaries of the input are filled according to the given mode (one of `{'constant', 'nearest', 'reflect', 'wrap'}`). cval: Value used for points outside the boundaries of the input if `mode='constant'`. Returns: The transformed version of the input. """ x = np.rollaxis(x, channel_axis, 0) final_affine_matrix = transform_matrix[:2, :2] final_offset = transform_matrix[:2, 2] channel_images = [ ndi.interpolation.affine_transform( x_channel, final_affine_matrix, final_offset, order=0, mode=fill_mode, cval=cval) for x_channel in x ] x = np.stack(channel_images, axis=0) x = np.rollaxis(x, 0, channel_axis + 1) return x
Example #23
Source File: loss.py From CCNet with MIT License | 5 votes |
def find_threshold(self, np_predict, np_target): # downsample 1/8 factor = self.factor predict = nd.zoom(np_predict, (1.0, 1.0, 1.0/factor, 1.0/factor), order=1) target = nd.zoom(np_target, (1.0, 1.0/factor, 1.0/factor), order=0) n, c, h, w = predict.shape min_kept = self.min_kept // (factor*factor) #int(self.min_kept_ratio * n * h * w) input_label = target.ravel().astype(np.int32) input_prob = np.rollaxis(predict, 1).reshape((c, -1)) valid_flag = input_label != self.ignore_label valid_inds = np.where(valid_flag)[0] label = input_label[valid_flag] num_valid = valid_flag.sum() if min_kept >= num_valid: threshold = 1.0 elif num_valid > 0: prob = input_prob[:,valid_flag] pred = prob[label, np.arange(len(label), dtype=np.int32)] threshold = self.thresh if min_kept > 0: k_th = min(len(pred), min_kept)-1 new_array = np.partition(pred, k_th) new_threshold = new_array[k_th] if new_threshold > self.thresh: threshold = new_threshold return threshold
Example #24
Source File: _multivariate.py From lambda-packs with MIT License | 5 votes |
def rvs(self, mean=None, rowcov=1, colcov=1, size=1, random_state=None): """ Draw random samples from a matrix normal distribution. Parameters ---------- %(_matnorm_doc_default_callparams)s size : integer, optional Number of samples to draw (default 1). %(_doc_random_state)s Returns ------- rvs : ndarray or scalar Random variates of size (`size`, `dims`), where `dims` is the dimension of the random matrices. Notes ----- %(_matnorm_doc_callparams_note)s """ size = int(size) dims, mean, rowcov, colcov = self._process_parameters(mean, rowcov, colcov) rowchol = scipy.linalg.cholesky(rowcov, lower=True) colchol = scipy.linalg.cholesky(colcov, lower=True) random_state = self._get_random_state(random_state) std_norm = random_state.standard_normal(size=(dims[1],size,dims[0])) roll_rvs = np.tensordot(colchol, np.dot(std_norm, rowchol.T), 1) out = np.rollaxis(roll_rvs.T, axis=1, start=0) + mean[np.newaxis,:,:] if size == 1: #out = np.squeeze(out, axis=0) out = out.reshape(mean.shape) return out
Example #25
Source File: _multivariate.py From lambda-packs with MIT License | 5 votes |
def _logpdf(self, dims, X, mean, row_prec_rt, log_det_rowcov, col_prec_rt, log_det_colcov): """ Parameters ---------- dims : tuple Dimensions of the matrix variates X : ndarray Points at which to evaluate the log of the probability density function mean : ndarray Mean of the distribution row_prec_rt : ndarray A decomposition such that np.dot(row_prec_rt, row_prec_rt.T) is the inverse of the among-row covariance matrix log_det_rowcov : float Logarithm of the determinant of the among-row covariance matrix col_prec_rt : ndarray A decomposition such that np.dot(col_prec_rt, col_prec_rt.T) is the inverse of the among-column covariance matrix log_det_colcov : float Logarithm of the determinant of the among-column covariance matrix Notes ----- As this function does no argument checking, it should not be called directly; use 'logpdf' instead. """ numrows, numcols = dims roll_dev = np.rollaxis(X-mean, axis=-1, start=0) scale_dev = np.tensordot(col_prec_rt.T, np.dot(roll_dev, row_prec_rt), 1) maha = np.sum(np.sum(np.square(scale_dev), axis=-1), axis=0) return -0.5 * (numrows*numcols*_LOG_2PI + numcols*log_det_rowcov + numrows*log_det_colcov + maha)
Example #26
Source File: loss.py From CCNet with MIT License | 5 votes |
def generate_new_target(self, predict, target): np_predict = predict.data.cpu().numpy() np_target = target.data.cpu().numpy() n, c, h, w = np_predict.shape threshold = self.find_threshold(np_predict, np_target) input_label = np_target.ravel().astype(np.int32) input_prob = np.rollaxis(np_predict, 1).reshape((c, -1)) valid_flag = input_label != self.ignore_label valid_inds = np.where(valid_flag)[0] label = input_label[valid_flag] num_valid = valid_flag.sum() if num_valid > 0: prob = input_prob[:,valid_flag] pred = prob[label, np.arange(len(label), dtype=np.int32)] kept_flag = pred <= threshold valid_inds = valid_inds[kept_flag] print('Labels: {} {}'.format(len(valid_inds), threshold)) label = input_label[valid_inds].copy() input_label.fill(self.ignore_label) input_label[valid_inds] = label new_target = torch.from_numpy(input_label.reshape(target.size())).long().cuda(target.get_device()) return new_target
Example #27
Source File: transforms.py From gen-efficientnet-pytorch with Apache License 2.0 | 5 votes |
def __call__(self, pil_img): np_img = np.array(pil_img, dtype=np.uint8) if np_img.ndim < 3: np_img = np.expand_dims(np_img, axis=-1) np_img = np.rollaxis(np_img, 2) # HWC to CHW return np_img
Example #28
Source File: video_transforms.py From DDPAE-video-prediction with MIT License | 5 votes |
def __call__(self, arr): if isinstance(arr, np.ndarray): video = torch.from_numpy(np.rollaxis(arr, axis=-1, start=-3)) if self.scale: return video.float().div(255) else: return video.float() else: raise NotImplementedError
Example #29
Source File: polyint.py From lambda-packs with MIT License | 5 votes |
def _reshape_yi(self, yi, check=False): yi = np.rollaxis(np.asarray(yi), self._y_axis) if check and yi.shape[1:] != self._y_extra_shape: ok_shape = "%r + (N,) + %r" % (self._y_extra_shape[-self._y_axis:], self._y_extra_shape[:-self._y_axis]) raise ValueError("Data must be of shape %s" % ok_shape) return yi.reshape((yi.shape[0], -1))
Example #30
Source File: transforms.py From gen-efficientnet-pytorch with Apache License 2.0 | 5 votes |
def __call__(self, pil_img): np_img = np.array(pil_img, dtype=np.uint8) if np_img.ndim < 3: np_img = np.expand_dims(np_img, axis=-1) np_img = np.rollaxis(np_img, 2) # HWC to CHW return torch.from_numpy(np_img).to(dtype=self.dtype)