【发布时间】:2021-08-17 02:21:42
【问题描述】:
我正在做一个虚拟机上的交通信号自动化项目。它需要使用图像检测过程来检测汽车。 代码:
import cv2
import matplotlib.pyplot as plt
import cvlib as cv
from cvlib.object_detection import draw_bbox
im = cv2.imread('cars_4.jpeg')
bbox, label, conf = cv.detect_common_objects(im)
output_image = draw_bbox(im, bbox, label, conf)
plt.imshow(output_image)
plt.show()
print('Number of cars in the image is '+ str(label.count('car')))
操作系统:带有树莓派桌面的 Debian Buster https://www.raspberrypi.org/software/raspberry-pi-desktop/
内核版本:4.19
Python 版本:3.7.3
点子版本:
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 21.1.1 from /home/pi/.local/lib/python3.7/site-packages/pip (python 3.7)
使用的库:
-打开简历
-
cvlib
-
matplotlib.
安装 cvlib 后需要我安装张量流,安装张量流后执行时出现此错误:
错误:
(venv) pi@raspberry:~/Desktop/TSA $ python3 main.py
Traceback (most recent call last):
File "main.py", line 3, in <module>
import cvlib as cv
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/cvlib/_init_.py", line 8, in <module>
from .gender_detection import detect_gender
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/cvlib/gender_detection.py", line 3, in <module>
from tensorflow.keras.utils import get_file
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/_init_.py", line 23, in <module>
from tensorflow.python import *
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/_init_.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
File "/usr/lib/python3.7/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/usr/lib/python3.7/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: /home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow.so: cannot open shared object file: No such file or directory
尝试添加 “导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/” 在 .bashrc 文件中,仍然是同样的错误。
【问题讨论】:
-
在黑暗中拍摄,但也许尝试以与安装它相同的方式卸载 tensorflow,然后运行
python3 -m pip install tensorflow还值得注意的是,您的 pip 警告消息提到了 python 3.7,我看到您正在运行您的代码与python3。当需要为 python 3.7 安装某些库时,是否有可能为 python 2.7.16 安装它们? -
如果你正在使用树莓派,请具体说明你是如何安装 tensorflow 的,安装到哪个版本,树莓派板的详细信息,操作系统的详细信息,Python 版本,因为你说的是 Python 版本: 2.7.16 但在您的帖子中显然是 3.7 (/home/pi/.local/lib/python3.7/site-packages/pip (python 3.7))。
-
我已经编辑了我的帖子,它是 python 的 3.7 版本。我已经提到我实际上是在 Raspberry pi 上工作,而不是实际的 Raspberry pi 设备,并且我还为我正在使用的桌面操作系统提供了链接。使用给定命令重新安装 tensorflow,仍然出现相同的错误。
标签: python tensorflow pip raspberry-pi importerror