[Other] Support Ascend deployment on X86 platform. (#1067)

* Add Huawei Ascend NPU deploy through PaddleLite CANN

* Add NNAdapter interface for paddlelite

* Modify Huawei Ascend Cmake

* Update way for compiling Huawei Ascend NPU deployment

* remove UseLiteBackend in UseCANN

* Support compile python whlee

* Change names of nnadapter API

* Add nnadapter pybind and remove useless API

* Support Python deployment on Huawei Ascend NPU

* Add models suppor for ascend

* Add PPOCR rec reszie for ascend

* fix conflict for ascend

* Rename CANN to Ascend

* Rename CANN to Ascend

* Improve ascend

* fix ascend bug

* improve ascend docs

* improve ascend docs

* improve ascend docs

* Improve Ascend

* Improve Ascend

* Move ascend python demo

* Imporve ascend

* Improve ascend

* Improve ascend

* Improve ascend

* Improve ascend

* Imporve ascend

* Imporve ascend

* Improve ascend

* acc eval script

* acc eval

* remove acc_eval from branch huawei

* Add detection and segmentation examples for Ascend deployment

* Add detection and segmentation examples for Ascend deployment

* Add PPOCR example for ascend deploy

* Imporve paddle lite compiliation

* Add FlyCV doc

* Add FlyCV doc

* Add FlyCV doc

* Imporve Ascend docs

* Imporve Ascend docs

* Improve PPOCR example

* Support Ascend deployment on X86 platform

* Improve Ascend docs

* Improve ascend

* Improve ascend

* Change Paddle Lite Ascend URL
This commit is contained in:
yunyaoXYY
2023-01-09 17:13:12 +08:00
committed by GitHub
parent 4aa4ebd7c3
commit 43f22f4bf6
4 changed files with 95 additions and 26 deletions

View File

@@ -23,12 +23,14 @@ import sys
def process_paddle_lite(paddle_lite_so_path):
if platform.system().lower() != "linux":
return
rpaths = ["$ORIGIN"]
rpaths = ["$ORIGIN", "$ORIGIN/mklml/lib/"]
patchelf_exe = os.getenv("PATCHELF_EXE", "patchelf")
for paddle_lite_so_file in os.listdir(paddle_lite_so_path):
paddle_lite_so_file = os.path.join(paddle_lite_so_path,
paddle_lite_so_file)
# Patch /paddlelite/lib/*.so
if '.so' in paddle_lite_so_file:
command = "{} --set-rpath '{}' {}".format(
patchelf_exe, ":".join(rpaths), paddle_lite_so_file)
@@ -38,6 +40,27 @@ def process_paddle_lite(paddle_lite_so_path):
command) == 0, "patchelf {} failed, the command: {}".format(
paddle_lite_so_file, command)
# Patch /paddlelite/lib/mklml/lib/*.so
if 'mklml' in paddle_lite_so_file:
paddle_lite_mklml_lib_path = os.path.join(
paddle_lite_so_path, paddle_lite_so_file, 'lib')
for paddle_lite_mklml_so_file in os.listdir(
paddle_lite_mklml_lib_path):
paddle_lite_mklml_so_file = os.path.join(
paddle_lite_mklml_lib_path, paddle_lite_mklml_so_file)
if '.so' in paddle_lite_mklml_so_file:
command = "{} --set-rpath '{}' {}".format(
patchelf_exe, ":".join(rpaths),
paddle_lite_mklml_so_file)
if platform.machine() != 'sw_64' and platform.machine(
) != 'mips64':
assert os.system(
command
) == 0, "patchelf {} failed, the command: {}".format(
paddle_lite_mklml_so_file, command)
if __name__ == "__main__":
process_paddle_lite(sys.argv[1])