Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
1 result

Target

Select target project
No results found
Select Git revision
  • main
1 result
Show changes

Commits on Source 4

4 files
+ 15
7
Compare changes
  • Side-by-side
  • Inline

Files

+5 −1
Original line number Original line Diff line number Diff line
#Libraries
#Libraries
import numpy as np
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import math
import random
from read_cifar import *

#Functions
#Functions
def distance_matrix(Y , X):
def distance_matrix(Y , X):
    #This function takes as parameters two matrices X and Y
    #This function takes as parameters two matrices X and Y
@@ -26,7 +30,7 @@ def knn_predict(dists, labels_train, k):


def evaluate_knn(data_train, labels_train, data_test, labels_test, k):
def evaluate_knn(data_train, labels_train, data_test, labels_test, k):
    #This function evaluates the knn classifier rate
    #This function evaluates the knn classifier rate
    labels_test__pred=knn_predict(distance_matrix(data_train, data_test), labels_train, k)
    labels_test_pred=knn_predict(distance_matrix(data_train, data_test), labels_train, k)
    num_samples= data_test.shape[0]
    num_samples= data_test.shape[0]
    num_correct= (labels_test == labels_test_pred).sum().item()
    num_correct= (labels_test == labels_test_pred).sum().item()
    accuracy= 100 * (num_correct / num_samples)  #The accuracy is the percentage of the correctly predicted classes
    accuracy= 100 * (num_correct / num_samples)  #The accuracy is the percentage of the correctly predicted classes
+5 −1
Original line number Original line Diff line number Diff line
import numpy as np
import numpy as np
import matplotlib.pyplot as plt
import math
import random
from read_cifar import *
#We are using the segmoid activation function
#We are using the segmoid activation function
def segmoid(x):
def segmoid(x):
    return 1/(1+np.exp(-x))
    return 1/(1+np.exp(-x))
@@ -19,7 +23,7 @@ def learn_once_mse(w1,b1,w2,b2,data,targets,learning_rate):
    A2=segmoid(np.matmul(A1,w2) + b2)
    A2=segmoid(np.matmul(A1,w2) + b2)
    #Let calculate the partial derivates
    #Let calculate the partial derivates
    #2
    #2
    D_A2=2*(A2-tragets)
    D_A2=2*(A2-targets)
    D_A2_T=np.matmul(A2,(1-A2).T)
    D_A2_T=np.matmul(A2,(1-A2).T)
    D_Z2=np.matmul(D_A2_T,D_A2)
    D_Z2=np.matmul(D_A2_T,D_A2)
    D_W2=np.matmul(A1.T,D_Z2)
    D_W2=np.matmul(A1.T,D_Z2)
+5 −5
Original line number Original line Diff line number Diff line
@@ -29,13 +29,13 @@ def read_cifar(directory_path):
    for i in range(len(files)):
    for i in range(len(files)):
        fichier=directory_path+files[i]
        fichier=directory_path+files[i]
        data_dict=unpickle(fichier)
        data_dict=unpickle(fichier)
        M=data_dict[b'data']
        D=data_dict[b'data']
        L=data_dict[b'labels']
        L=data_dict[b'labels']
        L=np.array(L)
        L=np.array(L)
        data=np.vstack((X,M))
        data=np.vstack((data,D))
        labels=np.hstack((Y,L))
        labels=np.hstack((labels,L))
    data=X[N:2*N,]
    data=data[N:2*N,]
    labels=Y[A:,]
    labels=labels[A:,]
    return data,labels
    return data,labels


def split_dataset(data,labels,split):
def split_dataset(data,labels,split):