From 815d6e3c801c678b18b791e5295370b8b7376d07 Mon Sep 17 00:00:00 2001 From: corentin <corentin.massala@gmail.com> Date: Mon, 6 Nov 2023 17:53:58 +0100 Subject: [PATCH] add of color in the code --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index be4b76c..7b59861 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,14 @@ Corentin MASSALA All the code can be found on the python file read_cifar.py #### 2- -``` +```rb def read_cifar_batch(file): with open(file, 'rb') as fo: dict = pickle.load(fo, encoding='bytes') return (np.array(dict[b'data']).astype('float32'), np.array(dict[b'labels']).astype('int64') ) ``` #### 3- -``` +```rb def read_cifar(path): data = [] labels = [] @@ -39,7 +39,7 @@ def read_cifar(path): To split the dataset we use the split function from the sklearn library -``` +```rb def split_dataset(data, labels, split): X_train, X_test, y_train, y_test = train_test_split( data, labels, test_size=(1 - split), random_state=0) @@ -52,7 +52,7 @@ def split_dataset(data, labels, split): All the code can be found on the python file knn.py #### 1- -``` +```rb def distance_matrix(matrix1, matrix2): #X_test then X_train in this order sum_of_squares_matrix1 = np.sum(np.square(matrix1), axis=1, keepdims=True) #A^2 @@ -66,7 +66,7 @@ def distance_matrix(matrix1, matrix2): #### 2- -``` +```rb def knn_predict(dists, labels_train, k): output = [] # Loop on all the images_test @@ -86,7 +86,7 @@ def knn_predict(dists, labels_train, k): #### 3- -``` +``` rb def evaluate_knn(data_train, labels_train, data_test, labels_tests, k): dist = distance_matrix(data_test, data_train) result_test = knn_predict(dist, labels_train, k) @@ -98,7 +98,7 @@ def evaluate_knn(data_train, labels_train, data_test, labels_tests, k): ``` #### 4- -``` +```rb def bench_knn(): k_indices = [i for i in range(20) if i % 2 != 0] @@ -165,7 +165,7 @@ Here are all the answer for the theory of the backpropagation. ### Coding part All the code can be found on the file mlp.py -``` +```rb def learn_once_mse(w1, b1, w2, b2, data, targets, learning_rate): N_out = len(targets) #number of training examples @@ -217,7 +217,7 @@ def learn_once_mse(w1, b1, w2, b2, data, targets, learning_rate): ``` #### 11- -``` +```rb def one_hot(labels): #num_classes = np.max(labels) + 1 on va le hardcoder ici num_classes = 10 @@ -227,14 +227,14 @@ def one_hot(labels): #### 12- The cross_entropy_loss is : -``` +```rb def cross_entropy_loss(y_pred, y_true): loss = -np.sum(y_true * np.log(y_pred)) / len(y_pred) return loss ``` The new learning function is : -``` +```rb def learn_once_cross_entropy(w1, b1, w2, b2, data, labels_train, learning_rate): N_out = len(labels_train) #number of training examples @@ -275,7 +275,7 @@ def learn_once_cross_entropy(w1, b1, w2, b2, data, labels_train, learning_rate): ``` #### 13- -``` +```rb def forward(w1, b1, w2, b2, data): # Forward pass a0 = data # the data are the input of the first layer @@ -286,7 +286,7 @@ def forward(w1, b1, w2, b2, data): predictions = a2 # the predicted values are the outputs of the output layer return(predictions) ``` -``` +```rb def train_mlp(w1, b1, w2, b2, data_train, labels_train, learning_rate, num_epoch): train_accuracies = [] for epoch in range(num_epoch): @@ -306,7 +306,8 @@ def train_mlp(w1, b1, w2, b2, data_train, labels_train, learning_rate, num_epoch return w1, b1, w2, b2, train_accuracies ``` #### 14- -```def test_mlp(w1, b1, w2, b2, data_test, labels_test): +```rb +def test_mlp(w1, b1, w2, b2, data_test, labels_test): # Compute accuracy predictions = forward(w1, b1, w2, b2, data_test) @@ -319,7 +320,7 @@ def train_mlp(w1, b1, w2, b2, data_train, labels_train, learning_rate, num_epoch #### 15- -``` +```rb def run_mlp_training(data_train, labels_train, data_test, labels_test, d_h,learning_rate, num_epoch): d_in = data_train.shape[1] -- GitLab