Theano错误深度学习python
Theano error deep learning python
这是相当标准的 openCV 代码,其中一个循环将使用 haar 级联分类器检测面部,然后有一个深度学习模型将检测面部的情绪。该模型是根据 2013 年的 kaggle 数据集创建的,如果有人想试用该代码,我会从这个 github 帐户下载该模型。 fer2013_mini_XCEPTION.119-0.65.hdf5 只需在您的目录中放置一个 models
文件夹并将其重命名为 model.h5
https://github.com/oarriaga/face_classification/tree/master/trained_models
代码在 Tensorflow 上工作得很好但是当我 运行 程序 KERAS_BACKEND=theano python haarMOD.py
我得到一个错误,这可能是由于 BLAS 库没有正确链接?有人对如何让 theano 发挥作用有任何想法吗?最终,我试图获得此代码的类似变体,以在仅适用于 Theano 的 Flask 服务器上工作。
import cv2
import sys, os
import pandas as pd
import numpy as np
from keras.models import load_model
#KERAS_BACKEND=theano python haarMOD.py
BASEPATH = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASEPATH)
os.chdir(BASEPATH)
MODELPATH = './models/model.h5'
emotion_dict = {0: "Angry", 1: "Disgust", 2: "Fear", 3: "Happy", 4: "Sad", 5: "Surprise", 6: "Neutral"}
model = load_model(MODELPATH)
WHITE = [255, 255, 255]
def draw_box(Image, x, y, w, h):
cv2.line(Image, (x, y), (x + int(w / 5), y), WHITE, 2)
cv2.line(Image, (x + int((w / 5) * 4), y), (x + w, y), WHITE, 2)
cv2.line(Image, (x, y), (x, y + int(h / 5)), WHITE, 2)
cv2.line(Image, (x + w, y), (x + w, y + int(h / 5)), WHITE, 2)
cv2.line(Image, (x, (y + int(h / 5 * 4))), (x, y + h), WHITE, 2)
cv2.line(Image, (x, (y + h)), (x + int(w / 5), y + h), WHITE, 2)
cv2.line(Image, (x + int((w / 5) * 4), y + h), (x + w, y + h), WHITE, 2)
cv2.line(Image, (x + w, (y + int(h / 5 * 4))), (x + w, y + h), WHITE, 2)
haar_face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
video = cv2.VideoCapture('MovieSample.m4v')
while True:
check, frame = video.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = haar_face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5);
for (x, y, w, h) in faces:
gray_face = cv2.resize((gray[y:y + h, x:x + w]), (110, 110))
draw_box(gray, x, y, w, h)
roi_gray = gray[y:y + h, x:x + w]
cropped_img = np.expand_dims(np.expand_dims(cv2.resize(roi_gray, (48, 48)), -1), 0)
cv2.normalize(cropped_img, cropped_img, alpha=0, beta=1, norm_type=cv2.NORM_L2, dtype=cv2.CV_32F)
prediction = model.predict(cropped_img)
cv2.putText(gray, emotion_dict[int(np.argmax(prediction))], (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (WHITE), 1, cv2.LINE_AA)
cv2.imshow("Face Detector", gray)
cv2.waitKey(1)
key = cv2.waitKey(1)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
非常感谢任何提示,我正在 运行宁 Linux 基于 Ubuntu 18.3 的 Mint 和 CPU 上的 Anaconda 3.6,这些步骤从机器学习掌握到构建深度学习库。我还使用 .AVI 文件而不是网络摄像头,因为我的 PC 上没有网络摄像头。将 openCV 的 video = cv2.VideoCapture('MovieSample.m4v')
更改为 video = cv2.VideoCapture(0)
,默认为 USB 摄像头。
https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/
为我弹出的错误是第 17 行 model = load_model(MODELPATH) if on CPU, do you have a BLAS library installed Theano can link against?
有人可以提供有关如何解决该错误的提示吗??
我通过编辑 C 驱动器 C:\Users\user\.keras
上的 .json 文件来引用 "theano"
而不是 [=14],从而获得了在 Windows 机器上运行的代码=]
{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "theano",
"image_data_format": "channels_last"
}
然后将我在 a different Whosebug post 中找到的这段附加代码添加到我的原始 .py 文件中
import theano
theano.config.optimizer="None"
这是相当标准的 openCV 代码,其中一个循环将使用 haar 级联分类器检测面部,然后有一个深度学习模型将检测面部的情绪。该模型是根据 2013 年的 kaggle 数据集创建的,如果有人想试用该代码,我会从这个 github 帐户下载该模型。 fer2013_mini_XCEPTION.119-0.65.hdf5 只需在您的目录中放置一个 models
文件夹并将其重命名为 model.h5
https://github.com/oarriaga/face_classification/tree/master/trained_models
代码在 Tensorflow 上工作得很好但是当我 运行 程序 KERAS_BACKEND=theano python haarMOD.py
我得到一个错误,这可能是由于 BLAS 库没有正确链接?有人对如何让 theano 发挥作用有任何想法吗?最终,我试图获得此代码的类似变体,以在仅适用于 Theano 的 Flask 服务器上工作。
import cv2
import sys, os
import pandas as pd
import numpy as np
from keras.models import load_model
#KERAS_BACKEND=theano python haarMOD.py
BASEPATH = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, BASEPATH)
os.chdir(BASEPATH)
MODELPATH = './models/model.h5'
emotion_dict = {0: "Angry", 1: "Disgust", 2: "Fear", 3: "Happy", 4: "Sad", 5: "Surprise", 6: "Neutral"}
model = load_model(MODELPATH)
WHITE = [255, 255, 255]
def draw_box(Image, x, y, w, h):
cv2.line(Image, (x, y), (x + int(w / 5), y), WHITE, 2)
cv2.line(Image, (x + int((w / 5) * 4), y), (x + w, y), WHITE, 2)
cv2.line(Image, (x, y), (x, y + int(h / 5)), WHITE, 2)
cv2.line(Image, (x + w, y), (x + w, y + int(h / 5)), WHITE, 2)
cv2.line(Image, (x, (y + int(h / 5 * 4))), (x, y + h), WHITE, 2)
cv2.line(Image, (x, (y + h)), (x + int(w / 5), y + h), WHITE, 2)
cv2.line(Image, (x + int((w / 5) * 4), y + h), (x + w, y + h), WHITE, 2)
cv2.line(Image, (x + w, (y + int(h / 5 * 4))), (x + w, y + h), WHITE, 2)
haar_face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
video = cv2.VideoCapture('MovieSample.m4v')
while True:
check, frame = video.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = haar_face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5);
for (x, y, w, h) in faces:
gray_face = cv2.resize((gray[y:y + h, x:x + w]), (110, 110))
draw_box(gray, x, y, w, h)
roi_gray = gray[y:y + h, x:x + w]
cropped_img = np.expand_dims(np.expand_dims(cv2.resize(roi_gray, (48, 48)), -1), 0)
cv2.normalize(cropped_img, cropped_img, alpha=0, beta=1, norm_type=cv2.NORM_L2, dtype=cv2.CV_32F)
prediction = model.predict(cropped_img)
cv2.putText(gray, emotion_dict[int(np.argmax(prediction))], (x, y), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (WHITE), 1, cv2.LINE_AA)
cv2.imshow("Face Detector", gray)
cv2.waitKey(1)
key = cv2.waitKey(1)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
非常感谢任何提示,我正在 运行宁 Linux 基于 Ubuntu 18.3 的 Mint 和 CPU 上的 Anaconda 3.6,这些步骤从机器学习掌握到构建深度学习库。我还使用 .AVI 文件而不是网络摄像头,因为我的 PC 上没有网络摄像头。将 openCV 的 video = cv2.VideoCapture('MovieSample.m4v')
更改为 video = cv2.VideoCapture(0)
,默认为 USB 摄像头。
https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/
为我弹出的错误是第 17 行 model = load_model(MODELPATH) if on CPU, do you have a BLAS library installed Theano can link against?
有人可以提供有关如何解决该错误的提示吗??
我通过编辑 C 驱动器 C:\Users\user\.keras
上的 .json 文件来引用 "theano"
而不是 [=14],从而获得了在 Windows 机器上运行的代码=]
{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "theano",
"image_data_format": "channels_last"
}
然后将我在 a different Whosebug post 中找到的这段附加代码添加到我的原始 .py 文件中
import theano
theano.config.optimizer="None"