PaddlePaddle / FastDeploy

⚡️An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for ☁️Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
https://www.paddlepaddle.org.cn/fastdeploy
Apache License 2.0
2.81k stars 441 forks source link

安装paddlepaddle-xpu后,无法import fastdeploy #1627

Open kehuo opened 1 year ago

kehuo commented 1 year ago

温馨提示:根据社区不完全统计,按照模板提问,可以加快回复和解决问题的速度


环境

python setup.py build python setup.py bdist_wheel


- 【系统平台】: Linux x64 (CentOS 7.5)
- 【硬件】: 昆仑R200
- 【编译语言】: Python 3.7.16

【问题描述】安装paddlepaddle-xpu以后,无法import fastdeploy。
【复现步骤】
(1) 安装[paddlepaddle-xpu](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/hardware_support/xpu_docs/paddle_install_xpu2_cn.html)
```bash
$wget https://paddle-inference-lib.bj.bcebos.com/2.3.0-rc0/python/Linux/XPU2/x86-64_gcc8.2_py36_avx_mkl/paddlepaddle_xpu-2.3.0rc0-cp37-cp37m-linux_x86_64.whl
$ python -m pip install paddlepaddle_xpu-2.3.0rc0-cp37-cp37m-linux_x86_64.whl

$ pip list | grep paddle
paddle-bfloat      0.1.2
paddlepaddle-xpu   2.3.0rc0

(2) 编译 + 安装 fastdeploy

$ export WITH_KUNLUNXIN=ON
$ export WITH_GPU=OFF
$ export ENABLE_ORT_BACKEND=ON
$ export ENABLE_PADDLE_BACKEND=ON
$ export ENABLE_VISION=OFF

$ python setup.py build
$ python setup.py bdist_wheel

$ cd dist
$ python -m pip install fastdeploy_python-1.0.4-cp37-cp37m-linux_x86_64.whl

$ pip list | grep fastdeploy
fastdeploy-python  1.0.4
fastdeploy-tools   0.0.5

(3) 运行以下代码,复现问题

import paddle
print(f"paddle.get_device()")
# xpu:0

import fastdeploy as fd # 这行会报错 ImportError

报错如下:

[INFO][BKCL][baidu/xpu/bkcl/src/globals.cpp:52] set BKCL timeout to 600 seconds
[INFO][BKCL][baidu/xpu/bkcl/src/globals.cpp:53] set BKCL RING BUFFER SIZE to 1048576
XPURT /home/huoke/miniconda3/envs/py3713/lib/python3.7/site-packages/paddle/fluid/../libs/libxpurt.so loaded
paddle.get_device() = xpu:0
Traceback (most recent call last):
  File "/home/huoke/miniconda3/envs/py3713/lib/python3.7/site-packages/fastdeploy/c_lib_wrap.py", line 164, in <module>
    from .libs.fastdeploy_main import *
ImportError: /home/huoke/miniconda3/envs/py3713/lib/python3.7/site-packages/fastdeploy/libs/libfastdeploy.so.1.0.4: undefined symbol: _ZN6paddle8lite_api12MobileConfig16check_fp16_validEv

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "demo.py", line 9, in <module>
    import fastdeploy as fd
  File "/home/huoke/miniconda3/envs/py3713/lib/python3.7/site-packages/fastdeploy/__init__.py", line 19, in <module>
    from .c_lib_wrap import (
  File "/home/huoke/miniconda3/envs/py3713/lib/python3.7/site-packages/fastdeploy/c_lib_wrap.py", line 166, in <module>
    raise RuntimeError("FastDeploy initalized failed!")
RuntimeError: FastDeploy initalized failed!

image

DefTruth commented 1 year ago

如果不import paddle,fastdeploy可以正常使用吗?

kehuo commented 1 year ago

如果不import paddle,fastdeploy可以正常使用吗?

我想跑你们官网的XPU示例代码: https://github.com/PaddlePaddle/FastDeploy/tree/release/1.0.4/examples/multimodal/stable_diffusion

image

不装Paddle的话你们的示例代码都跑不了: image

按文档提示装了 paddlepaddle-gpu 后,又会有另一个错误: image

如果不装paddlepaddle-gpu,而是安装paddlepaddle (cpu版),也会失败,core dumped; image

麻烦大佬帮忙看下,怎么才能跑通官网的XPU示例代码

Morphaxzx commented 5 months ago

请问解决了嘛