)
人工智能深度學習計算機視覺NLP語音【免費下載鏈接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.項目地址https://gitcode.com/gh_mirrors/mo/models點擊查看免費下載導讀本文以 PP-TinyPose 人體關(guān)鍵點檢測模型PaddleDetection 官方輕量級實時姿態(tài)估計模型為核心圍繞其配套部署文檔 fastdeploy_en.md 展開完整介紹基于 FastDeploy 的 3 步部署流程安裝 SDK、下載示例并實現(xiàn)部署代碼、執(zhí)行推理。讀者完成閱讀后可以在一行命令內(nèi)在 X86 CPU 與 NVIDIA GPU 上運行 PP-TinyPose 的圖片關(guān)鍵點推理并可自由切換推理后端含 TensorRT 加速。本文還結(jié)合倉庫內(nèi)的模型信息、基準數(shù)據(jù)與應(yīng)用代碼補充模型特性、精度/速度指標、參數(shù)說明及源碼級原理幫助讀者理解 FastDeploy 背后的部署架構(gòu)。一、為什么選擇 FastDeploy 部署 PP-TinyPose1.1 PP-TinyPose 模型簡介PP-TinyPose 是 PaddleDetection 面向移動端設(shè)備優(yōu)化的實時關(guān)鍵點檢測模型可流暢地在移動端設(shè)備上執(zhí)行多人姿態(tài)估計任務(wù)。根據(jù) info.yaml 的模型信息其所屬任務(wù)為 Computer Vision 下的 Object Detection 與 Keypoints Detection數(shù)據(jù)來源為 COCO train2017、AI Challenger trainset、COCO person keypoints val2017 與 COCO instances val2017License 為 Apache 2.0。從 introduction_cn.ipynb 可以看出PP-TinyPose 借助 PaddleDetection 自研的優(yōu)秀輕量級檢測模型 PicoDet同時提供了特色的輕量級垂類行人檢測模型。因此完整的 PP-TinyPose 部署通常采用檢測PicoDet 行人檢測 關(guān)鍵點TinyPose的串聯(lián)管線如下圖所示PP-TinyPose 的模型特性來自 download_cn.md 與 benchmark_cn.md輸入尺寸AP業(yè)務(wù)數(shù)據(jù)集APCOCO Val參數(shù)量FLOPS單人推理耗時FP32單人推理耗時FP16128×9684.358.41.32M81.56M4.57ms3.27ms256×19291.068.31.32M326.24M14.07ms8.33ms說明關(guān)鍵點檢測模型與行人檢測模型均使用 COCO train2017、AI Challenger trainset 以及采集的多姿態(tài)場景數(shù)據(jù)集作為訓練集關(guān)鍵點檢測模型使用多姿態(tài)場景數(shù)據(jù)集作為測試集關(guān)鍵點檢測模型的精度指標所依賴的檢測框由 ground truth 標注得到移動端推理速度測試環(huán)境為 Qualcomm Snapdragon 865采用 arm8 下 4 線程推理。1.2 FastDeploy 的部署能力與適用場景FastDeploy 是一款全場景、易用靈活、極致高效的 AI 推理部署工具提供開箱即用的云邊端部署體驗支持超過 150 Text、Vision、Speech 和跨模態(tài)模型實現(xiàn)了 AI 模型端到端的優(yōu)化加速。目前支持的硬件包括 X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU 等通過一行代碼即可切換不同推理后端和硬件fastdeploy_cn.md。FastDeploy 部署 AI 模型只需 3 步安裝 FastDeploy 預(yù)編譯 SDK調(diào)用 FastDeploy 的 API 實現(xiàn)部署代碼推理部署。前置說明本文檔演示的部署流程下載 FastDeploy 示例來完成高性能部署體驗僅展示 X86 CPU、NVIDIA GPU 的推理且默認已經(jīng)準備好 GPU 環(huán)境如 CUDA 11.2 等。如需部署到其他硬件或完整了解 FastDeploy 部署能力請參考 FastDeploy 官方倉庫。二、第一步安裝 FastDeploy SDK根據(jù) fastdeploy_en.md安裝 FastDeploy GPU 版 Python 預(yù)編譯包的命令如下pip install fastdeploy-gpu-python0.0.0 -f https://www.paddlepaddle.org.cn/whl/fastdeploy_nightly_build.html命令要點說明fastdeploy-gpu-python為包含 GPU 推理后端含 TensorRT 等的 Python wheel 包-f--find-links指定額外的 wheel 索引頁面即飛槳官方的 FastDeploy nightly build 輪子下載頁該命令適用于已具備 GPU 環(huán)境CUDA 11.2 等的機器若僅需 CPU 部署可安裝對應(yīng)的 CPU 版本包。安裝完成后可通過python -c import fastdeploy; print(fastdeploy.__version__)驗證 SDK 是否導入成功。三、第二步下載部署示例與模型文件3.1 獲取 FastDeploy 示例代碼# 下載部署示例代碼 git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/examples/vision/keypointdetection/tiny_pose/python示例目錄中包含pptinypose_infer.py推理腳本其核心邏輯為加載 PP-TinyPose 推理模型 → 讀取輸入圖片 → 調(diào)用 FastDeploy API 完成關(guān)鍵點推理 → 輸出可視化結(jié)果。3.2 下載 PP-TinyPose 模型與測試圖片# 下載 PP-TinyPose 模型文件和測試圖片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PP_TinyPose_256x192_infer.tgz tar -xvf PP_TinyPose_256x192_infer.tgz wget https://bj.bcebos.com/paddlehub/fastdeploy/hrnet_demo.jpg解壓后的PP_TinyPose_256x192_infer目錄即推理部署模型包含 FastDeploy 推理所需的模型結(jié)構(gòu)與參數(shù)文件hrnet_demo.jpg為官方提供的測試圖片。提示模型輸入尺寸為 256×192。若希望使用更輕量的 128×96 版本可參考 download_cn.md 中的模型下載鏈接自行替換部署模型。四、第三步運行推理4.1 CPU 推理python pptinypose_infer.py --tinypose_model_dir PP_TinyPose_256x192_infer --image hrnet_demo.jpg --device cpu4.2 GPU 推理python pptinypose_infer.py --tinypose_model_dir PP_TinyPose_256x192_infer --image hrnet_demo.jpg --device gpu4.3 GPU TensorRT 推理python pptinypose_infer.py --tinypose_model_dir PP_TinyPose_256x192_infer --image hrnet_demo.jpg --device gpu --use_trt True注意TensorRT 推理第一次運行時會對模型進行序列化構(gòu)建 TensorRT engine有一定耗時需要耐心等待序列化完成后后續(xù)推理會顯著加速。運行完成后的可視化結(jié)果人體關(guān)鍵點骨骼繪制在原始圖片上如下4.4 腳本參數(shù)說明以示例腳本為基礎(chǔ)FastDeploy 示例腳本pptinypose_infer.py的核心參數(shù)如下參數(shù)取值示例說明--tinypose_model_dirPP_TinyPose_256x192_inferPP-TinyPose 推理模型目錄--imagehrnet_demo.jpg輸入圖片路徑--devicecpu/gpu指定推理設(shè)備可一行切換硬件--use_trtTrue/False是否在 GPU 上啟用 TensorRT 后端通過一行--device參數(shù)即可在不同硬件與推理后端之間切換這正是 FastDeploy 統(tǒng)一部署體驗的核心體現(xiàn)。五、倉庫內(nèi) PP-TinyPose 部署實踐參考5.1 基于 PaddleDetection 的檢測 關(guān)鍵點串聯(lián)推理倉庫中 APP/det_keypoint_unite_infer.py 提供了完整的行人檢測 關(guān)鍵點檢測串聯(lián)推理實現(xiàn)其調(diào)用鏈為加載 PicoDet 行人檢測器與 TinyPose 關(guān)鍵點檢測器對圖片先做檢測detector.predict_image置信度閾值det_threshold默認 0.5對檢測到的行人框裁切g(shù)et_person_from_rect后送入關(guān)鍵點檢測器keypoint_detector.predict_image將關(guān)鍵點坐標映射回原圖translate_to_ori_images并可視化visualize_pose。對應(yīng)命令行推理示例如下來自 introduction_cn.ipynbpython deploy/python/det_keypoint_unite_infer.py --det_model_diroutput_inference/picodet_v2_s_320_pedestrian --keypoint_model_diroutput_inference/tinypose_128x96 --image_filedemo_input/000000568213.jpg --deviceGPU --output_dirdemo_output視頻推理同理python deploy/python/det_keypoint_unite_infer.py --det_model_diroutput_inference/picodet_v2_s_320_pedestrian --keypoint_model_diroutput_inference/tinypose_128x96 --video_filedemo_input/demo_PP-TinyPose.mp4 --deviceGPU --output_dirdemo_output5.2 關(guān)鍵推理參數(shù)來自 det_keypoint_unite_utils.py參數(shù)默認值說明--keypoint_batch_size8關(guān)鍵點推理 batch 大小檢測 batch 為 1檢測結(jié)果收集后按此 batch 送入關(guān)鍵點推理--det_threshold0.5行人檢測置信度閾值--keypoint_threshold0.5關(guān)鍵點可視化置信度閾值--output_diroutput可視化結(jié)果輸出目錄--devicecpuCPU/GPU/XPU 設(shè)備選擇--run_modepaddle運行模式支持paddle/trt_fp32/trt_fp16/trt_int8--enable_mkldnnFalseCPU 上是否啟用 MKLDNN 加速--cpu_threads1CPU 推理線程數(shù)--use_darkTrue是否使用 DARK 后處理以提升關(guān)鍵點位置精度--smoothFalse是否對關(guān)鍵點做時序平滑視頻推理更穩(wěn)定--filter_typeOneEuro平滑濾波器類型可選OneEuro或EMA5.3 在線體驗應(yīng)用Gradio倉庫 APP/app.py 提供了一個基于 Gradio 的在線體驗應(yīng)用配置見 APP/app.yml支持圖片與視頻輸入僅支持 .mp4/.avi通過def_keypoint(input_date)完成推理輸出可視化結(jié)果與 JSON 結(jié)構(gòu)化結(jié)果關(guān)鍵點坐標、置信度、檢測框。六、性能參考與部署注意事項6.1 服務(wù)端推理基準來自 benchmark_cn.mdPython 部署NVIDIA T4 / CUDA 10.1 / CUDNN 7 / Python 3.7 / TensorRT 6batch size8僅推理時間模型CPUMKLDNN (1線程)CPUMKLDNN (4線程)GPUTensorRT (FP32)TensorRT (FP16)PP-TinyPose-128x9625.2ms14.1ms2.7ms0.9ms0.8msPP-TinyPose-256x19282.4ms36.1ms3.0ms1.5ms1.1msC 部署軟硬件環(huán)境同上模型CPUMKLDNN (1線程)CPUMKLDNN (4線程)GPUTensorRT (FP32)TensorRT (FP16)PP-TinyPose-128x9624.06ms13.05ms2.43ms0.75ms0.72msPP-TinyPose-256x19282.73ms36.25ms2.57ms1.38ms1.15ms6.2 移動端推理基準Paddle Lite版本 v2.10-rc僅推理時間模型麒麟 980 (1線程)麒麟 980 (4線程)驍龍 845 (1線程)驍龍 845 (4線程)驍龍 660 (1線程)驍龍 660 (4線程)PicoDet-s-192x192 (det)14.85ms5.45ms17.50ms7.56ms80.08ms27.36msPicoDet-s-320x320 (det)38.09ms12.00ms45.26ms17.07ms232.81ms58.68msPP-TinyPose-128x96 (pose)12.03ms5.09ms13.14ms6.73ms71.87ms20.04ms6.3 部署注意事項GPU 環(huán)境要求FastDeploy GPU 版需要 CUDA 11.2 等就緒環(huán)境TensorRT 首次序列化首次運行 TensorRT 推理時需構(gòu)建 engine耗時較長屬正常現(xiàn)象模型文件完整性PP_TinyPose_256x192_infer目錄需完整解壓后再運行推理腳本否則加載模型會失敗輸入尺寸一致性若替換為 128×96 版本的部署模型需確認推理腳本或預(yù)處理與模型輸入尺寸匹配。七、總結(jié)本文完整復(fù)現(xiàn)了基于 FastDeploy 的 PP-TinyPose 3 步部署流程安裝 SDK → 下載示例與模型 → 一行命令切換 CPU/GPU/TensorRT 完成推理。同時結(jié)合倉庫內(nèi)的 fastdeploy_en.md、download_cn.md、benchmark_cn.md 以及 APP 下的推理源碼對 PP-TinyPose 的模型特性、性能基準、串聯(lián)推理管線與關(guān)鍵參數(shù)做了縱深補充。通過本文讀者不僅可以照單操作完成一次 PP-TinyPose 的高性能推理體驗還能理解 FastDeploy 統(tǒng)一部署抽象背后的關(guān)鍵點一份部署代碼、一行設(shè)備參數(shù)即可在 X86 CPU、NVIDIA GPU含 TensorRT 加速等多種硬件上運行。若需將 PP-TinyPose 部署到 ARM、XPU、NPU、IPU 等其他硬件可進一步探索 FastDeploy 官方倉庫的完整能力矩陣。贊分享人工智能深度學習計算機視覺NLP語音【免費下載鏈接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.項目地址https://gitcode.com/gh_mirrors/mo/models點擊查看免費下載相關(guān)推薦PP-TinyPose 高性能部署實戰(zhàn)基于 FastDeploy 三步完成云邊端人體姿態(tài)估計推理PP TinyPose 高性能部署實戰(zhàn)基于 FastDeploy 三步完成云邊端人體姿態(tài)估計推理 本文以 PaddleDetection 推出的輕量級人體姿態(tài)人工智能深度學習計算機視覺NLP語音ComfyUI 報 No HIP GPUsROCm 下四步修好 AMD GPU 識別ComfyUI 報 No HIP GPUsROCm 下四步修好 AMD GPU 識別 Ubuntu 24.04 下 ComfyUI 報 RuntimeErro人工智能深度學習計算機視覺NLP語音PP-LCNetV2 全場景高性能部署指南基于 FastDeploy 的云邊端推理實踐PP LCNetV2 全場景高性能部署指南基于 FastDeploy 的云邊端推理實踐 導讀 本文以 modelcenter/PP LCNetV2/fastd人工智能深度學習計算機視覺NLP語音上一篇終極WeMod增強工具指南如何免費解鎖遠程控制和AI功能下一篇WarcraftHelper徹底解決魔獸爭霸3現(xiàn)代化兼容問題的終極方案創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考