Spaces:
Runtime error
Runtime error
File size: 1,223 Bytes
4e78e8c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import matplotlib.pyplot as plt
import numpy as np
import pickle
def find_knn_and_plot_image(test_data,model,k_value:int =10):
x_test = test_data
point = np.array(x_test)
point = np.expand_dims(point, axis=0)
test_embedding = model.predict(point)
with open(r'Model\data\train_embeddings_resnet18.pkl', 'rb') as f:
data = pickle.load(f)
# Convert data to NumPy array
train_data = np.array(data)
# Convert NumPy array to TensorFlow tensor
# data_tensor = tf.convert_to_tensor(data_array, dtype=tf.float32)
distance_with_label_and_index = []
print(train_data)
for i,(x_train) in enumerate(train_data):
train_point = np.array(x_train)
distance_with_label_and_index.append((i,np.linalg.norm(test_embedding-train_point)))
#sorting based on distance
distance_with_label_and_index_sorted=sorted(distance_with_label_and_index,key=lambda x: x[1])
k_nearest_points = distance_with_label_and_index_sorted[0:k_value]
#calculating accuracy
result =[]
for i,(index,distance) in enumerate(k_nearest_points):
print(index)
result.append(train_image[index])
return result
|