i'm trying to run this code which is about face recognition in my raspberry pi 4 but i faced illegal instruction error while running it and i don't understand why it won't run at all, by the way the code runs perfectly on pycharm on my laptop.
this is the code:
`import joblib
import numpy as np
import matplotlib.pyplot as plt
from facenet_pytorch import MTCNN
import cv2
mtcnn = MTCNN(image_size=160, margin=14, min_face_size=20,device='cpu', post_process=False)
from numpy import expand_dims
from cv2 import resize, INTER_CUBIC, INTER_AREA
from tensorflow.keras.preprocessing.image import img_to_array
pca = joblib.load ('pca_model.joblib')
scaler = joblib.load('scaler.joblib')
clf = joblib.load ('SVC.joblib')
import tensorflow as tf
model = tf.keras.models.load_model('saved_model\my_model')
def preprocess_image(img):
img = img_to_array(img)
img = img / 255.0
img = expand_dims(img, axis=0)
return img
def Face_Recognition(roi, model, scaler, pca, clf):
roi = resize(roi, dsize=(224, 224), interpolation=INTER_CUBIC)
roi = preprocess_image(roi)
embedding_vector = model.predict(roi)[0]
embedding_vector = scaler.transform(embedding_vector.reshape(1, -1))
embedding_vector_pca = pca.transform(embedding_vector)
result1 = clf.predict(embedding_vector_pca)[0]
y_predict = clf.predict_proba(embedding_vector_pca)[0]
print(y_predict)
result = np.where(y_predict > 0.8)[0]
print(result)
return result, y_predict
cap=cv2.VideoCapture(1)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
classes = {'Esraa': 0, 'Mohamed': 1, 'Tasneem':2, 'nesma': 3, 'salma':4, 'kero': 5}
def ImageClass(n):
for x , y in classes.items():
if n == y :
return x`
i was expecting it would work just fine as i tried on my laptop and now i reached a stalemate and i don't know what to do.