首页 > 解决方案 > ImportError:无法从 Raspi-pi 4 上的“tensorflow.python.eager.context”导入错误中导入名称“get_config”

问题描述

尝试为我正在处理的项目运行 deepface 代码时出现导入错误

Traceback (most recent call last):
  File "face.py", line 3, in <module>
    from deepface import DeepFace
  File "/home/pi/.local/lib/python3.7/site-packages/deepface/DeepFace.py", line 15, in <module>
    from deepface.basemodels import VGGFace, OpenFace, Facenet, Facenet512, FbDeepFace, DeepID, DlibWrapper, ArcFace, Boosting
  File "/home/pi/.local/lib/python3.7/site-packages/deepface/basemodels/VGGFace.py", line 9, in <module>
    from keras.models import Model, Sequential
  File "/home/pi/.local/lib/python3.7/site-packages/keras/__init__.py", line 25, in <module>
    from keras import models
  File "/home/pi/.local/lib/python3.7/site-packages/keras/models.py", line 19, in <module>
    from keras import backend
  File "/home/pi/.local/lib/python3.7/site-packages/keras/backend.py", line 36, in <module>
    from tensorflow.python.eager.context import get_config
ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (/home/pi/.local/lib/python3.7/site-packages/tensorflow_core/python/eager/context.py)

这是我的代码

import cv2
from deepface import DeepFace
img1 = "simg.jpb"
img2 = "simg2.jpg"
print ("before")
resp = DeepFace.verify(img1_path=img1m, img2_path=img2)
print ("after")
if resp['verified']:
    print("access granted")
else:
    print("Access denied")

我已经尝试了这里给出的许多解决方案ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context'和许多其他站点,但仍然得到相同的错误。

我在 Raspberry Pi 4 上运行代码。

帮助表示赞赏。

标签: pythontensorflowraspberry-pi4deepface

解决方案


我今天遇到了同样的问题。原因是树莓派默认运行的是Tensorflow 1,需要升级到Tensorflow 2。使用下面的命令升级到正确的Tensorflow版本。

pip3 install https://github.com/bitsy-ai/tensorflow-arm-bin/releases/download/v2.4.0-rc2/tensorflow-2.4.0rc2-cp37-none-linux_armv7l.whl

在此之后,我遇到了一个ImportError: numpy.core.multiarray failed to import,它只是通过运行升级 numpy 来解决的

pip3 install -U numpy 

希望这有帮助!


推荐阅读