我想保存 Tensorflow 模型,然后将其用于部署目的。我不想使用model.save()它来保存它,因为我的目的是以某种方式“pickle”它并在未安装tensorflow的不同系统中使用它,例如:
model = pickle.load(open(path, 'rb'))
model.predict(prediction_array)
Run Code Online (Sandbox Code Playgroud)
早些时候使用 sklearn,当我 pickling KNN 模型时,它是成功的,我能够在不安装 sklearn 的情况下运行推理。
但是当我尝试 pickle 我的 Tensorflow 模型时,出现以下错误:
Traceback (most recent call last):
File "e:/VA_nlu_addition_branch_lite/nlu_stable2/train.py", line 21, in <module>
pickle.dump(model, open('saved/model.p', 'wb'))
TypeError: can't pickle _thread.RLock objects
Run Code Online (Sandbox Code Playgroud)
我的模型如下所示:
model = keras.Sequential([
keras.Input(shape=(len(x[0]))),
keras.layers.Dense(units=16, activation='elu'),
keras.layers.Dense(units=8, activation='elu'),
keras.layers.Dense(units=len(y[0]), activation='softmax'),
])
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x, y, epochs=200, batch_size=8)
pickle.dump(model, open('saved/model.p', 'wb'))
Run Code Online (Sandbox Code Playgroud)
型号总结
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 16) 1680
_________________________________________________________________ …Run Code Online (Sandbox Code Playgroud) 我在google colaboratory上练习OpenCV,因为我不知道如何在GPU上使用OpenCV,当我在我的硬件上运行OpenCV时,它需要大量CPU,所以我去了Google colaboratory。我的笔记本的链接在这里。
如果你不想看,代码如下:
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
while True:
_, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.imshow('img', img)
k = cv2.waitKey(30) & 0xff
if k==27:
break
cap.release()
Run Code Online (Sandbox Code Playgroud)
相同的代码在我的 PC 上运行良好,但在 Google Colaboratory 上则不然。错误是:
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-5-0d9472926d8c> in <module>()
6 while True:
7 _, img = cap.read() …Run Code Online (Sandbox Code Playgroud)