def data_augmentation(x_label, y_label): """ Data augmentation. :param x_label: x_label Input of the neural network. :param y_label: x_label Output of the neural network. :return: x_label, y_label. X_label, y_label after data augmentation. """ all_action_probs, values = y_label extend_xlabel = [] extend_ylabel_action_probs = [] extend_ylabel_value = [] for board_input in x_label: # The board_input 4-dimensional data is disassembled and expanded separately. augmentation_board = np.array([ get_data_augmentation(one_board_input) for one_board_input in board_input ]) board_augmentation = np.array(list(zip(*augmentation_board))) extend_xlabel.extend( np.array( [one_augmentation for one_augmentation in board_augmentation])) for action_probs in all_action_probs: extend_action_probs = get_data_augmentation( action_probs.reshape(BOARD.board_size, BOARD.board_size), operation=lambda a: a.flatten()) extend_ylabel_action_probs.extend(extend_action_probs) for value in values: extend_value = get_data_augmentation(np.array(value)) extend_ylabel_value.extend(extend_value) return extend_xlabel, (extend_ylabel_action_probs, extend_ylabel_value)
def data_augmentation(x_label, y_label): """ :param x_label: :param y_label: :return: """ all_action_probs, values = y_label extend_xlabel = [] extend_ylabel_action_probs = [] extend_ylabel_value = [] for board_input in x_label: augmentation_board = np.array([get_data_augmentation(one_board_input) for one_board_input in board_input]) board_augmentation = np.array(list(zip(*augmentation_board))) extend_xlabel.extend(np.array([one_augmentation for one_augmentation in board_augmentation])) for action_probs in all_action_probs: extend_action_probs = get_data_augmentation(action_probs.reshape(BOARD.board_size, BOARD.board_size), operation=lambda a: a.flatten()) extend_ylabel_action_probs.extend(extend_action_probs) for value in values: extend_value = get_data_augmentation(np.array(value)) extend_ylabel_value.extend(extend_value) return extend_xlabel, (extend_ylabel_action_probs, extend_ylabel_value)