在 PyCharm 上使用 Python 3.8.5 版和 TensorFlow 和 Keras 库构建情商应用程序时遇到问题
Posted
技术标签:
【中文标题】在 PyCharm 上使用 Python 3.8.5 版和 TensorFlow 和 Keras 库构建情商应用程序时遇到问题【英文标题】:Having problems building an Emotional Intelligence Application using Python version 3.8.5 on PyCharm with the TensorFlow and Keras Libraries 【发布时间】:2021-03-29 06:08:38 【问题描述】:此应用程序使用相机实时跟踪面部情绪。 Open CV 用于绘制矩形和覆盖文本数据。人脸情感识别将使用 Deep Face 库,网络摄像头在该库中识别数字图像中的人脸。
Tensorflow 和 Keras 库的版本都是 2.2.0
我现在收到此错误:
ImportError Traceback(最近一次调用)
在 1 导入 cv2 2 导入 matplotlib.pyplot 作为 plt ----> 3 从 deepface 导入 DeepFace 4 5 faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
d:\myenv\lib\site-packages\deepface\DeepFace.py 在 10进口泡菜 11 ---> 12 从 deepface.basemodels 导入 VGGFace、OpenFace、Facenet、FbDeepFace、DeepID、DlibWrapper、ArcFace、Boosting 13 从 deepface.extendedmodels 导入年龄、性别、种族、情感 14 from deepface.commons import functions, realtime, distance as dst
d:\myenv\lib\site-packages\deepface\basemodels\VGGFace.py 在 10 from keras.layers import Input, Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dense, Dropout, Activation 11 其他: ---> 12 来自 tensorflow 导入 keras 13 从 tensorflow.keras.models 导入模型,顺序 14 from tensorflow.keras.layers import Input, Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dense, Dropout, Activation
d:\myenv\lib\site-packages\tensorflow\keras_init_.py 在 27 来自 .导入模型 28 来自 .导入优化器 ---> 29 来自 .进口预处理 30 起。导入正则化器 31 来自 .导入工具
d:\myenv\lib\site-packages\tensorflow\keras\preprocessing_init_.py 在 10 从 .导入图片 11 来自 .导入顺序 ---> 12 来自 .导入文本 13 14 del _print_function
d:\myenv\lib\site-packages\tensorflow\keras\preprocessing\text_init_.py in 13 从 tensorflow.python.keras.preprocessing.text 导入 one_hot 14 从 tensorflow.python.keras.preprocessing.text 导入 text_to_word_sequence ---> 15 来自 tensorflow.python.keras.preprocessing.text 导入 tokenizer_from_json 16 17 del _print_function
ImportError: cannot import name 'tokenizer_from_json' from 'tensorflow.python.keras.preprocessing.text' (d:\myenv\lib\site-packages\tensorflow\python\keras\preprocessing\text.py)
我尝试通过卸载和安装不同版本的嫩流和 keras 来解决此问题,但它仍然无法正常工作。有没有遇到过这种问题的好心人可以帮帮我?
import cv2
from deepface import DeepFace
faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(1)
#Check if the webcam is opened correctly
if not cap.isOpened():
cap = cv2.VideoCapture(0)
if not cap.isOpened():
raise IOError("Cannot open webcam")
while True:
ret,frame = cap.read() #Read one image from a video
result = DeepFace.analyze(frame, actions=['emotion'], enforce_detection=False)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(gray,1.1,4)
#Draw a rectangle around the faces
#Draw a rectangle around the faces
for(x,y,w,h) in faces:
cv2.rectangle(frame, (x,y), (x+w, y+h), (0,255,0),2)
font = cv2.FONT_HERSHEY_SIMPLEX
#inserting text on video
cv2.putText(frame,
result['dominant_emotion'],
(50,50),
font,3,
(0,0,255),
2,
cv2.LINE_4)
cv2.imshow('Demo video', frame)
if cv2.waitKey(2) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
【问题讨论】:
【参考方案1】:为什么不用它的流功能呢?
from deepface import DeepFace
DeepFace.stream(db_path = "C:/my_db")
在这里,my_db 应该存储面部图像,但如果您不想应用面部识别,则将其传递到一个空文件夹。然后,它会跟踪面部表情。
【讨论】:
以上是关于在 PyCharm 上使用 Python 3.8.5 版和 TensorFlow 和 Keras 库构建情商应用程序时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
pycharm在pycharm上,使用python的pip安装tensorflow过程
如何使用 PyCharm 在远程机器上调试从 Python 调用的 C++ 代码?
无法在 Pycharm 上使用 Python 3.10 作为解释器