def load(file): nda = numpy.load(file) input_raw_data = nda['input_raw_data'] clips = nda['clips'] xs = [reshape_patch(input_raw_data[clips[0,i,0]:clips[0,i,0]+clips[0,i,1]], patch_size) for i in xrange(clips.shape[1])] ys = [reshape_patch(input_raw_data[clips[1,i,0]:clips[1,i,0]+clips[1,i,1]], patch_size) for i in xrange(clips.shape[1])] return (ndarray(xs), ndarray(ys))
def patchify(data, patch_size): # dataset.shape: (n_timesteps, n_feature_maps, height, width) n_patches = data.shape[1] * numpy.prod(patch_size) # patch_shape: (n_timesteps, n_feature_maps, height, width) patch_shape = (data.shape[0], n_patches, data.shape[2]/patch_size[0], data.shape[3]/patch_size[1]) patches = [] for j in xrange(patch_size[0]): for i in xrange(patch_size[1]): patches.append(data[:, :, j*patch_shape[2]:(j+1)*patch_shape[2], i*patch_shape[3]:(i+1)*patch_shape[3]]) return ndarray(patches).swapaxes(0,1).reshape(patch_shape)