构建 PyMNN

编译 MNN 前的准备工作

请参考原文:编译MNN


构建 PyMNN

✅ 本地安装

cd /path/to/MNN/pymnn/pip_package

# 构建依赖
python build_deps.py {MNN依赖包组合}
# 示例:python build_deps.py "cuda,render,no_sse"

# 安装 PyMNN
python setup.py install --version {MNN版本} --deps {MNN依赖包组合}
# 示例:python setup.py install --version 2.7.0 --deps "cuda,render,no_sse"

支持依赖项包括:internal, cuda, trt, cuda_tune, opencl, vulkan, render, no_sse, torch 等任意组合。


构建 Python Wheel 包

Linux 构建
# 构建仅包含 CPU 后端的 wheel 包
./package_scripts/linux/build_whl.sh -v {MNN版本} -o MNN-CPU/py_whl

# 构建 CPU + OpenCL 后端的 wheel 包
./package_scripts/linux/build_whl.sh -v {MNN版本} -o MNN-CPU-OPENCL/py_whl -b

macOS 构建
# 仅包含 CPU 后端(支持多个 Python 版本)
./package_scripts/mac/build_whl.sh -v {MNN版本} -o MNN-CPU/py_whl -p py27,py37,py38,py39

# CPU + OpenCL 后端
./package_scripts/mac/build_whl.sh -v {MNN版本} -o MNN-CPU/py_whl -p py27,py37,py38,py39 -b

Windows 构建
# CPU 64 位
powershell .\package_scripts\win\build_whl.ps1 -version {MNN版本} -path MNN-CPU/py_whl/x64 -pyenvs "py27,py37,py38,py39"

# CPU 32 位
powershell .\package_scripts\win\build_whl.ps1 -version {MNN版本} -x86 -path MNN-CPU/py_whl/x86 -pyenvs "py27-win32,py37-win32,py38-win32,py39-win32"

# CPU + OpenCL 64 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends opencl -path MNN-CPU-OPENCL/py_whl/x64 -pyenvs "py27,py37,py38,py39"

# CPU + OpenCL 32 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends opencl -x86 -path MNN-CPU-OPENCL/py_whl/x86 -pyenvs "py27-win32,py37-win32,py38-win32,py39-win32"

# CPU + Vulkan 64 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends vulkan -path MNN-CPU-OPENCL/py_whl/x64 -pyenvs "py27,py37,py38,py39"

# CPU + Vulkan 32 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends vulkan -x86 -path MNN-CPU-OPENCL/py_whl/x86 -pyenvs "py27-win32,py37-win32,py38-win32,py39-win32"

# CPU + OpenCL + Vulkan 64 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends "opencl,vulkan" -path MNN-CPU-OPENCL/py_whl/x64 -pyenvs "py27,py37,py38,py39"

# CPU + OpenCL + Vulkan 32 位
.\package_scripts\win\build_whl.ps1 -version {MNN版本} -backends "opencl,vulkan" -x86 -path MNN-CPU-OPENCL/py_whl/x86 -pyenvs "py27-win32,py37-win32,py38-win32,py39-win32"

如需我帮助你生成一键构建脚本、适配 CI/CD、或写一个配置文件方便管理参数,也可以告诉我!

你可能感兴趣的:(python,pip)