forked from insaaniManav/Teachers-pet-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
training.py
29 lines (24 loc) · 1020 Bytes
/
training.py
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
from sklearn.preprocessing import LabelEncoder
from sklearn.svm import SVC
import pickle
embeddings_path = "/home/jasmeet/PycharmProjects/opencv_playground/opencv_and_dlib/face_recognition/embeddings.pickle"
classifier_path = "/home/jasmeet/PycharmProjects/opencv_playground/opencv_and_dlib/face_recognition/classifier.pickle"
encoder_path = "/home/jasmeet/PycharmProjects/opencv_playground/opencv_and_dlib/face_recognition/encoder.pickle"
print("loading extracted embedding features file ")
data = pickle.loads(open(embeddings_path, "rb").read())
print(data)
print("encoding labels")
le = LabelEncoder()
labels = le.fit_transform(data["names"])
print("training model")
classifier = SVC(C=1.0, kernel="linear", probability=True)
classifier.fit(data["embeddings"], labels)
print("done training")
print("saving classifier")
f = open(classifier_path, "wb")
f.write(pickle.dumps(classifier, protocol=2))
f.close()
print("saving encoder file")
f = open(encoder_path, "wb")
f.write(pickle.dumps(le, protocol=2))
f.close()