Illegal instruction error while running my code on raspberry pi?

67 views Asked by At

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.

0

There are 0 answers