Linux服务器安装百度飞桨3.0(pip docker)

Linux安装部署百度飞桨3.0

  • 1.官方文档指引
  • 2.确认服务器型号
    • 2.1 确认Python版本
    • 2.2 确认pip是否安装
    • 2.3 确认计算平台
  • 3.本机安装(基于通过 pip 安装)
    • 3.1 下载安装 PaddlePaddle
    • 3.2 安装PaddleX
      • 3.2.1 安装PaddleX
      • 3.2.2 命令行规范
      • 3.2.3 运行示例
      • 3.2.4 查看python安装的包所在位置
    • 3.3 安装高性能推理插件
    • 3.4 卸载pip安装的paddlepaddle和paddlex
  • 4.docker安装(基于 Docker 安装飞桨)
    • 4.1 检查docker版本
    • 4.2 安装飞桨 PaddlePaddle
      • 4.2.1 Docker 版本 >= 19.03
        • 4.2.1.1 各版本命令
        • 4.2.1.2 执行
      • 4.2.2 Docker 版本 <= 19.03 但 >= 17.06
    • 4.3 基于Docker获取PaddleX
      • 4.3.1 Docker 版本 >= 19.03
        • 4.3.1.1各版本命令
        • 4.3.1.2 运行
      • 4.3.2 Docker 版本 <= 19.03 但 >= 17.06
  • 5.PaddleX 服务化部署(基于pip部署,基础服务化部署)
    • 5.1 官方部署文档
    • 5.2 安装服务化部署插件
    • 5.3 与 服务化部署相关的命令行选项
    • 5.4 安装一条产线

1.官方文档指引

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

Python 运行环境:目前支持 Python 3.8 至 Python 3.12。PaddleX 3.0-rc0 版本依赖的 PaddlePaddle 版本为 3.0.0rc0以上版本。

飞桨:开始使用
PaddleX:PaddleX 文档
【注:本文使用Linux系统、pip方式安装、英伟达芯片】
在这里插入图片描述

2.确认服务器型号

2.1 确认Python版本

确认Python版本是否满足框架最低版本要求

python --version

在这里插入图片描述

2.2 确认pip是否安装

  1. 什么是 pip ?
    pip 是 Python 中的标准库管理器。它允许你安装和管理不属于 Python标准库 的其它软件包。
  2. 查看是否安装
pip --version

在这里插入图片描述

  1. 安装pip(如未安装pip)
sudo apt install python3-pip

2.3 确认计算平台

  1. 查看显卡驱动程序版本
nvidia-smi

“Driver Version” 后面的数字就是当前 NVIDIA 显卡驱动的版本号

在这里插入图片描述

3.本机安装(基于通过 pip 安装)

3.1 下载安装 PaddlePaddle

根据自己服务器的版本信息,选择合适的paddle进行安装

# cpu
python -m pip install paddlepaddle==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/

我们这里选择450.80.02+(cu118)版本
在这里插入图片描述

# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/

在这里插入图片描述
在这里插入图片描述
显示Successfully installed,即表示成功。

3.2 安装PaddleX

3.2.1 安装PaddleX

pip install paddlex==3.0rc0

在这里插入图片描述
安装时间有点长,需要耐心等待,出现如下页面即表示安装成功。
在这里插入图片描述

3.2.2 命令行规范

统一的命令行格式为:

paddlex --pipeline [产线名称] --input [输入图片] --device [运行设备]

PaddleX的每一条产线对应特定的参数,您可以在各自的产线文档中查看具体的参数说明。每条产线需指定必要的三个参数:

  • pipeline:产线名称或产线配置文件
  • input:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device: 使用的硬件设备及序号(例如gpu:0表示使用第 0 块 GPU),也可选择使用 NPU(npu:0)、 XPU(xpu:0)、CPU(cpu)等

3.2.3 运行示例

# 通用OCR
paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0

在这里插入图片描述
在这里插入图片描述

运行结果示例
在这里插入图片描述

3.2.4 查看python安装的包所在位置

进入python命令行
在这里插入图片描述

import site
print(site.getsitepackages())

3.3 安装高性能推理插件

如果你的设备是 CPU,请使用以下命令安装 PaddleX 的 CPU 版本:

paddlex --install hpi-cpu

如果你的设备是 GPU,请使用以下命令安装 PaddleX 的 GPU 版本。请注意,GPU 版本包含了 CPU 版本的所有功能,因此无需单独安装 CPU 版本:

paddlex --install hpi-gpu# 或者(使用清华源)paddlex --install hpi-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

我这里是gpu,所以使用的是第二个
在这里插入图片描述
目前高性能推理支持的处理器架构、操作系统、设备类型和 Python 版本如下表所示:

处理器架构操作系统设备类型Python 版本
x86-64LinuxCPU3.8–3.12
x86-64LinuxGPU (CUDA 11.8 + cuDNN 8.6)3.8–3.12

3.4 卸载pip安装的paddlepaddle和paddlex

  • 查看已安装的paddlepaddle paddlex
pip list | grep paddle

在这里插入图片描述

  • 卸载
# paddlepaddle-gpu paddlex 根据上述查询出来的决定
pip uninstall paddlepaddle-gpu paddlex

在这里插入图片描述
在这里插入图片描述

4.docker安装(基于 Docker 安装飞桨)

4.1 检查docker版本

docker --version

在这里插入图片描述

4.2 安装飞桨 PaddlePaddle

我的docker版本是24.0.7,所以选择第一个安装方案。

4.2.1 Docker 版本 >= 19.03

4.2.1.1 各版本命令
# 对于 cpu 用户:
docker run --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0 /bin/bash# 对于 gpu 用户:
# GPU 版本,需显卡驱动程序版本 ≥450.80.02(Linux)或 ≥452.39(Windows)
docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash# GPU 版本,需显卡驱动程序版本 ≥545.23.06(Linux)或 ≥545.84(Windows)
docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0-gpu-cuda12.3-cudnn9.0-trt8.6 /bin/bash
4.2.1.2 执行

使用飞桨官方 Docker 镜像,创建一个名为 paddlepaddle 的容器,并将当前工作目录映射到容器内的 /paddle 目录

docker run --gpus all --name paddlepaddle -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash

在这里插入图片描述
安装成功
在这里插入图片描述
若想暂时退出容器但保留其运行状态,使用 Ctrl + P 再按 Ctrl + Q 组合键;若要完全退出并停止容器,在容器内使用 exit 命令 。后续还可使用 docker start 命令重新启动已停止的容器。

4.2.2 Docker 版本 <= 19.03 但 >= 17.06

# 对于 cpu 用户:
docker run --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0 /bin/bash# 对于 gpu 用户:
# CUDA11.8 用户
nvidia-docker run --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash# CUDA12.3 用户
nvidia-docker run --name paddlex -v $PWD:/paddle --shm-size=8G --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0rc0-gpu-cuda12.3-cudnn9.0-trt8.6 /bin/bash

4.3 基于Docker获取PaddleX

4.3.1 Docker 版本 >= 19.03

4.3.1.1各版本命令
# 对于 CPU 用户
docker run --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-cpu /bin/bash# 对于 GPU 用户
# GPU 版本,需显卡驱动程序版本 ≥450.80.02(Linux)或 ≥452.39(Windows)
docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash# GPU 版本,需显卡驱动程序版本 ≥545.23.06(Linux)或 ≥545.84(Windows)
docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda12.3-cudnn9.0-trt8.6 /bin/bash
4.3.1.2 运行

使用 PaddleX 官方 Docker 镜像,创建一个名为 paddlex 的容器,并将当前工作目录映射到容器内的 /paddle 目录

docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash
  • 安装成功
    在这里插入图片描述
    如需映射端口可使用
docker run --gpus all --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -p 6666:6666 -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash
  • 进入容器
docker exec -it paddlex /bin/bash

这里的 -i 选项表示保持标准输入打开,-t 选项为终端分配一个伪终端,/bin/bash 是要在容器内执行的 shell 命令。

4.3.2 Docker 版本 <= 19.03 但 >= 17.06

# 对于 CPU 用户
docker run --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-cpu /bin/bash# 对于 GPU 用户
# 对于 CUDA11.8 用户
nvidia-docker run --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda11.8-cudnn8.6-trt8.5 /bin/bash# 对于 CUDA12.3 用户
nvidia-docker run --name paddlex -v $PWD:/paddle --shm-size=8g --network=host -it ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlex/paddlex:paddlex3.0.0rc0-paddlepaddle3.0.0rc0-gpu-cuda12.3-cudnn9.0-trt8.6 /bin/bash

5.PaddleX 服务化部署(基于pip部署,基础服务化部署)

针对用户的不同需求,PaddleX 提供多种产线服务化部署方案:

  • 基础服务化部署:简单易用的服务化部署方案,开发成本低。
  • 高稳定性服务化部署:基于 NVIDIA Triton Inference Server 打造。与基础服务化部署相比,该方案提供更高的稳定性,并允许用户调整配置以优化性能。

注意:PaddleX 对产线而不是模块进行服务化部署。当前部署使用基础服务化部署

5.1 官方部署文档

服务化部署:PaddleX 服务化部署指南

5.2 安装服务化部署插件

paddlex --install serving

5.3 与 服务化部署相关的命令行选项

名称说明
–pipeline产线名称或产线配置文件路径。
–device产线部署设备。默认为 cpu(如 GPU 不可用)或 gpu(如 GPU 可用)。
–host服务器绑定的主机名或 IP 地址。默认为 0.0.0.0
–port服务器监听的端口号。默认为 8080
–use_hpip如果指定,则启用高性能推理插件。

5.4 安装一条产线

测试运行,安装一条产线(通用图像分类产线:image_classification )

# 以图像分类产线为例,使用方式如下:
paddlex --pipeline image_classification \--input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg \--device gpu:0 \--save_path ./output/ \--topk 5

在这里插入图片描述
若想暂时退出容器但保留其运行状态,使用 Ctrl + P 再按 Ctrl + Q 组合键;若要完全退出并停止容器,在容器内使用 exit 命令 。后续还可使用 docker start 命令重新启动已停止的容器。

  • 测试远程接口调用
    判断服务器网络和端口 是否可访问
    【注意】这里的端口是服务器暴露到外部访问的端口,通常需要做服务器端口和容器端口的映射,一般两者端口都保持一致,方便管理。如果出现端口冲突,可以修改,但最好做好记录。
# Windows操作系统 telnet [服务器IP] [服务器端口] 
telnet xxx.xxx.xx.xxx 6666

在这里插入图片描述
弹出黑色空白界面,按下CTRL + ] 键,即可进入如下页面,表示网络状态是连通的。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 自动加载流程详解

前言 Spring Boot 是一个基于约定优于配置理念的框架&#xff0c;它通过自动加载机制大大简化了开发者的配置工作。本文将深入探讨 Spring Boot 的自动加载流程&#xff0c;并结合源码和 Mermaid 图表进行详细解析。 一、Spring Boot 自动加载的核心机制 Spring Boot 的自动加…

2025年危化品安全管理人员备考指南|智能题库+核心考点解析

作为危化品生产单位安全管理人员&#xff08;主要负责人&#xff09;&#xff0c;考试内容主要涵盖三大模块&#xff1a; 法律法规体系 《安全生产法》修订要点&#xff08;2023版&#xff09; 危险化学品重大危险源辨识标准&#xff08;GB 18218&#xff09; 最新《化工过…

如何优雅使用 ReentrantLock 进行加解锁:避免常见坑点,提高代码可维护性

引言&#xff1a;锁的基本概念和问题 在多线程编程中&#xff0c;为了确保多个线程在访问共享资源时不会发生冲突&#xff0c;我们通常需要使用 锁 来同步对资源的访问。Java 提供了不同的锁机制&#xff0c;其中 ReentrantLock 是一种最常用且功能强大的锁&#xff0c;它属于…

Redhat红帽 RHCE8.0认证体系课程

课程大小&#xff1a;7.7G 课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/90546064 更多资源下载&#xff1a;关注我 红帽企业 Linux 系统的管理技能已经成为现代数据中心的核心竞争力。 Linux 在支持混合云、跨物理服务器、虚机、私有云和公共云计…

Shell脚本编程

目录 1. Shell脚本概述 什么是Shell&#xff1f; Shell的作用 常见的Shell类型 2. 环境搭建与安装 Linux系统 macOS系统 Windows系统 3.安装并配置Zsh&#xff08;macOS/Linux&#xff09; 4. Shell基础语法 变量与数据类型 输入交互 5. Shell脚本进阶 进程管理 …

学生管理系统(Python)

运行结果&#xff1a; 源代码&#xff1a; """ 项目&#xff1a;类似于学生管理系统---增删改查 """ #封装一个学生类 import random class Student: def __init__(self,stuid,name,score): self.stuid stuid self.name name self.score …

电商素材革命:影刀RPA魔法指令3.0驱动批量去水印,实现秒级素材净化

本文 去除水印实操视频展示电商图片水印处理的困境​影刀 RPA 魔法指令 3.0 强势登场​利用魔法指令3.0两步实现去除水印操作关于影刀RPA 去除水印实操视频展示 我们这里选择了4张小红书里面比较帅气的图片&#xff0c;但凡用过小红书的都知道&#xff0c;小红书右下角是会有小…

Seq2Seq - GRU补充讲解

nn.GRU 是 PyTorch 中实现门控循环单元&#xff08;Gated Recurrent Unit, GRU&#xff09;的模块。GRU 是一种循环神经网络&#xff08;RNN&#xff09;的变体&#xff0c;用于处理序列数据&#xff0c;能够更好地捕捉长距离依赖关系。 ⭐重点掌握输入输出部分输入张量&#…

设计模式-观察者模式和发布订阅模式区别

文章目录 其他不错的文章 二者有类似的地方&#xff0c;也有区别。 引用的文章说的已经比较清楚了&#xff0c;这里只列出对比图。 对比点观察者模式发布订阅模式中间人角色无事件中心&#xff0c;观察者直接订阅目标有事件中心&#xff0c;发布者与订阅者通过事件中心通信关系…

【SQL】基于多源SQL 去重方法对比 -- 精华版

【SQL】基于SQL 去重方法对比 -- 精华版 一、引言二、基于SQL去重方法完整对比1. MySQL去重方法及优劣势1.1 ​DISTINCT关键字1.2 GROUP BY子句1.3 UNION系列操作1.4 子查询 自关联 2. Hive去重方法及优劣势2.1 DISTINCT关键字2.2 ​GROUP BY子句2.3 ​ROW_NUMBER窗口函数2.4 …

电脑命名配置很高,为什么运行软件特别卡

估计很多同学都碰见过这种情况&#xff0c;以我的Redmi G为例&#xff0c;I9-14待CPU&#xff0c;又换了一条内存条&#xff0c;现有配置I9-14900&#xff0c;40G内存5200MT/s&#xff0c;4060显卡&#xff0c;为啥运行两个办公软件就卡的不行&#xff0c;风扇狂转&#xff0c;…

Spring Boot默认注册的转换器列表及其功能说明。这些转换器使得控制器方法可以直接接收Integer、Long、Date等类型参数,无需手动实现转换

以下是Spring Boot默认注册的转换器列表及其功能说明。这些转换器使得控制器方法可以直接接收Integer、Long、Date等类型参数&#xff0c;无需手动实现转换&#xff1a; 默认转换器列表及功能 1. 基础类型转换器 转换器名称功能示例场景StringToIntegerConverter将字符串转换…

chrome提示https不安全, 不能记住账号密码怎么办? 可以利用js输入账号

背景: 在内网搭建的服务, 由于https证书问题, 可能会被chrome浏览器提示不安全 此时, 默认的记住账号密码功能就无法使用, 那么此时只能手动输入了吗? 想到了几种方案 1.利用外置软件, 模拟按键输入(比如按键精灵, 缺点是依赖外部软件, 运行速度也慢, 且执行时占用了输入焦…

探秘Transformer系列之(25)--- KV Cache优化之处理长文本序列

探秘Transformer系列之&#xff08;25&#xff09;— KV Cache优化之处理长文本序列 文章目录 探秘Transformer系列之&#xff08;25&#xff09;--- KV Cache优化之处理长文本序列0x00 概述0x01 优化依据1.1 稀疏性1.2 重要性1.3 小结 0x02 稀疏化1.1 分类1.2 静态稀疏化1.2.1…

【开发经验】结合实际问题解决详述HTTPS通信过程

最近的开发调试过程中涉及到了HTTPS发送与接收&#xff0c;遇到实际问题才发现对这部分尚属于一知半解。结合实际问题的解决过程来详细整理以下HTTPS通信过程。 需要调试的功能为BMC作为客户端向搭建好的Web服务器发送HTTPS请求&#xff0c;Web服务器负责接收处理发送过来的HT…

【Android】Android Activity 横屏设置详解及常见异常问题解决方法汇总

在 Android 开发中&#xff0c;我们经常需要控制 Activity 的屏幕方向&#xff0c;例如视频播放、游戏、VR/AR 应用等场景通常希望默认横屏显示。本文将讲解如何通过 Manifest 配置 和 Java/Kotlin 代码 设置横屏显示&#xff0c;并分析常见设置无效的原因与解决方法。 一、通过…

文件相关:echo重定向管道命令扩展详解

一、echo 文字内容 echo 会在终端中显示参数指定的文字&#xff0c;通常会和 重定向 联合使用 二、重定向 > 和 >> Linux 允许将命令执行结果 重定向到一个 文件将本应显示在终端上的内容 输出 / 追加 到指定文件中 其中&#xff1a; >表示输出&#xff0c;会覆…

Python 中使用单例模式

有这么一种场景&#xff0c;Web服务中有一个全局资源池&#xff0c;在需要使用的地方就自然而言引用该全局资源池即可&#xff0c;此时可以将该资源池以单例模式实现。随后&#xff0c;需要为某一特殊业务场景专门准备一个全局资源池&#xff0c;于是额外复制一份代码新建了一个…

websocket深入-webflux+websocket

文章目录 背景版本约定配置文件代码使用webflux使用websocket配置文件handler基类实现类注册路由 背景 基于更复杂的情况和更高的开发要求&#xff0c;我们可能会遇到必须同时要使用webflux和websocket的情况。 版本约定 JDK21Springboot 3.2.0Fastjson2lombok 配置文件 &…

致远OA —— 表单数据获取(前端)

文章目录 :apple: 业务需求描述 &#x1f34e; 业务需求描述 测试案例&#xff1a; https://pan.quark.cn/s/3f58972f0a27 官网地址&#xff1a; 需求描述&#xff1a; 点击获取数据接口&#xff0c;调用后台&#xff0c;将从后台查询到的数据回写到表单的内容中。 如下…