Вот как я импортирую в свой файл train.py:
< pre class="lang-py Prettyprint-override">
Код: Выделить всё
import os
import numpy as np
import cv2
import tensorflow as tf
from keras.models import Model
from keras.layers import Input, Conv2D, MaxPooling2D, Flatten, Dense, Lambda
from keras import backend as K
from keras.optimizers import Adam
from sklearn.model_selection import train_test_split
from utils import create_pairs, load_images_and_labels, save_embeddings
Но когда я запускаю файл распознавания.py.
Код: Выделить всё
import cv2
import numpy as np
from keras.models import load_model
from utils import load_embeddings
# Load the trained model and embeddings
siamese_model = load_model('models/siamese_model.h5', compile=False)
Код: Выделить всё
Traceback (most recent call last):
File "/Users/mac/face_recognition_system/Face Recognition System/recognize.py", line 7, in
siamese_model = load_model('models/siamese_model.h5', compile=False)
File "/Users/mac/face_recognition_system/Face Recognition System/face_recognition/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 70, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/Users/mac/face_recognition_system/Face Recognition System/train.py", line 31, in euclidean_distance
sumSquared = K.sum(K.square(featsA - featsB), axis=1, keepdims=True)
**NameError: Exception encountered when calling layer "lambda" (type Lambda).
name 'K' is not defined**
Call arguments received by layer "lambda" (type Lambda):
• inputs=['tf.Tensor(shape=(None, 4096), dtype=float32)', 'tf.Tensor(shape=(None, 4096), dtype=float32)']
• mask=None
• training=None
Я использую код VS, если это имеет значение.
Подробнее здесь: https://stackoverflow.com/questions/790 ... d-and-used