def _test_video_folder(): from textwrap import fill, indent batch_size = 5 video_data_set = VideoFolder('small_data_set/') nb_of_classes = len(video_data_set.classes) print('There are', nb_of_classes, 'classes') print(indent(fill(' '.join(video_data_set.classes), 77), ' ')) print('There are {} frames'.format(len(video_data_set))) print('Videos in the data set:', *video_data_set.videos, sep='\n') import inflect ordinal = inflect.engine().ordinal def print_list(my_list): for a, b in enumerate(my_list): print(a, ':', end=' [') print(*b, sep=',\n ', end=']\n') # get first 3 batches n = ceil(len(video_data_set) / batch_size) print('Batch size:', batch_size) print('Frames per row:', n) for big_j in range(0, n, 90): batch = list() for j in range(big_j, big_j + 90): if j >= n: break # there are no more frames batch.append( tuple(video_data_set[i * n + j][0] for i in range(batch_size))) batch[-1] = concatenate(batch[-1], 0) batch = concatenate(batch, 1) _show_numpy(batch, 1e-1) print(ordinal(big_j // 90 + 1), '90 batches of shape', batch.shape) print_list(video_data_set.opened_videos) print('Freeing resources') video_data_set.free() print_list(video_data_set.opened_videos) # get frames 50 -> 52 batch = list() for i in range(50, 53): batch.append(video_data_set[i][0]) _show_numpy(concatenate(batch, 1)) print_list(video_data_set.opened_videos)
def _from_string(str, gdict, ldict): rows = str.split(';') rowtup = [] for row in rows: trow = row.split(',') newrow = [] for x in trow: newrow.extend(x.split()) trow = newrow coltup = [] for col in trow: col = col.strip() try: thismat = ldict[col] except KeyError: try: thismat = gdict[col] except KeyError as e: raise NameError(f"name {col!r} is not defined") from None coltup.append(thismat) rowtup.append(concatenate(coltup, axis=-1)) return concatenate(rowtup, axis=0)
def assemble(self, results, axis=1): d = {r.idx: r.arr for r in results} l = [d[k] for k in sorted(d.keys())] self.assembled = concatenate(l, axis=axis) return self.assembled
import numpy as np from numpy.core.multiarray import concatenate a = np.genfromtxt('info_day.csv', delimiter=',', dtype=None, encoding='ascii').astype(object) b = np.genfromtxt('info_night.csv', delimiter=',', dtype=None, encoding='ascii').astype(object) a[0][1] = 'Temperature(Day)' b[0][1] = 'Temperature(Night)' a[0][2] = 'Humidity(Day)' b[0][2] = 'Humidity(Night)' a[0][3] = 'Light(Day)' b[0][3] = 'Light(Night)' a[0][4] = 'CO2(Day)' b[0][4] = 'CO2(Night)' c = concatenate((a, b), axis=1) my_permutation = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9] i = np.argsort(my_permutation) d = c[:, i] e = np.delete(d, np.s_[1:2], axis=1) np.savetxt("info_combine.csv", e, fmt='%s', delimiter=",")
def bmat(obj, ldict=None, gdict=None): """ Build a matrix object from a string, nested sequence, or array. Parameters ---------- obj : str or array_like Input data. If a string, variables in the current scope may be referenced by name. ldict : dict, optional A dictionary that replaces local operands in current frame. Ignored if `obj` is not a string or `gdict` is None. gdict : dict, optional A dictionary that replaces global operands in current frame. Ignored if `obj` is not a string. Returns ------- out : matrix Returns a matrix object, which is a specialized 2-D array. See Also -------- block : A generalization of this function for N-d arrays, that returns normal ndarrays. Examples -------- >>> A = np.mat('1 1; 1 1') >>> B = np.mat('2 2; 2 2') >>> C = np.mat('3 4; 5 6') >>> D = np.mat('7 8; 9 0') All the following expressions construct the same block matrix: >>> np.bmat([[A, B], [C, D]]) matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) >>> np.bmat(np.r_[np.c_[A, B], np.c_[C, D]]) matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) >>> np.bmat('A,B; C,D') matrix([[1, 1, 2, 2], [1, 1, 2, 2], [3, 4, 7, 8], [5, 6, 9, 0]]) """ if isinstance(obj, str): if gdict is None: # get previous frame frame = sys._getframe().f_back glob_dict = frame.f_globals loc_dict = frame.f_locals else: glob_dict = gdict loc_dict = ldict return matrix(_from_string(obj, glob_dict, loc_dict)) if isinstance(obj, (tuple, list)): # [[A,B],[C,D]] arr_rows = [] for row in obj: if isinstance(row, N.ndarray): # not 2-d return matrix(concatenate(obj, axis=-1)) else: arr_rows.append(concatenate(row, axis=-1)) return matrix(concatenate(arr_rows, axis=0)) if isinstance(obj, N.ndarray): return matrix(obj)