Python numpy.stack() Examples
The following are 30 code examples for showing how to use numpy.stack(). 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: mmdetection Author: open-mmlab File: structures.py License: Apache License 2.0 | 7 votes |
def __init__(self, masks, height, width): self.height = height self.width = width if len(masks) == 0: self.masks = np.empty((0, self.height, self.width), dtype=np.uint8) else: assert isinstance(masks, (list, np.ndarray)) if isinstance(masks, list): assert isinstance(masks[0], np.ndarray) assert masks[0].ndim == 2 # (H, W) else: assert masks.ndim == 3 # (N, H, W) self.masks = np.stack(masks).reshape(-1, height, width) assert self.masks.shape[1] == self.height assert self.masks.shape[2] == self.width
Example 2
Project: aospy Author: spencerahill File: test_utils_times.py License: Apache License 2.0 | 6 votes |
def test_monthly_mean_at_each_ind(): times_submonthly = pd.to_datetime(['2000-06-01', '2000-06-15', '2000-07-04', '2000-07-19']) times_means = pd.to_datetime(['2000-06-01', '2000-07-01']) len_other_dim = 2 arr_submonthly = xr.DataArray( np.random.random((len(times_submonthly), len_other_dim)), dims=[TIME_STR, 'dim0'], coords={TIME_STR: times_submonthly} ) arr_means = xr.DataArray( np.random.random((len(times_means), len_other_dim)), dims=arr_submonthly.dims, coords={TIME_STR: times_means} ) actual = monthly_mean_at_each_ind(arr_means, arr_submonthly) desired_values = np.stack([arr_means.values[0]] * len_other_dim + [arr_means.values[1]] * len_other_dim, axis=0) desired = xr.DataArray(desired_values, dims=arr_submonthly.dims, coords=arr_submonthly.coords) assert actual.identical(desired)
Example 3
Project: gated-graph-transformer-network Author: hexahedria File: convert_story.py License: MIT License | 6 votes |
def convert(story): # import pdb; pdb.set_trace() sentence_arr, graphs, query_arr, answer_arr = story node_id_w = graphs[2].shape[2] edge_type_w = graphs[3].shape[3] all_node_strengths = [np.zeros([1])] all_node_ids = [np.zeros([1,node_id_w])] for num_new_nodes, new_node_strengths, new_node_ids, _ in zip(*graphs): last_strengths = all_node_strengths[-1] last_ids = all_node_ids[-1] cur_strengths = np.concatenate([last_strengths, new_node_strengths], 0) cur_ids = np.concatenate([last_ids, new_node_ids], 0) all_node_strengths.append(cur_strengths) all_node_ids.append(cur_ids) all_edges = graphs[3] full_n_nodes = all_edges.shape[1] all_node_strengths = np.stack([np.pad(x, ((0, full_n_nodes-x.shape[0])), 'constant') for x in all_node_strengths[1:]]) all_node_ids = np.stack([np.pad(x, ((0, full_n_nodes-x.shape[0]), (0, 0)), 'constant') for x in all_node_ids[1:]]) all_node_states = np.zeros([len(all_node_strengths), full_n_nodes,0]) return tuple(x[np.newaxis,...] for x in (all_node_strengths, all_node_ids, all_node_states, all_edges))
Example 4
Project: gated-graph-transformer-network Author: hexahedria File: ggtnn_train.py License: MIT License | 6 votes |
def assemble_batch(story_fns, num_answer_words, format_spec): stories = [] for sfn in story_fns: with gzip.open(sfn,'rb') as f: cvtd_story, _, _, _ = pickle.load(f) stories.append(cvtd_story) sents, graphs, queries, answers = zip(*stories) cvtd_sents = np.array(sents, np.int32) cvtd_queries = np.array(queries, np.int32) max_ans_len = max(len(a) for a in answers) cvtd_answers = np.stack([convert_answer(answer, num_answer_words, format_spec, max_ans_len) for answer in answers]) num_new_nodes, new_node_strengths, new_node_ids, next_edges = zip(*graphs) num_new_nodes = np.stack(num_new_nodes) new_node_strengths = np.stack(new_node_strengths) new_node_ids = np.stack(new_node_ids) next_edges = np.stack(next_edges) return cvtd_sents, cvtd_queries, cvtd_answers, num_new_nodes, new_node_strengths, new_node_ids, next_edges
Example 5
Project: mmdetection Author: open-mmlab File: reppoints_head.py License: Apache License 2.0 | 6 votes |
def offset_to_pts(self, center_list, pred_list): """Change from point offset to point coordinate.""" pts_list = [] for i_lvl in range(len(self.point_strides)): pts_lvl = [] for i_img in range(len(center_list)): pts_center = center_list[i_img][i_lvl][:, :2].repeat( 1, self.num_points) pts_shift = pred_list[i_lvl][i_img] yx_pts_shift = pts_shift.permute(1, 2, 0).view( -1, 2 * self.num_points) y_pts_shift = yx_pts_shift[..., 0::2] x_pts_shift = yx_pts_shift[..., 1::2] xy_pts_shift = torch.stack([x_pts_shift, y_pts_shift], -1) xy_pts_shift = xy_pts_shift.view(*yx_pts_shift.shape[:-1], -1) pts = xy_pts_shift * self.point_strides[i_lvl] + pts_center pts_lvl.append(pts) pts_lvl = torch.stack(pts_lvl, 0) pts_list.append(pts_lvl) return pts_list
Example 6
Project: mmdetection Author: open-mmlab File: maskiou_head.py License: Apache License 2.0 | 6 votes |
def _get_area_ratio(self, pos_proposals, pos_assigned_gt_inds, gt_masks): """Compute area ratio of the gt mask inside the proposal and the gt mask of the corresponding instance.""" num_pos = pos_proposals.size(0) if num_pos > 0: area_ratios = [] proposals_np = pos_proposals.cpu().numpy() pos_assigned_gt_inds = pos_assigned_gt_inds.cpu().numpy() # compute mask areas of gt instances (batch processing for speedup) gt_instance_mask_area = gt_masks.areas for i in range(num_pos): gt_mask = gt_masks[pos_assigned_gt_inds[i]] # crop the gt mask inside the proposal bbox = proposals_np[i, :].astype(np.int32) gt_mask_in_proposal = gt_mask.crop(bbox) ratio = gt_mask_in_proposal.areas[0] / ( gt_instance_mask_area[pos_assigned_gt_inds[i]] + 1e-7) area_ratios.append(ratio) area_ratios = torch.from_numpy(np.stack(area_ratios)).float().to( pos_proposals.device) else: area_ratios = pos_proposals.new_zeros((0, )) return area_ratios
Example 7
Project: models Author: kipoi File: model.py License: MIT License | 6 votes |
def _get_bp_indexes_labranchor(self, soi): """ Get indexes of branch point regions in given sequences. :param soi: batch of sequences of interest for introns (intron-3..intron+6) :return: array of predicted bp indexes """ encoded = [onehot(str(seq)[self.acc_i - 70:self.acc_i]) for seq in np.nditer(soi)] labr_in = np.stack(encoded, axis=0) out = self.labranchor.predict_on_batch(labr_in) # for each row, pick the base with max branchpoint probability, and get its index max_indexes = np.apply_along_axis(lambda x: self.acc_i - 70 + np.argmax(x), axis=1, arr=out) # self.write_bp(max_indexes) return max_indexes # TODO boilerplate # def write_bp(self, max_indexes): # max_indexes = [str(seq) for seq in np.nditer(max_indexes)] # with open(''.join([this_dir, "/../customBP/example_files/bp_idx_chr21_labr.txt"]), "a") as bp_idx_file: # bp_idx_file.write('\n'.join(max_indexes)) # bp_idx_file.write('\n') # bp_idx_file.close()
Example 8
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: capsulenet.py License: 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 9
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: test_gluon_rnn.py License: Apache License 2.0 | 6 votes |
def test_lstm_forget_bias(): forget_bias = 2.0 stack = gluon.rnn.SequentialRNNCell() stack.add(gluon.rnn.LSTMCell(100, i2h_bias_initializer=mx.init.LSTMBias(forget_bias), prefix='l0_')) stack.add(gluon.rnn.LSTMCell(100, i2h_bias_initializer=mx.init.LSTMBias(forget_bias), prefix='l1_')) dshape = (32, 1, 200) data = mx.sym.Variable('data') sym, _ = stack.unroll(1, data, merge_outputs=True) mod = mx.mod.Module(sym, label_names=None, context=mx.cpu(0)) mod.bind(data_shapes=[('data', dshape)], label_shapes=None) mod.init_params() bias_argument = next(x for x in sym.list_arguments() if x.endswith('i2h_bias')) expected_bias = np.hstack([np.zeros((100,)), forget_bias * np.ones(100, ), np.zeros((2 * 100,))]) assert_allclose(mod.get_params()[0][bias_argument].asnumpy(), expected_bias)
Example 10
Project: soccer-matlab Author: utra-robosoccer File: batch_env.py License: BSD 2-Clause "Simplified" License | 6 votes |
def reset(self, indices=None): """Reset the environment and convert the resulting observation. Args: indices: The batch indices of environments to reset; defaults to all. Returns: Batch of observations. """ if indices is None: indices = np.arange(len(self._envs)) if self._blocking: observs = [self._envs[index].reset() for index in indices] else: observs = [self._envs[index].reset(blocking=False) for index in indices] observs = [observ() for observ in observs] observ = np.stack(observs) return observ
Example 11
Project: soccer-matlab Author: utra-robosoccer File: batch_env.py License: BSD 2-Clause "Simplified" License | 6 votes |
def reset(self, indices=None): """Reset the environment and convert the resulting observation. Args: indices: The batch indices of environments to reset; defaults to all. Returns: Batch of observations. """ if indices is None: indices = np.arange(len(self._envs)) if self._blocking: observs = [self._envs[index].reset() for index in indices] else: observs = [self._envs[index].reset(blocking=False) for index in indices] observs = [observ() for observ in observs] observ = np.stack(observs) return observ
Example 12
Project: Deep_Learning_Weather_Forecasting Author: BruceBinBoxing File: make_TestOnlineData_from_nc.py License: Apache License 2.0 | 6 votes |
def process_outlier_and_stack(interim_path, file_name, phase_str, datetime, processed_path): data_nc = load_pkl(interim_path, file_name) # Outlier processing for v in obs_var: data_nc['input_obs'][v] = process_outlier_and_normalize(data_nc['input_obs'][v], obs_range_dic[v]) for v in ruitu_var: data_nc['input_ruitu'][v] = process_outlier_and_normalize(data_nc['input_ruitu'][v], ruitu_range_dic[v]) stacked_data = [data_nc['input_obs'][v] for v in obs_var] stacked_input_obs = np.stack(stacked_data, axis=-1) stacked_data = [data_nc['input_ruitu'][v] for v in ruitu_var] stacked_input_ruitu = np.stack(stacked_data, axis=-1) print(stacked_input_obs.shape) #(sample_ind, timestep, station_id, features) print(stacked_input_ruitu.shape) data_dic={'input_obs':stacked_input_obs, 'input_ruitu':stacked_input_ruitu} #normalize save_pkl(data_dic, processed_path, '{}_{}_norm.dict'.format(phase_str, datetime))
Example 13
Project: Deep_Learning_Weather_Forecasting Author: BruceBinBoxing File: competition_model_class.py License: Apache License 2.0 | 6 votes |
def predict(self, batch_inputs, batch_ruitu): assert batch_ruitu.shape[0] == batch_inputs.shape[0], 'Shape Error' assert batch_inputs.shape[1] == 28 and batch_inputs.shape[2] == 10 and batch_inputs.shape[3] == 9, 'Error! Obs input shape must be (None, 28,10,9)' assert batch_ruitu.shape[1] == 37 and batch_ruitu.shape[2] == 10 and batch_ruitu.shape[3] == 29, 'Error! Ruitu input shape must be (None, 37,10, 29)' #all_pred={} pred_result_list = [] for i in range(10): #print('Predict for station: 9000{}'.format(i+1)) result = self.model.predict(x=[batch_inputs[:,:,i,:], batch_ruitu[:,:,i,:]]) result = np.squeeze(result, axis=0) #all_pred[i] = result pred_result_list.append(result) #pass pred_result = np.stack(pred_result_list, axis=0) #return all_pred, pred_result print('Predict shape (10,37,3) means (stationID, timestep, features). Features include: t2m, rh2m and w10m') self.pred_result = pred_result return pred_result
Example 14
Project: Deep_Learning_Weather_Forecasting Author: BruceBinBoxing File: competition_model_class.py License: Apache License 2.0 | 6 votes |
def predict(self, batch_inputs, batch_ruitu, batch_ids): #assert batch_ruitu.shape[0] == batch_inputs.shape[0], 'Shape Error' #assert batch_inputs.shape[1] == 28 and batch_inputs.shape[2] == 10 and batch_inputs.shape[3] == 9, 'Error! Obs input shape must be (None, 28,10,9)' #assert batch_ruitu.shape[1] == 37 and batch_ruitu.shape[2] == 10 and batch_ruitu.shape[3] == 29, 'Error! Ruitu input shape must be (None, 37,10, 29)' pred_result_list = [] for i in range(10): #print('Predict for station: 9000{}'.format(i+1)) result = self.model.predict(x=[batch_inputs[:,:,i,:], batch_ruitu[:,:,i,:], batch_ids[:,:,i]]) result = np.squeeze(result, axis=0) #all_pred[i] = result pred_result_list.append(result) #pass pred_result = np.stack(pred_result_list, axis=0) #return all_pred, pred_result print('Predict shape (10,37,3) means (stationID, timestep, features). Features include: t2m, rh2m and w10m') self.pred_result = pred_result return pred_result
Example 15
Project: pruning_yolov3 Author: zbyuan File: datasets.py License: GNU General Public License v3.0 | 6 votes |
def __next__(self): self.count += 1 img0 = self.imgs.copy() if cv2.waitKey(1) == ord('q'): # q to quit cv2.destroyAllWindows() raise StopIteration # Letterbox img = [letterbox(x, new_shape=self.img_size, interp=cv2.INTER_LINEAR)[0] for x in img0] # Stack img = np.stack(img, 0) # Normalize RGB img = img[:, :, :, ::-1].transpose(0, 3, 1, 2) # BGR to RGB img = np.ascontiguousarray(img, dtype=np.float16 if self.half else np.float32) # uint8 to fp16/fp32 img /= 255.0 # 0 - 255 to 0.0 - 1.0 return self.sources, img, img0, None
Example 16
Project: fine-lm Author: akzaidi File: batch_env.py License: MIT License | 6 votes |
def reset(self, indices=None): """Reset the environment and convert the resulting observation. Args: indices: The batch indices of environments to reset; defaults to all. Returns: Batch of observations. """ if indices is None: indices = np.arange(len(self._envs)) if self._blocking: observs = [self._envs[index].reset() for index in indices] else: observs = [self._envs[index].reset(blocking=False) for index in indices] observs = [observ() for observ in observs] observ = np.stack(observs) # TODO(piotrmilos): Do we really want this? observ = observ.astype(np.float32) return observ
Example 17
Project: Kaggler Author: jeongyoonlee File: linear.py License: MIT License | 6 votes |
def netflix(es, ps, e0, l=.0001): """Combine predictions with the optimal weights to minimize RMSE. Args: es (list of float): RMSEs of predictions ps (list of np.array): predictions e0 (float): RMSE of all zero prediction l (float): lambda as in the ridge regression Returns: (tuple): - (np.array): ensemble predictions - (np.array): weights for input predictions """ m = len(es) n = len(ps[0]) X = np.stack(ps).T pTy = .5 * (n * e0**2 + (X**2).sum(axis=0) - n * np.array(es)**2) w = np.linalg.pinv(X.T.dot(X) + l * n * np.eye(m)).dot(pTy) return X.dot(w), w
Example 18
Project: Generative-Latent-Optimization-Tensorflow Author: clvrai File: evaler.py License: MIT License | 6 votes |
def interpolator(self, dataset, bs, num=15): transit_num = num - 2 img = [] for i in range(num): idx = np.random.randint(len(dataset.ids)-1) img1, z1 = dataset.get_data(dataset.ids[idx]) img2, z2 = dataset.get_data(dataset.ids[idx+1]) z = [] for j in range(transit_num): z_int = (z2 - z1) * (j+1) / (transit_num+1) + z1 z.append(z_int / np.linalg.norm(z_int)) z = np.stack(z, axis=0) z_aug = np.concatenate((z, np.zeros((bs-transit_num, z.shape[1]))), axis=0) x_hat = self.session.run(self.model.x_recon, feed_dict={self.model.z: z_aug}) img.append(np.concatenate((np.expand_dims(img1, 0), x_hat[:transit_num], np.expand_dims(img2, 0)))) return np.reshape(np.stack(img, axis=0), (num*(transit_num+2), img1.shape[0], img1.shape[1], img1.shape[2]))
Example 19
Project: medicaldetectiontoolkit Author: MIC-DKFZ File: model_utils.py License: Apache License 2.0 | 6 votes |
def apply_box_deltas_2D(boxes, deltas): """Applies the given deltas to the given boxes. boxes: [N, 4] where each row is y1, x1, y2, x2 deltas: [N, 4] where each row is [dy, dx, log(dh), log(dw)] """ # Convert to y, x, h, w height = boxes[:, 2] - boxes[:, 0] width = boxes[:, 3] - boxes[:, 1] center_y = boxes[:, 0] + 0.5 * height center_x = boxes[:, 1] + 0.5 * width # Apply deltas center_y += deltas[:, 0] * height center_x += deltas[:, 1] * width height *= torch.exp(deltas[:, 2]) width *= torch.exp(deltas[:, 3]) # Convert back to y1, x1, y2, x2 y1 = center_y - 0.5 * height x1 = center_x - 0.5 * width y2 = y1 + height x2 = x1 + width result = torch.stack([y1, x1, y2, x2], dim=1) return result
Example 20
Project: easy-faster-rcnn.pytorch Author: potterhsu File: region_proposal_network.py License: MIT License | 6 votes |
def generate_anchors(self, image_width: int, image_height: int, num_x_anchors: int, num_y_anchors: int) -> Tensor: center_ys = np.linspace(start=0, stop=image_height, num=num_y_anchors + 2)[1:-1] center_xs = np.linspace(start=0, stop=image_width, num=num_x_anchors + 2)[1:-1] ratios = np.array(self._anchor_ratios) ratios = ratios[:, 0] / ratios[:, 1] sizes = np.array(self._anchor_sizes) # NOTE: it's important to let `center_ys` be the major index (i.e., move horizontally and then vertically) for consistency with 2D convolution # giving the string 'ij' returns a meshgrid with matrix indexing, i.e., with shape (#center_ys, #center_xs, #ratios) center_ys, center_xs, ratios, sizes = np.meshgrid(center_ys, center_xs, ratios, sizes, indexing='ij') center_ys = center_ys.reshape(-1) center_xs = center_xs.reshape(-1) ratios = ratios.reshape(-1) sizes = sizes.reshape(-1) widths = sizes * np.sqrt(1 / ratios) heights = sizes * np.sqrt(ratios) center_based_anchor_bboxes = np.stack((center_xs, center_ys, widths, heights), axis=1) center_based_anchor_bboxes = torch.from_numpy(center_based_anchor_bboxes).float() anchor_bboxes = BBox.from_center_base(center_based_anchor_bboxes) return anchor_bboxes
Example 21
Project: comet-commonsense Author: atcbosselut File: generate_conceptnet_beam_search.py License: Apache License 2.0 | 5 votes |
def make_batch(X): X = np.array(X) assert X.ndim in [1, 2] if X.ndim == 1: X = np.expand_dims(X, axis=0) pos_enc = np.arange(n_vocab + n_special, n_vocab + n_special + X.shape[-1]) pos_enc = np.expand_dims(pos_enc, axis=0) batch = np.stack([X, pos_enc], axis=-1) batch = torch.tensor(batch, dtype=torch.long).to(device) return batch
Example 22
Project: comet-commonsense Author: atcbosselut File: generate_atomic_greedy.py License: Apache License 2.0 | 5 votes |
def make_batch(X): X = np.array(X) assert X.ndim in [1, 2] if X.ndim == 1: X = np.expand_dims(X, axis=0) pos_enc = np.arange(n_vocab + n_special, n_vocab + n_special + X.shape[-1]) pos_enc = np.expand_dims(pos_enc, axis=0) batch = np.stack([X, pos_enc], axis=-1) batch = torch.tensor(batch, dtype=torch.long).to(device) return batch
Example 23
Project: comet-commonsense Author: atcbosselut File: generate_atomic_topk.py License: Apache License 2.0 | 5 votes |
def make_batch(X): X = np.array(X) assert X.ndim in [1, 2] if X.ndim == 1: X = np.expand_dims(X, axis=0) pos_enc = np.arange(n_vocab + n_special, n_vocab + n_special + X.shape[-1]) pos_enc = np.expand_dims(pos_enc, axis=0) batch = np.stack([X, pos_enc], axis=-1) batch = torch.tensor(batch, dtype=torch.long).to(device) return batch
Example 24
Project: comet-commonsense Author: atcbosselut File: generate_atomic_beam_search.py License: Apache License 2.0 | 5 votes |
def make_batch(X): X = np.array(X) assert X.ndim in [1, 2] if X.ndim == 1: X = np.expand_dims(X, axis=0) pos_enc = np.arange(n_vocab + n_special, n_vocab + n_special + X.shape[-1]) pos_enc = np.expand_dims(pos_enc, axis=0) batch = np.stack([X, pos_enc], axis=-1) batch = torch.tensor(batch, dtype=torch.long).to(device) return batch
Example 25
Project: MPContribs Author: materialsproject File: pre_submission.py License: MIT License | 5 votes |
def run(mpfile, **kwargs): input_dir = mpfile.hdata["_hdata"]["input_dir"] identifier = get_composition_from_string("PbZr20Ti80O3") print identifier # 'SP128_NSO_LPFM0000.ibw' too big to display in notebook files = ["BR_60016 (1).ibw", "SP128_NSO_VPFM0000.ibw"] for f in files: file_name = os.path.join(input_dir, f) df = load_data(file_name) name = f.split(".")[0] mpfile.add_data_table(identifier, df, name) print "imported", f xrd_file = os.path.join(input_dir, "Program6_JA_6_2th0m Near SRO (002)_2.xrdml.xml") data = read_xrdml(xrd_file) df = DataFrame( np.stack((data["2Theta"], data["data"]), 1), columns=["2Theta", "Intensity"] ) opts = {"yaxis": {"type": "log"}} # see plotly docs mpfile.add_data_table(identifier, df, "NearSRO", plot_options=opts) print "imported", os.path.basename(xrd_file) rsm_file = os.path.join(input_dir, "JA 42 RSM 103 STO 001.xrdml.xml") rvals, df = load_RSM(rsm_file) mpfile.add_hierarchical_data( { "rsm_range": { "x": "{} {}".format(rvals[0], rvals[1]), "y": "{} {}".format(rvals[2], rvals[3]), } }, identifier=identifier, ) mpfile.add_data_table(identifier, df, "RSM") print "imported", os.path.basename(rsm_file)
Example 26
Project: disentangling_conditional_gans Author: zalandoresearch File: dataset_tool.py License: MIT License | 5 votes |
def create_from_images(tfrecord_dir, image_dir, label_dir, shuffle): print('Loading images from "%s"' % image_dir) image_filenames = sorted(glob.glob(os.path.join(image_dir, '*'))) if len(image_filenames) == 0: error('No input images found') img = np.asarray(PIL.Image.open(image_filenames[0])) resolution = img.shape[0] channels = img.shape[2] if img.ndim == 3 else 1 if img.shape[1] != resolution: error('Input images must have the same width and height') if resolution != 2 ** int(np.floor(np.log2(resolution))): error('Input image resolution must be a power-of-two') if channels not in [1, 3]: error('Input images must be stored as RGB or grayscale') try: with open(label_dir, 'rb') as file: labels = pickle.load(file) except: error('Label file was not found') with TFRecordExporter(tfrecord_dir, len(image_filenames)) as tfr: order = tfr.choose_shuffled_order() if shuffle else np.arange(len(image_filenames)) reordered_names = [] for idx in range(order.size): image_filename = image_filenames[order[idx]] img = np.asarray(PIL.Image.open(image_filename)) if channels == 1: img = img[np.newaxis, :, :] # HW => CHW else: img = img.transpose(2, 0, 1) # HWC => CHW tfr.add_image(img) reordered_names.append(os.path.basename(image_filename)) reordered_labels = [] for key in reordered_names: reordered_labels += [labels[key]] reordered_labels = np.stack(reordered_labels, 0) tfr.add_labels(reordered_labels) #----------------------------------------------------------------------------
Example 27
Project: Adversarial-Face-Attack Author: ppwwyyxx File: face_attack.py License: GNU General Public License v3.0 | 5 votes |
def validate_on_lfw(model, lfw_160_path): # Read the file containing the pairs used for testing pairs = lfw.read_pairs('validation-LFW-pairs.txt') # Get the paths for the corresponding images paths, actual_issame = lfw.get_paths(lfw_160_path, pairs) num_pairs = len(actual_issame) all_embeddings = np.zeros((num_pairs * 2, 512), dtype='float32') for k in tqdm.trange(num_pairs): img1 = cv2.imread(paths[k * 2], cv2.IMREAD_COLOR)[:, :, ::-1] img2 = cv2.imread(paths[k * 2 + 1], cv2.IMREAD_COLOR)[:, :, ::-1] batch = np.stack([img1, img2], axis=0) embeddings = model.eval_embeddings(batch) all_embeddings[k * 2: k * 2 + 2, :] = embeddings tpr, fpr, accuracy, val, val_std, far = lfw.evaluate( all_embeddings, actual_issame, distance_metric=1, subtract_mean=True) print('Accuracy: %2.5f+-%2.5f' % (np.mean(accuracy), np.std(accuracy))) print('Validation rate: %2.5f+-%2.5f @ FAR=%2.5f' % (val, val_std, far)) auc = metrics.auc(fpr, tpr) print('Area Under Curve (AUC): %1.3f' % auc) eer = brentq(lambda x: 1. - x - interpolate.interp1d(fpr, tpr)(x), 0., 1.) print('Equal Error Rate (EER): %1.3f' % eer)
Example 28
Project: mmdetection Author: open-mmlab File: reppoints_head.py License: Apache License 2.0 | 5 votes |
def gen_grid_from_reg(self, reg, previous_boxes): """Base on the previous bboxes and regression values, we compute the regressed bboxes and generate the grids on the bboxes. :param reg: the regression value to previous bboxes. :param previous_boxes: previous bboxes. :return: generate grids on the regressed bboxes. """ b, _, h, w = reg.shape bxy = (previous_boxes[:, :2, ...] + previous_boxes[:, 2:, ...]) / 2. bwh = (previous_boxes[:, 2:, ...] - previous_boxes[:, :2, ...]).clamp(min=1e-6) grid_topleft = bxy + bwh * reg[:, :2, ...] - 0.5 * bwh * torch.exp( reg[:, 2:, ...]) grid_wh = bwh * torch.exp(reg[:, 2:, ...]) grid_left = grid_topleft[:, [0], ...] grid_top = grid_topleft[:, [1], ...] grid_width = grid_wh[:, [0], ...] grid_height = grid_wh[:, [1], ...] intervel = torch.linspace(0., 1., self.dcn_kernel).view( 1, self.dcn_kernel, 1, 1).type_as(reg) grid_x = grid_left + grid_width * intervel grid_x = grid_x.unsqueeze(1).repeat(1, self.dcn_kernel, 1, 1, 1) grid_x = grid_x.view(b, -1, h, w) grid_y = grid_top + grid_height * intervel grid_y = grid_y.unsqueeze(2).repeat(1, 1, self.dcn_kernel, 1, 1) grid_y = grid_y.view(b, -1, h, w) grid_yx = torch.stack([grid_y, grid_x], dim=2) grid_yx = grid_yx.view(b, -1, h, w) regressed_bbox = torch.cat([ grid_left, grid_top, grid_left + grid_width, grid_top + grid_height ], 1) return grid_yx, regressed_bbox
Example 29
Project: mmdetection Author: open-mmlab File: structures.py License: Apache License 2.0 | 5 votes |
def resize(self, out_shape, interpolation='nearest'): """See :func:`BaseInstanceMasks.resize`.""" if len(self.masks) == 0: resized_masks = np.empty((0, *out_shape), dtype=np.uint8) else: resized_masks = np.stack([ mmcv.imresize(mask, out_shape, interpolation=interpolation) for mask in self.masks ]) return BitmapMasks(resized_masks, *out_shape)
Example 30
Project: mmdetection Author: open-mmlab File: structures.py License: Apache License 2.0 | 5 votes |
def flip(self, flip_direction='horizontal'): """See :func:`BaseInstanceMasks.flip`.""" assert flip_direction in ('horizontal', 'vertical') if len(self.masks) == 0: flipped_masks = self.masks else: flipped_masks = np.stack([ mmcv.imflip(mask, direction=flip_direction) for mask in self.masks ]) return BitmapMasks(flipped_masks, self.height, self.width)