def flip_labels_C_two(corruption_prob, num_classes, seed=1):
    '\n    returns a matrix with (1 - corruption_prob) on the diagonals, and corruption_prob\n    concentrated in only one other entry for each row\n    '
    np.random.seed(seed)
    C = (np.eye(num_classes) * (1 - corruption_prob))
    row_indices = np.arange(num_classes)
    for i in range(num_classes):
        C[i][np.random.choice(row_indices[(row_indices != i)], 2, replace=False)] = (corruption_prob / 2)
    return C
returns a matrix with (1 - corruption_prob) on the diagonals, and corruption_prob
concentrated in only one other entry for each row
def flip_labels_C_two(corruption_prob, num_classes, seed=1):
    '\n    returns a matrix with (1 - corruption_prob) on the diagonals, and corruption_prob\n    concentrated in only one other entry for each row\n    '
    np.random.seed(seed)
    C = (np.eye(num_classes) * (1 - corruption_prob))
    row_indices = np.arange(num_classes)
    for i in range(num_classes):
        C[i][np.random.choice(row_indices[(row_indices != i)], 2, replace=False)] = (corruption_prob / 2)
    return C