在 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 导入 o​​ne_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 库构建情商应用程序时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在 3.8.2 上安装 kivy python [重复]

pycharm在pycharm上,使用python的pip安装tensorflow过程

如何使用 PyCharm 在远程机器上调试从 Python 调用的 C++ 代码?

无法在 Pycharm 上使用 Python 3.10 作为解释器

mac上pycharm导入模块django以及切换python版本

Python 学习笔记-00学习方法-环境安装篇-pycharm 安装和使用