
人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载PaddleX 作为基于飞桨PaddlePaddle的一站式低代码开发工具当前支持寒武纪 MLU370X8 芯片。本文以官方安装文档 paddlepaddle_install_MLU.en.md 为骨架完整讲解从 Docker 环境准备、飞桨 CPU 与自定义 MLU 安装包安装、到安装验证的完整流程并结合 PaddleX 源码说明 MLU 设备在推理框架中的接入方式帮助你在 MLU 平台上快速搭建可用的 PaddleX 运行环境。1. 环境概述与支持范围从当前仓库的源码结构看MLU 是 PaddleX 明确支持的自定义设备类型之一。在 paddlex/utils/device.py 中SUPPORTED_DEVICE_TYPE列表明确包含mluSUPPORTED_DEVICE_TYPE [ cpu, gpu, xpu, npu, mlu, gcu, dcu, iluvatar_gpu, metax_gpu, ]同时paddlex/utils/custom_device_list.py 定义了MLU_WHITELIST白名单列出了当前在 MLU 上受支持的预训练模型包括图像分类ResNet18/34/50/101/152 及 vd 系列、PP-LCNet 系列、MobileNetV3 系列、PP-HGNet 系列等目标检测PP-YOLOE_plus-X/L/M/S、PicoDet-L/M/S/XS 等语义分割PP-LiteSeg-TOCRPP-OCRv4_server_det、PP-OCRv4_mobile_det、PP-OCRv4_server_rec、PP-OCRv4_mobile_rec 等异常检测STFPM时序模型DLinear、RLinear、NLinear以及 PicoDet_LCNet_x2_5_face 等人脸检测模型。需要注意本文安装教程面向MLU370X8芯片且飞桨 MLU 开发镜像目前仅提供 X86 架构版本暂不提供 Arch64 架构镜像。安装前请确认你的硬件与架构符合上述前提。2. Docker 环境准备考虑到不同用户环境差异较大官方文档强烈建议使用飞桨官方提供的寒武纪 MLU 开发镜像完成环境准备。该镜像仅为开发环境不包含预编译的飞桨安装包因此需要在镜像内自行安装飞桨。2.1 拉取开发镜像# 适用于 X86 架构暂时不提供 Arch64 架构镜像 docker pull registry.baidubce.com/device/paddle-mlu:ctr2.15.0-ubuntu20-gcc84-py310镜像标签ctr2.15.0-ubuntu20-gcc84-py310的含义可以拆解为基于寒武纪 MLU 运行时Cambricon Runtimectr2.15.0 版本、Ubuntu 20.04 系统、GCC 8.4 编译器、Python 3.10 环境。镜像内已包含 MLU 驱动适配层与相关依赖但没有预编译的飞桨 wheel 安装包这正是下一步需要手动安装的原因。2.2 启动容器参考以下命令启动容器docker run -it --name paddle-mlu-dev -v $(pwd):/work \ -w/work --shm-size128G --networkhost --privileged \ --cap-addSYS_PTRACE --security-opt seccompunconfined \ -v /usr/bin/cnmon:/usr/bin/cnmon \ registry.baidubce.com/device/paddle-mlu:ctr2.15.0-ubuntu20-gcc84-py310 /bin/bash对启动命令中的关键参数说明如下参数作用-v $(pwd):/work将宿主机当前目录挂载到容器内/work方便共享代码与数据-w/work容器启动后默认工作目录设为/work--shm-size128G增大共享内存避免分布式训练或数据加载时的共享内存不足--networkhost使用宿主机网络便于访问内部源与调试服务--privileged授予容器特权MLU 设备访问通常需要--cap-addSYS_PTRACE --security-opt seccompunconfined放开 ptrace 与 seccomp 限制便于调试与运行推理进程-v /usr/bin/cnmon:/usr/bin/cnmon将宿主机寒武纪监控工具cnmon挂载进容器用于查看 MLU 卡状态启动成功后即进入容器内的 bash 交互环境接下来在容器内安装飞桨。3. 安装飞桨软件包在启动的 Docker 容器中下载并安装飞桨官网发布的 wheel 包。当前官方提供Python 3.10的 wheel 安装包如有其他 Python 版本需求可参考飞桨官方安装文档自行编译安装本文仅以官方预编译 wheel 为准。3.1 安装命令先 CPU 后 MLU 自定义包# 下载并安装 wheel 包 # 注意需要先安装飞桨 CPU 版本 python -m pip install paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu python -m pip install paddle-custom-mlu -i https://www.paddlepaddle.org.cn/packages/nightly/mlu为什么必须先安装 CPU 版飞桨这是因为paddle-custom-mlu是飞桨针对寒武纪 MLU 的自定义设备扩展包它依赖基础飞桨框架CPU/通用算子库作为运行时底座再通过paddle_custom_device机制注册 MLU 后端。两条命令缺一不可第一条安装通用飞桨框架paddlepaddle提供核心计算图、算子框架与 Python API第二条安装 MLU 自定义设备包paddle-custom-mlu提供 MLU 上的算子实现与设备接入层。安装完成后PaddleX 推理框架在加载模型时即可通过paddle.inference.Config.enable_custom_device(mlu, device_id)将推理执行在 MLU 设备上。对应实现在 paddlex/inference/models/runners/paddle_static/runner.pyelif self._config[device_type] mlu: config.enable_custom_device(mlu, self._config.get(device_id, 0)) if hasattr(config, enable_new_ir): config.enable_new_ir(self._config.get(enable_new_ir, True)) if hasattr(config, enable_new_executor): config.enable_new_executor()可以看到MLU 分支与 NPU、Metax GPU 等自定义设备走的是同一套enable_custom_device接入路径并默认开启新 IR 与新执行器。此外paddlex/inference/models/runners/paddle_static/config/pp_option.py 的运行选项也把mlu纳入合法设备取值。3.2 安装验证安装完成之后运行如下命令验证安装python -c import paddle; paddle.utils.run_check()预期得到如下输出结果Running verify PaddlePaddle program ... PaddlePaddle works well on 1 mlu. PaddlePaddle works well on 16 mlus. PaddlePaddle is installed successfully! Lets start deep learning with PaddlePaddle now.输出中PaddlePaddle works well on 1 mlu.表示飞桨已成功识别并在 1 张 MLU 卡上完成算子自检works well on 16 mlus则验证了多卡环境下 16 张 MLU 卡均可正常调度。若出现报错请优先检查镜像版本、cnmon挂载是否成功以及 MLU 驱动是否与 ctr2.15.0 运行时匹配。4. 在 MLU 上使用 PaddleX飞桨安装并验证通过后即可安装 PaddleX推荐以 wheel 方式安装或参考 多设备使用指南 选择插件安装模式进行二次开发。PaddleX 在 MLU 等国产硬件平台上的用法与 GPU 完全一致只需将设备参数改为mlu即可例如paddlex --pipeline OCR --input general_ocr_002.png --device mlu:0Python 脚本方式from paddlex import create_pipeline pipeline create_pipeline(pipelineOCR, devicemlu:0) output pipeline.predict(general_ocr_002.png) for res in output: res.print() res.save_to_img(./output/)从源码层面看PaddleX 在切换设备时还会自动做两件事设备白名单校验在 paddlex/utils/device.py 的check_supported_device_type中当device_type mlu时会校验模型名是否位于MLU_WHITELIST若不在白名单内会提示The MLU device does not yet support xxx model!并可通过环境变量PADDLE_PDX_DISABLE_DEV_MODEL_WL关闭该校验。运行环境变量注入同一文件 paddlex/utils/device.py 中set_env_for_device_type会在 MLU 设备上自动设置if device_type.lower() mlu: envs { FLAGS_use_stride_kernel: 0, FLAGS_use_stream_safe_cuda_allocator: 0, } _set(envs)FLAGS_use_stride_kernel0用于关闭 stride kernel 优化路径以保证 MLU 算子兼容性FLAGS_use_stream_safe_cuda_allocator0用于禁用 stream-safe 分配器避免在 MLU 后端出现内存分配问题。这两个环境变量在推理启动时由 PaddleX 自动注入无需手动设置。此外在 paddlex/inference/utils/misc.py 中MLU 也被纳入 bfloat16 与 float16 混合精度可用性判断的设备类型说明 MLU 上支持使用混合精度推理。5. 注意事项与补充说明架构限制官方 MLU 开发镜像目前仅提供 X86 架构版本Arch64 架构用户需自行编译飞桨或关注官方后续发布的镜像。Python 版本当前 wheel 包针对 Python 3.10 提供其他版本需参考飞桨官方编译安装说明自行构建paddlepaddle与paddle-custom-mlu。驱动与监控容器内需要能够访问寒武纪驱动cnmon工具通过-v /usr/bin/cnmon:/usr/bin/cnmon挂载进入容器可用来确认 MLU 卡是否可见、显存与算力状态。多卡使用验证输出显示飞桨支持多张 MLU 卡如 16 卡。训练场景下可在配置文件中通过Global.device指定多卡例如-o Global.devicemlu:0,1,2,3用法与 GPU 多卡一致。模型支持范围并非所有 PaddleX 模型都在 MLU 上受支持请以MLU_WHITELISTpaddlex/utils/custom_device_list.py为准OCR 检测识别、图像分类、目标检测、语义分割、异常检测与部分时序模型均已覆盖。更多硬件平台若还需在昇腾 NPU、昆仑芯 XPU、海光 DCU、燧原 GCU 等设备上部署可参考 Ascend NPU 安装指南 与 PaddleX 多设备使用指南 中对应章节安装流程与本教程高度一致均为开发镜像 CPU 包 自定义设备包的组合。按照以上步骤完成安装并通过run_check验证后你的 PaddleX 环境即可在寒武纪 MLU370X8 上运行官方支持的白名单模型后续的推理、训练与部署流程均与 GPU 平台保持一致。赞分享人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载相关推荐PaddleX 寒武纪 MLU 环境搭建指南基于飞桨官方镜像完成飞桨安装与验证PaddleX 寒武纪 MLU 环境搭建指南基于飞桨官方镜像完成飞桨安装与验证 本篇技术指南聚焦于在寒武纪 MLU370X8 芯片上搭建 PaddleX 全流人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 寒武纪 MLU 产线支持列表环境搭建、基础产线清单与模型白名单机制PaddleX 寒武纪 MLU 产线支持列表环境搭建、基础产线清单与模型白名单机制 本篇以 PaddleX 的 MLU寒武纪产线列表文档为主线说明在 M人工智能大模型低代码计算机视觉深度学习模型推理服务PaddleX 寒武纪 MLU 模型支持清单与 Benchmark 选型指南PaddleX 寒武纪 MLU 模型支持清单与 Benchmark 选型指南 PaddleX 内置多条产线每条产线包含若干模块每个模块又包含若干预训练模型人工智能大模型低代码计算机视觉深度学习模型推理服务上一篇VoxCPM模型轻量化研究移动端部署的模型压缩技术下一篇Skywork-OR1评估方法论AvgK指标如何提升模型性能评估的可靠性创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考