def load_paths_to_images(self, paths): images = np.empty( [len(paths), IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS]) for k, path in enumerate(paths): images[k] = utils.load_img_from_path(data_dir=self.data_dir, image_name=path, is_gray_scale=self.gray_scale) return images
def predict(self, data, number_of_steps): predictions = np.empty(shape=(number_of_steps,)) data_shape = data.shape for i in range(predictions.shape[0]): predicted_value = self.model.predict(data) predictions[i] = predicted_value.item() # remove first element and add the prediction data = np.reshape(np.append(data[0][1:], predicted_value.item()), newshape=data_shape) return predictions
def __getitem__(self, index): start_index = index * self.batch_size end_index = start_index + self.batch_size batch_paths = self.path_to_pictures[start_index:end_index] steering_angles = self.steering_angles[start_index:end_index] images = np.empty([len(batch_paths), IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS]) steers = np.empty([len(batch_paths)]) for i, paths in enumerate(batch_paths): center, left, right = batch_paths[i] steering_angle = steering_angles[i] # augmentation if self.is_training and np.random.rand() < 0.6: image, steering_angle = augment(self.args.data_dir, center, left, right, steering_angle) else: image = load_image(self.args.data_dir, center) # add the image and steering angle to the batch images[i] = preprocess(image) steers[i] = steering_angle return images, steers
def __getitem__(self, index): start_index = index * self.batch_size end_index = start_index + self.batch_size batch_paths = self.path_to_pictures[start_index:end_index] input_shape = self.model.get_input_shape() x_shape = (len(batch_paths), ) + (input_shape) x = np.empty(shape=x_shape) for i, path in enumerate(batch_paths): # apply augmentation to 60% of the images, if enabled if APPLY_DATA_AUGMENTATION and np.random.rand() < 0.6: # data augmentation img = load_image(self.data_dir, path) img = augment(img) img = preprocess(img) # crop + resize + rgb2yuv else: img = load_image(self.data_dir, path) img = resize(img) x[i] = self.model.normalize_and_reshape(img) return x, x
def empty_batch_array(self, this_batch_y_paths): return np.empty([ len(this_batch_y_paths), self.sequence_length, IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS ])