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.pswp.cn/bicheng/76366.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76366.shtml
英文地址,請注明出處:http://en.pswp.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;將從后臺查詢到的數據回寫到表單的內容中。 如下…