RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在英特爾酷睿Ultra處理器上優(yōu)化和部署YOLOv8模型

英特爾物聯(lián)網(wǎng) ? 來(lái)源:英特爾物聯(lián)網(wǎng) ? 2024-05-30 17:16 ? 次閱讀

英特爾 酷睿 Ultra處理器是英特爾公司推出的一個(gè)高端處理器品牌,其第一代產(chǎn)品基于Meteor Lake架構(gòu),使用Intel 4制程,單顆芯片封裝CPU、GPU(Intel Arc Graphics)和 NPU(Intel AI Boost),具有卓越的AI性能。

本文將詳細(xì)介紹使用OpenVINO工具套件在英特爾 酷睿Ultra處理器上實(shí)現(xiàn)對(duì)YOLOv8模型的INT8量化和部署。

1

第一步:環(huán)境搭建

首先,請(qǐng)下載并安裝最新版的NPU和顯卡驅(qū)動(dòng):

NPU 驅(qū)動(dòng):https://www.intel.cn/content/www/cn/zh/download/794734/intel-npu-driver-windows.html

顯卡驅(qū)動(dòng):

https://www.intel.cn/content/www/cn/zh/download/785597/intel-arc-iris-xe-graphics-windows.html

a46b2724-1e63-11ef-91d2-92fbcf53809c.png

然后,請(qǐng)下載并安裝Anaconda,然后創(chuàng)建并激活名為npu的虛擬環(huán)境:(下載鏈接:https://www.anaconda.com/download)

conda create -n npu python=3.11    #創(chuàng)建虛擬環(huán)境
conda activate npu           #激活虛擬環(huán)境
python -m pip install --upgrade pip  #升級(jí)pip到最新版本

最后,請(qǐng)安裝openvino、nncf、onnx和ultralytics:

pip install openvino nncf onnx ultralytics

a479fd62-1e63-11ef-91d2-92fbcf53809c.png

2

第二步:導(dǎo)出yolov8s模型并實(shí)現(xiàn)INT8量化

使用yolo命令導(dǎo)出yolov8s.onnx模型:

yolo export model=yolov8s.pt format=onnx

使用ovc命令導(dǎo)出OpenVINO格式,F(xiàn)P16精度的yolov8s模型

ovc yolov8s.onnx

a486298e-1e63-11ef-91d2-92fbcf53809c.png

使用benchmark_app程序依次測(cè)試FP16精度的yolov8s模型在CPU,GPU和NPU上的AI推理性能,結(jié)果如下圖所示:

benchmark_app -m yolov8s.xml -d CPU  #此處依次換為GPU,NPU

a49247c8-1e63-11ef-91d2-92fbcf53809c.png

用NNCF實(shí)現(xiàn)yolov8s模型的INT8量化

NNCF全稱Neural Network Compression Framework,是一個(gè)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)訓(xùn)練后量化(post-training quantization)和訓(xùn)練期間壓縮(Training-Time Compression)的開(kāi)源工具包,如下圖所示,通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)權(quán)重的量化和壓縮以最低精度損失的方式實(shí)現(xiàn)推理計(jì)算的優(yōu)化和加速。

a49e1fa8-1e63-11ef-91d2-92fbcf53809c.png

NNCF提供的量化和壓縮算法

在上述量化和壓縮算法中,訓(xùn)練后INT8量化(Post-Training INT8 Quantization)是在工程實(shí)踐中應(yīng)用最廣泛的,它無(wú)需重新訓(xùn)練或微調(diào)模型,就能實(shí)現(xiàn)模型權(quán)重的INT8量化,在獲得顯著的性能提升的同時(shí),僅有極低的精度損失,而且使用簡(jiǎn)便。

用NNCF實(shí)現(xiàn)YOLOv8s模型INT8量化的范例代碼yolov8_PTQ_INT8.py,如下所示:

import torch, nncf
import openvino as ov 
from torchvision import datasets, transforms
# Specify the path of model and dataset
model_dir = r"yolov8s.xml"
dataset = r"val_dataset"
# Instantiate your uncompressed model
model = ov.Core().read_model(model_dir)
# Provide validation part of the dataset to collect statistics needed for the compression algorithm
val_dataset = datasets.ImageFolder(dataset, transform=transforms.Compose([transforms.ToTensor(),transforms.Resize([640, 640])]))
dataset_loader = torch.utils.data.DataLoader(val_dataset, batch_size=1)
# Step 1: Initialize transformation function
def transform_fn(data_item):
  images, _ = data_item
  return images.numpy()
# Step 2: Initialize NNCF Dataset
calibration_dataset = nncf.Dataset(dataset_loader, transform_fn)
# Step 3: Run the quantization pipeline
quantized_model = nncf.quantize(model, calibration_dataset)
# Step 4: Save the INT8 quantized model
ov.save_model(quantized_model, "yolov8s_int8.xml")

運(yùn)行yolov8_PTQ_INT8.py,執(zhí)行結(jié)果如下所示:

a4aab6c8-1e63-11ef-91d2-92fbcf53809c.png

使用benchmark_app程序依次測(cè)試INT8精度的yolov8s模型在CPU,GPU和NPU上的AI推理性能,結(jié)果如下圖所示:

benchmark_app -m yolov8s_int8.xml -d CPU  #此處依次換為GPU,NPU

a4b31c96-1e63-11ef-91d2-92fbcf53809c.png

從上圖可以看出,yolov8s模型經(jīng)過(guò)INT8量化后,相比FP16精度模型,無(wú)論在Latency還是Throughput上,都有明顯提升。

3

第三步:編寫(xiě)YOLOv8推理程序

yolov8目標(biāo)檢測(cè)模型使用letterbox算法對(duì)輸入圖像進(jìn)行保持原始寬高比的放縮,據(jù)此,yolov8目標(biāo)檢測(cè)模型的預(yù)處理函數(shù)實(shí)現(xiàn),如下所示:

from ultralytics.data.augment import LetterBox
# 實(shí)例化LetterBox
letterbox = LetterBox()
# 預(yù)處理函數(shù)
def preprocess_image(image: np.ndarray, target_size=(640, 640))->np.ndarray:
  image = letterbox(image)  #YOLOv8用letterbox按保持圖像原始寬高比方式放縮圖像
  blob = cv2.dnn.blobFromImage(image, scalefactor=1 / 255, size=target_size, swapRB=True)
  return blob

yolov8目標(biāo)檢測(cè)模型的后處理函數(shù)首先用非極大值抑制non_max_suppression()算法去除冗余候選框,然后根據(jù)letterbox的放縮方式,用scale_boxes()函數(shù)將檢測(cè)框的坐標(biāo)點(diǎn)還原到原始圖像上,如下所示:

# 后處理函數(shù): 從推理結(jié)果[1,84,8400]的張量中拆解出:檢測(cè)框,置信度和類別
def postprocess(pred_boxes, input_hw, orig_img, min_conf_threshold = 0.25, 
         nms_iou_threshold = 0.7, agnosting_nms = False, max_detections = 300):
  # 用非極大值抑制non_max_suppression()算法去除冗余候選框
  nms_kwargs = {"agnostic": agnosting_nms, "max_det":max_detections}
  pred = ops.non_max_suppression(
    torch.from_numpy(pred_boxes),
    min_conf_threshold,
    nms_iou_threshold,
    nc=80,
    **nms_kwargs
  )[0]
  # 用scale_boxes()函數(shù)將檢測(cè)框的坐標(biāo)點(diǎn)還原到原始圖像上
  shape = orig_img.shape
  pred[:, :4] = ops.scale_boxes(input_hw, pred[:, :4], shape).round()
  
  return pred

完整代碼詳細(xì)參見(jiàn):yolov8_infer_ov.py,其運(yùn)行結(jié)果如下所示:

a4be35fe-1e63-11ef-91d2-92fbcf53809c.png

4

總結(jié)

英特爾 酷睿 Ultra處理器內(nèi)置了CPU、GPU和NPU,相比之前,無(wú)論是能耗比、顯卡性能還是AI性能,都有顯著提升;通過(guò)OpenVINO和NNCF,可以方便快捷實(shí)現(xiàn)AI模型的優(yōu)化和INT量化,以及本地化部署,獲得非常不錯(cuò)的端側(cè)AI推理性能。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19259

    瀏覽量

    229649
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    9949

    瀏覽量

    171692
  • GPU芯片
    +關(guān)注

    關(guān)注

    1

    文章

    303

    瀏覽量

    5804
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    196

原文標(biāo)題:在英特爾? 酷睿? Ultra處理器上優(yōu)化和部署YOLOv8模型 | 開(kāi)發(fā)者實(shí)戰(zhàn)

文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    智譜清言英特爾Ultra專享版發(fā)布,離線模型玩轉(zhuǎn)AIPC

    近日,國(guó)內(nèi)領(lǐng)先的大模型廠商智譜在智譜清言的官網(wǎng)發(fā)布了智譜清言英特爾Ultra專享版,這個(gè)版本可以利用
    的頭像 發(fā)表于 12-18 11:52 ?161次閱讀

    10月29日英特爾將發(fā)布新一代Ultra Series 2處理器及圖形產(chǎn)品線

     近日,據(jù)外媒報(bào)道,英特爾已定于10月29日舉辦Partner Alliance BaseCamp活動(dòng),該活動(dòng)備受業(yè)界矚目,因?yàn)?b class='flag-5'>英特爾預(yù)計(jì)將在會(huì)上發(fā)布其備受期待的下一代
    的頭像 發(fā)表于 10-16 15:18 ?558次閱讀

    英特爾發(fā)布Ultra 200S系列臺(tái)式機(jī)處理器

    近日,英特爾正式推出了Ultra 200S系列處理器家族,為臺(tái)式機(jī)平臺(tái)帶來(lái)了全新的AI PC功能。此次發(fā)布的
    的頭像 發(fā)表于 10-11 17:36 ?491次閱讀

    選擇英特爾? ? 處理器家族,開(kāi)啟智能計(jì)算新時(shí)代

    在數(shù)字化轉(zhuǎn)型加速的時(shí)代,計(jì)算性能的提升已成為每個(gè)用戶的核心訴求。無(wú)論是職場(chǎng)精英、游戲玩家、內(nèi)容創(chuàng)作者,還是家庭娛樂(lè)愛(ài)好者, 英特爾? ? 處理器家族 憑借卓越的性能與智能
    發(fā)表于 09-18 10:39 ?8824次閱讀
    選擇<b class='flag-5'>英特爾</b>? <b class='flag-5'>酷</b><b class='flag-5'>睿</b>? <b class='flag-5'>處理器</b>家族,開(kāi)啟智能計(jì)算新時(shí)代

    英特爾? ? Ultra 處理器面向多行業(yè)加速AI產(chǎn)業(yè)升級(jí)

    持競(jìng)爭(zhēng)力,企業(yè)亟需更高效的計(jì)算平臺(tái)來(lái)處理日益復(fù)雜的數(shù)據(jù)分析和AI推理任務(wù)。 為響應(yīng)這一時(shí)代需求,英特爾正式發(fā)布英特爾? ?
    發(fā)表于 09-14 20:36 ?1.3w次閱讀
    <b class='flag-5'>英特爾</b>? <b class='flag-5'>酷</b><b class='flag-5'>睿</b>? <b class='flag-5'>Ultra</b> <b class='flag-5'>處理器</b>面向多行業(yè)加速AI產(chǎn)業(yè)升級(jí)

    英特爾Ultra 200V系列處理器發(fā)布

    英特爾近日隆重推出了其革命性的Ultra 200V系列處理器,這一全新x86處理器家族以超高
    的頭像 發(fā)表于 09-10 16:44 ?536次閱讀

    英特爾Ultra 200V Lunar Lake處理器引領(lǐng)消費(fèi)與商用市場(chǎng)新紀(jì)元

    科技界翹首以盼的9月4日零點(diǎn),英特爾北京時(shí)間正式揭開(kāi)了Ultra 200V系列“Luna
    的頭像 發(fā)表于 09-06 16:25 ?806次閱讀

    如何將Llama3.1模型部署英特爾Ultra處理器

    本文從搭建環(huán)境開(kāi)始,一步一步幫助讀者實(shí)現(xiàn)只用五行代碼便可將Llama3.1模型部署英特爾
    的頭像 發(fā)表于 07-26 09:51 ?2108次閱讀
    如何將Llama3.1<b class='flag-5'>模型</b><b class='flag-5'>部署</b><b class='flag-5'>在</b><b class='flag-5'>英特爾</b><b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>Ultra</b><b class='flag-5'>處理器</b>

    英特爾Ultra處理器出貨量預(yù)計(jì)飆升

    英特爾中國(guó)區(qū)董事長(zhǎng)王銳近日透露,英特爾Ultra處理器自問(wèn)世以來(lái),已經(jīng)
    的頭像 發(fā)表于 06-20 09:23 ?753次閱讀

    已有超過(guò)500款A(yù)I模型英特爾Ultra處理器上得以優(yōu)化運(yùn)行

    近日,英特爾宣布全新英特爾 Ultra處理器
    的頭像 發(fā)表于 05-11 09:31 ?709次閱讀

    英特爾Ultra處理器突破500個(gè)AI模型優(yōu)化

    英特爾最新推出的英特爾? ? Ultra處理器
    的頭像 發(fā)表于 05-09 11:18 ?760次閱讀

    英特爾二季度對(duì)Ultra處理器供應(yīng)受限

    英特爾首席執(zhí)行官帕特·基辛格最新的財(cái)報(bào)電話會(huì)議透露,受晶圓級(jí)封裝產(chǎn)能限制,二季度Ultra
    的頭像 發(fā)表于 05-06 11:04 ?661次閱讀

    英特爾推出面向邊緣市場(chǎng)的 / Ultra 處理器PS系列

    其中,Ultra處理器PS系列即為Meteor Lake PS,提供45瓦 and 15瓦兩個(gè)功率選項(xiàng)。主打款為英特爾
    的頭像 發(fā)表于 04-09 16:45 ?1009次閱讀

    英特爾Arrow Lake處理器更名Ultra

    @金豬升級(jí)包強(qiáng)調(diào)Arrow Lake處理器不太可能被稱為15代,更有可能會(huì)被冠名為“Ultra
    的頭像 發(fā)表于 03-04 16:45 ?1421次閱讀

    5G網(wǎng)絡(luò)優(yōu)化處理器和AI PC搶鏡 英特爾攜三大重磅產(chǎn)品線亮相MWC24

    此次MWC24,英特爾帶來(lái)三大旗艦產(chǎn)品線:一、用于網(wǎng)絡(luò)工作負(fù)載的未來(lái)Granite Rapids-D和Sierra Forest處理器;二、幫助運(yùn)營(yíng)商變現(xiàn)其邊緣
    的頭像 發(fā)表于 02-29 15:16 ?4329次閱讀
    5G網(wǎng)絡(luò)<b class='flag-5'>優(yōu)化處理器</b>和AI PC搶鏡 <b class='flag-5'>英特爾</b>攜三大重磅產(chǎn)品線亮相MWC24
    RM新时代网站-首页