精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用OpenVINO Model Server在哪吒開發板上部署模型

英特爾物聯網 ? 來源:英特爾物聯網 ? 2024-11-01 14:19 ? 次閱讀

作者:

王國強 蘇州嘉樹醫療科技有限公司 算法工程師

指導:

顏國進 英特爾邊緣計算創新大使

1OpenVINO Model Server介紹

OpenVINO Model Server(OVMS)是一個高性能的模型部署系統,使用C++實現,并在Intel架構上的部署進行了優化,使用OpenVINO 進行推理,推理服務通過gPRC或REST API提供,使得部署新算法、AI實驗變得簡單。OVMS可以在Docker容器、裸機、Kuberntes環境中運行,這里我使用的是Docker容器。

130ceea0-9804-11ef-a511-92fbcf53809c.png131166e2-9804-11ef-a511-92fbcf53809c.png

2哪吒開發板Docker安裝

Ubuntu22.04上的Docker安裝可以參照官方文檔:

https://docs.docker.com/engine/install/

首先安裝依賴:

sudo apt update
sudo apt install ca-certificates curl

然后添加Docker的GPG密鑰,如果你的網絡可以正常訪問Docker可以通過下面的命令添加APT源:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo 
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu 
 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | 
 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

如果無法正常訪問,就需要換成國內鏡像源,這里以阿里源為例:

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update

之后就可以通過apt安裝Docker,命令如下:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安裝后可以通過以下命令驗證是否安裝成功:

sudo docker --version
sudo docker run hello-world

3拉取OpenVINOModel Server鏡像

各個版本的鏡像可以在OpenVINO 的Docker Hub上找到,我拉取了一個最新的帶有GPU環境的鏡像:

https://hub.docker.com/r/openvino/model_server/tags

sudo docker pull openvino/model_server:latest-gpu
sudo docker images
13227112-9804-11ef-a511-92fbcf53809c.png

4準備模型

首先在哪吒開發板上新建一個models文件夾,文件夾的結構如下,這里我在models文件夾下存放了resnet50和Transformer兩個模型,版本都為1,模型為OpenVINO IR格式。

13368fa8-9804-11ef-a511-92fbcf53809c.png

5啟動OpenVINO Model Server容器

在哪吒開發板上啟動帶有iGPU環境的OpenVINO Model Server容器命令如下:

sudo docker run -it --device=/dev/dri --group-add=$(stat -c "%g" /dev/dri/render* | head -n 1) -d -u $(id -u) -v $(pwd)/models:/models -p 9000:9000 openvino/model_server:latest-gpu --model_name Transformer --model_path /models/Transformer --port 9000 --target_device GPU

各個參數的含義可在官方文檔查看:https://docs.openvino.ai/2024/ovms_docs_parameters.html

容器啟動后可以通過以下命令查看容器ID、狀態信息等。

sudo docker ps
13569ec4-9804-11ef-a511-92fbcf53809c.png

這樣Transformer模型就通過OpenVINO Model Server部署在了哪吒開發板上。

6請求推理服務

接下來通過gRPC API訪問推理服務,以python為例,首先安裝ovmsclient包。

pip install ovmsclient

請求推理的代碼如下,這里在局域網的另一臺機器上請求哪吒開發板上的推理服務,10.0.70.164為哪吒開發板的ip地址。

import os
import time
import numpy as np
import pandas as pd
from ovmsclient import make_grpc_client


client = make_grpc_client("10.0.70.164:9000")


sum_time = 0
root_dir = './data/'
filelist = os.listdir(root_dir)
for file in filelist:
  start_time = time.perf_counter()
  sample = pd.read_csv(root_dir + file)['ForceValue'].values
  inputs = sample.reshape(1, -1).astype(np.float32)


  output = client.predict({"input": inputs}, "Transformer")
  end_time = time.perf_counter()
  sum_time += end_time - start_time
  result_index = np.argmax(output[0], axis=0)
  print('Infer results: ', result_index, '
Infer time: ', (end_time - start_time) * 1000, 'ms')
print('Average time: ', sum_time / len(filelist) * 1000, 'ms') 
137e9b04-9804-11ef-a511-92fbcf53809c.png

推理結果成功返回,平均推理時間12ms,如果換成更穩定的以太網速度應該會更快。

7總結

以上就是在哪吒開發板上使用OpenVINO(C++)推理模型,并通過OpenVINO Model Server進行模型部署的過程,可以看出OpenVINO的使用還是比較方便、簡潔的,推理速度也很快。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英特爾
    +關注

    關注

    60

    文章

    9880

    瀏覽量

    171479
  • 開發板
    +關注

    關注

    25

    文章

    4943

    瀏覽量

    97188
  • 模型
    +關注

    關注

    1

    文章

    3171

    瀏覽量

    48711
  • Docker
    +關注

    關注

    0

    文章

    454

    瀏覽量

    11812
  • OpenVINO
    +關注

    關注

    0

    文章

    87

    瀏覽量

    181

原文標題:使用 OpenVINO? Model Server 在哪吒開發板上部署模型|開發者實戰

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LabVIEW+OpenVINO在CPU上部署新冠肺炎檢測模型實戰(含源碼)

    使用LabVIEW+OpenVINO在CPU上部署新冠肺炎CT圖像病害分割
    的頭像 發表于 03-23 13:34 ?1710次閱讀
    LabVIEW+<b class='flag-5'>OpenVINO</b>在CPU<b class='flag-5'>上部署</b>新冠肺炎檢測<b class='flag-5'>模型</b>實戰(含源碼)

    如何使用OpenVINO C++ API部署FastSAM模型

    FastSAM 模型 | 開發者實戰》,在該文章中我們向大家展示了基于 OpenVINO Python API 的基本部署流程。在實際部署
    的頭像 發表于 11-17 09:53 ?862次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> C++ API<b class='flag-5'>部署</b>FastSAM<b class='flag-5'>模型</b>

    介紹在STM32cubeIDE上部署AI模型的系列教程

    介紹在STM32cubeIDE上部署AI模型的系列教程,開發板型號STM32H747I-disco,值得一看。MCUAI原文鏈接:【嵌入式AI開發】篇四|
    發表于 12-14 09:05

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8分類模型

    本系列文章將在 AI 愛克斯開發板上使用 OpenVINO 開發套件依次部署并測評 YOLOv8 的分類模型、目標檢測
    的頭像 發表于 05-05 11:47 ?1015次閱讀
    在AI愛克斯<b class='flag-5'>開發板</b>上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8分類<b class='flag-5'>模型</b>

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8目標檢測模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO
    的頭像 發表于 05-12 09:08 ?1261次閱讀
    在AI愛克斯<b class='flag-5'>開發板</b>上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8目標檢測<b class='flag-5'>模型</b>

    AI愛克斯開發板上使用OpenVINO加速YOLOv8目標檢測模型

    《在AI愛克斯開發板上用OpenVINO加速YOLOv8分類模型》介紹了在AI愛克斯開發板上使用OpenVINO
    的頭像 發表于 05-26 11:03 ?1187次閱讀
    AI愛克斯<b class='flag-5'>開發板</b>上使用<b class='flag-5'>OpenVINO</b>加速YOLOv8目標檢測<b class='flag-5'>模型</b>

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO
    的頭像 發表于 06-05 11:52 ?966次閱讀
    在AI愛克斯<b class='flag-5'>開發板</b>上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8-seg實例分割<b class='flag-5'>模型</b>

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8-seg實例分割模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 目標檢測模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO
    的頭像 發表于 06-30 10:43 ?872次閱讀
    在AI愛克斯<b class='flag-5'>開發板</b>上用<b class='flag-5'>OpenVINO</b>?加速YOLOv8-seg實例分割<b class='flag-5'>模型</b>

    20210520定位圖全志D1哪吒開發板

    20210520定位圖D1哪吒開發板
    發表于 03-21 09:51 ?2次下載

    基于OpenVINO C# API部署RT-DETR模型

    Python API 部署 RT-DETR 模型 | 開發者實戰》和《基于 OpenVINO C++ API 部署 RT-DETR
    的頭像 發表于 11-10 16:59 ?712次閱讀
    基于<b class='flag-5'>OpenVINO</b> C# API<b class='flag-5'>部署</b>RT-DETR<b class='flag-5'>模型</b>

    NNCF壓縮與量化YOLOv8模型OpenVINO部署測試

    OpenVINO2023版本衍生出了一個新支持工具包NNCF(Neural Network Compression Framework – 神經網絡壓縮框架),通過對OpenVINO IR格式模型的壓縮與量化更好的提升
    的頭像 發表于 11-20 10:46 ?1493次閱讀
    NNCF壓縮與量化YOLOv8<b class='flag-5'>模型</b>與<b class='flag-5'>OpenVINO</b><b class='flag-5'>部署</b>測試

    OpenVINO? 賦能千元級『哪吒』AI開發套件大語言模型 | 開發者實戰

    ,大多數高性能模型通常需要昂貴的計算資源,使得它們的應用受限于有限的環境。本文將探討在OpenVINO的賦能下,如何在不足千元的AI開發板上部署Stable-Zeph
    的頭像 發表于 01-06 08:05 ?1465次閱讀
    <b class='flag-5'>OpenVINO</b>? 賦能千元級『<b class='flag-5'>哪吒</b>』AI<b class='flag-5'>開發</b>套件大語言<b class='flag-5'>模型</b> | <b class='flag-5'>開發</b>者實戰

    使用OpenVINO C++在哪吒開發板上推理Transformer模型

    OpenVINO 是一個開源工具套件,用于對深度學習模型進行優化并在云端、邊緣進行部署。它能在諸如生成式人工智能、視頻、音頻以及語言等各類應用場景中加快深度學習推理的速度,且支持來自 PyTorch
    的頭像 發表于 10-12 09:55 ?275次閱讀
    使用<b class='flag-5'>OpenVINO</b> C++<b class='flag-5'>在哪吒</b><b class='flag-5'>開發板</b>上推理Transformer<b class='flag-5'>模型</b>

    OpenVINO? C++ 在哪吒開發板上推理 Transformer 模型開發者實戰

    信用卡大?。?5x56mm)的開發板-『哪吒』(Nezha)為核心,『哪吒』采用IntelN97處理器(AlderLake-N),最大睿頻3.6GHz,Intel
    的頭像 發表于 09-28 08:01 ?269次閱讀
    <b class='flag-5'>OpenVINO</b>? C++ <b class='flag-5'>在哪吒</b><b class='flag-5'>開發板</b>上推理 Transformer <b class='flag-5'>模型</b>|<b class='flag-5'>開發</b>者實戰

    基于哪吒開發板部署YOLOv8模型

    2024英特爾 “走近開發者”互動活動-哪吒開發套件免費試 用 AI 創新計劃:哪吒開發板是專為支持入門級邊緣 AI 應用程序和設備而設計,
    的頭像 發表于 11-15 14:13 ?152次閱讀
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>開發板</b><b class='flag-5'>部署</b>YOLOv8<b class='flag-5'>模型</b>