2

在部署中使用 OpenVino 时出现导入错误。已尝试在 request.txt 文件中指定所有先前版本的 OpenVino,以防问题与版本有关。确切的错误是:

File "/app/.heroku/python/lib/python3.8/site-packages/openvino/inference_engine/__init__.py", line 29, in <module>
2022-01-11T03:31:36.967769+00:00 app[web.1]: from .ie_api import *
2022-01-11T03:31:36.967828+00:00 app[web.1]: ImportError: /app/.heroku/python/lib/python3.8/site-packages/openvino/inference_engine/ie_api.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZTVN15InferenceEngine5TBlobIhSt9enable_ifILb1EvEEE

我不确定这个错误的性质是什么。会不会是依赖问题?完整的 requirements.txt 文件是:

anyio
asgiref
astroid
azure-common
azure-core
azure-identity
azure-keyvault-secrets
certifi
cffi
charset-normalizer
click
cryptography
fastapi
h11
idna
isodate
isort
lazy-object-proxy
mccabe
msal
msal-extensions
msrest
oauthlib
opencv-python-inference-engine
openvino
platformdirs
portalocker
pycparser
pydantic
PyJWT
pylint
python-multipart
requests
requests-oauthlib
six
sniffio
starlette
toml
typing-extensions
urllib3
uvicorn
wrapt

还有一个 Aptfile :

libpython3.8

runtime.txt 文件包含:

python-3.8.12

万一知道有什么用。我还尝试从依赖项中删除 Numpy,因为我听说了与 Numpy 和 OpenVino 相关的错误。

更新*

有趣的是,当在 requirements.txt 中将 opencv-python-inference-engine 替换为 opencv-python-headless 时,错误发生了变化:

cv2.error: OpenCV(4.5.5) /io/opencv/modules/dnn/src/dnn.cpp:4319: error: (-2:Unspecified error) Build OpenCV with Inference Engine to enable loading models from Model Optimizer. in function 'readFromModelOptimizer'

所以我认为错误可能与opencv导入有关?或者它可能与buildpack有关?

对于我正在使用的推理:

    im_cv = cv.imread(tmp_path_str)

    frame = cv.cvtColor(im_cv, cv.COLOR_RGB2BGR)

    blob = cv.dnn.blobFromImage(frame, size=(180,180), ddepth=cv.CV_8U)

    net.setInput(blob)

    out = net.forward()
4

1 回答 1

1

在使用cv2.dnn.readNet().

使用以下命令加载 IR 文件:

from openvino.inference_engine import IECore

ie = IECore()

net = ie.read_network(“xml_file”, “bin_file”)
于 2022-01-13T09:19:18.930 回答