在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

使用PyTorch加速圖像分割

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-31 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

英特爾

使用 Intel 擴展 PyTorrch 來提升圖像處理性能

PyTorrch提供了巨大的CPU性能,并且隨著PyTorrch的Intel擴展而可以進一步加速。 我用PyTorrch 1.13.1(與ResNet34 Ulet 結(jié)構(gòu))培訓了一個AI圖像分割模型,以便從衛(wèi)星圖象中確定道路和速度限制,所有這些都在第四Gen Intelé Xeon可縮放處理器上進行。

我會帶你們走走這些步驟 與一個稱為SpaceNet5的衛(wèi)星圖像數(shù)據(jù)集合作 以及如何優(yōu)化代碼 使CPU的深層學習工作量

在我們開始之前,一些家務...

本條所附的代碼可在下列文件的示例文件夾中查閱:PyTorrch 倉庫的 Intel 擴展. 我從從衛(wèi)星圖像(CRESI)儲存庫中抽取城市規(guī)模道路。 我對它進行了改造, 以適應第四 Gentel Xeon 處理器, 以及PyTorrch 優(yōu)化和PyTorch 的 Intel 擴展名優(yōu)化。 特別是,我能夠利用這里的筆記本.

你可以找到我給你的隨同談話在YouTube上.

我強烈建議這些文章詳細解釋如何開始使用SpaceNet5數(shù)據(jù):

空間網(wǎng)5基線——第1部分:圖像和標簽準備

空間網(wǎng)5基線——第2部分:培訓公路速度分割模式

空間網(wǎng)5基線——第3部分:從衛(wèi)星圖像中提取公路速度矢量

SpaceNet 5 SpaceNet 5 贏贏模型發(fā)布模式:道路的終點

我引用了Julien Simon的兩個Hugging Face博客,金屬-16xl:

使用 Intel Sapphire Rapids 的加速火爐變速器, 第1部分

使用 Intel Sapphire Rapids 的加速火炬變速器,第2部分

使用 CPU 實例而不是在主要云服務供應商( CSP) 使用 GPU 實例可能節(jié)省大量成本。 最新的處理器仍在向 CSP 推出, 所以我正在使用 INTel Xeon 第四次 Gente Intel Xeon 處理器, 該處理器設在 Intel 開發(fā)者云上( 您可以在此報名 ) :. 云信息 com).

在 AWS 上,您可以從列 約*在你之后的EC2實例此處預覽的標記(圖1)在編寫本報告時,新的AI加速發(fā)動機Intel 高級母體擴展裝置(Intel AMX)僅供光金屬使用,但不久將在虛擬機器上啟用。

wKgaomTv_YiAcr7uAACsIYmzVKU493.png

圖1 圖1AWS EC2(作者圖像)上的第四次Gen Xeon實例清單

在 Google Cloud* 平臺上,您可以從第四 Gen Xeon 可縮放處理器 C3 VMs(圖2)中選擇。

wKgZomTv_Y-ACYqeAABYe4dCC64475.png

圖2 圖2. Google Cloud平臺上的第四 Gen Intel Xeon 可縮放處理器實例列表(作者圖像)

硬件介紹和優(yōu)化

2023年1月釋放了第四 Gen Intel Xeon 處理器,我使用的光金屬實例有兩個插座(每個插座有56個物理核心),504GB內(nèi)存和英特爾 AMX 加速。 我在后端安裝了幾個關鍵庫,以控制和監(jiān)測我在CPU上使用的插座、內(nèi)存和核心:

numactl(與sudo APT- Get 安裝 numactl)

伊利維埃米耶馬洛茨(與安裝 libjemalloc 的 sudo appet- get)

intel- openmp(與conda 安裝 intel- openmp)

gperftotototool 的 gperfftotototo 工具, gperfftototo 工具工具(與conda 安裝 gperftotototool 的 gperfftotototo 工具, gperfftototo 工具工具 - c conda- forge 的 gperftotototool 的 gperfftotototo 工具, gperfftototo 工具工具 - c conda- forge)

PyTorrch PyTorch 和 Intel 擴展的 PyTerch 都有輔助腳本, 因而不需要明確使用intel- openmp和numactl,但是它們確實需要安裝在后端。如果您想要設置它們用于其他工作,這就是我用來用于 OpenMP * 的內(nèi)容。

導出 縮寫(_num) 縮寫(_N)=36 導出 KMP_AFFIY=granciality=fine, compact, 1,0 導出 kmp_ 阻塞時間=1

. 何處縮寫(_num) 縮寫(_N)是分配給該任務的線條數(shù),kmp- 親度影響線條親和設置(包括相互接近的包裝線、釘線狀態(tài)),以及kmp_ 阻塞時間以毫秒設定時間, 空線在睡覺前應該等待時間 。

以下是我用來做的東西numactl …

numactl - C 0-35 - membind=0 train.

在那里... ... 在那里...-C指定要使用和-- memembind -- membind指示程序只使用一個套接字( 在這種情況下, 套接字為 0 ) 。

空間網(wǎng)數(shù)據(jù)

我用的是衛(wèi)星圖像數(shù)據(jù)空間網(wǎng)5挑戰(zhàn)不同城市可免費下載AWS S3桶:

aws s3是 s3://spacenet-dataset/spacenet/SN5_roads/tarballs/ -- -- 人類可讀

2019-09-03 20:59 3.8 GIB SN5_Roads_test_public_AOI_7_Moscow.tar.gz 2019-09-24 08:43:02 3.2 GIB SN5_test_public_AOI_7_Moscow.gz 2019-09-24 08:43:02 GIB SN5_test_ public_AOI_8_San_Juan.tar.gz 2019-09-14 13:13:19-09-14 13:13:3:34.5 GIB SN5_test_rations_train_AOI_8_Mumbai.tar.gz

您可以使用以下命令下載和拆解文件 :

aws s3 cp s3://spacenet-dataset/spacenet/SN5_roads/tarballs/SN5_roads_train_AOI_7_Moscow.tar.gz. tar-xvzf ~/spacenet5data/moscow/SN5_roads_train_AOI_7_Moscow.tar.gz z

數(shù)據(jù)集準備

我使用了莫斯科衛(wèi)星衛(wèi)星圖像數(shù)據(jù)集,該數(shù)據(jù)集由1,352張1,300比1,300像素的1,352張圖像組成,在不同的文本文件中有相應的街道標簽,其中包括8波段多頻譜圖像和3波段RGB圖像。圖3顯示了四種RGB衛(wèi)星圖像樣本及其相應的面具。yped_ masks. py 速度和量從 CRESI 倉庫生成分隔面罩的腳本 。

wKgaomTv_cyAOb5JAAKxR7yiTZM410.png

圖3 圖33. 莫斯科(頂行)的衛(wèi)星圖像3頻道RGB芯片和具有不同速度限制(底排)的對應像素分離面罩(作者圖像)

還有一個JSON配置文件,必須更新其余所有組成部分:培訓和驗證分解、培訓和推論。在此可以找到一個示例配置。我進行了80:20的培訓/驗證分解,確保指向正確的衛(wèi)星圖像文件夾和相應的培訓面具。以GitHub為例的筆記本,.

培訓ResNet34聯(lián)合國模式

我做了一些修改cresi 縮寫為了在CPU上運行并優(yōu)化培訓,以下的代碼描述如下,以便運行在CPU上并優(yōu)化培訓。自定義模型 = nn.DataParallel( 模型). cuda ()與自定義模型 = nn.DataParallel( 模型)和在列列. py腳本中01_tran.py 01_tran.py 01_tran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py刪除腳本irch.randn( 10) cuda ().

為優(yōu)化培訓,增加intel_ extension_ for_ pytorch 導入為 ipex 的 intel_ extension_ for_ pytorch中輸入對帳單的輸入對帳單列列. py在將模型和優(yōu)化器定義如下之后:

自我模型 = nn.DataParallel( 模型) 自我. 優(yōu)化 = 優(yōu)化( 自我. 模型. 參數(shù) (), lr= config. lr)

添加Ex. 優(yōu)化使用 BF16 精度的行, 而不是 FP32:

自我模范,自我優(yōu)化 = ipex. 優(yōu)化(自. model, 優(yōu)化 = self. 優(yōu)化, dtype= torch.bfloat16)

添加一條行, 用于混合精度訓練, 只需在前方過路和計算損失函數(shù)前完成 :

使用 torch. cpu. amp. autocast () : 如果動詞 : 打印 (“ 輸入. shape, 目標. shape : ” , 輸入. shape, 目標. shape ) 輸出 = 自我 。 模型( 輸入) 計量 = self. calculate_ loss_ single_ channel( 輸出、 目標、 計量、 訓練、 超大小 )

現(xiàn)在我們已經(jīng)優(yōu)化了訓練守則, 我們可以開始訓練我們的模型。

喜歡SpaceNet 5 競賽獲勝者,我訓練了一個 ResNet34 編碼器 Unet 解碼器模型。該模型經(jīng)過了圖像網(wǎng)絡重量的預先訓練,而骨干在訓練期間完全解凍。01_tran.py 01_tran.py 01_tran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py但為了控制硬件的使用, 我使用了一個助手腳本。 實際上有兩個助手腳本: 一個是股票 PyTorch 的腳本, 一個是 PyToch 的 Intel 擴展版 。 它們都完成了同樣的事情, 但第一個來自股票的腳本是后端. xeon. run_ cpu,第二個來自 英特爾擴展的PyTorrch是Ipexrun 擴展.

這是我在指揮線上運行的:

python - m short. trachends.xeon. run_ cpu - stinstances 1 -- ncores_per_instance 32  -- log_path/ home/devcloud/spacenet5data/ moscow/v10_xeon4_ devcloud22. 04/logs/run_cpu_logs/home/devcloud/cresi 縮寫/cresi 縮寫/01_train. py / home/devcloud/cresi 縮寫/cresi 縮寫/cresi 縮寫/configs/ ben/v10_xeon4_ baseline_ben.json -- fold=0

Ipexrun 擴展 - stinstance 1 -- ncore_per_instance 32/ home/devcloud/cresi 縮寫/cresi 縮寫/01_tran.py 01_tran.py 01_tran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py/ home/devcloud/cresi 縮寫/cresi 縮寫/cresi 縮寫/configs/ben/v10_xeon4_ baseline_ben.json -- fold=0

在這兩種情況下,我都要求PyTorrch在一個有32個核心的插座上進行訓練。 運行后,我得到一份打印出哪些環(huán)境變量在后端設置,以了解PyTorrch是如何使用硬件的:

INFO - 使用 CDMalloc 內(nèi)存分布器INFO - 縮寫(_num) 縮寫(_N)=32 INFO - 使用 Intel OpenMP InFO - KMP_AFITY=granality=fine, compact, 1,0INFO - KMP_BLOCICTIME=1 INFO - LD_PRELOAD=/ home/devcloud/.conda/env/py39/lib/lib/lib/libclomp5.so:/home/dloud/.conda/env/py39/b/bin/python-u 01_tran.py 01_tran.py 01_tran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.py 01_triran.pycongs/ben/v10_xon4_baseline_ben.jfold=0

在培訓期間,我確保我的完全損失功能正在減少(即模式正在趨于一致,尋找解決辦法)。

推斷

在培訓模型后, 我們可以開始僅從衛(wèi)星圖像中進行預測。 在 evval. py 推斷腳本中, 將導入的 intel_ extension_ for_ pytorch 添加為導入語句的 Ipex 。 在裝入 PyTorch 模型后, 使用 PyTorrch 的 Intel 擴展來優(yōu)化 BF16 推斷的模型 :

模型 = irch.load( os. path. join( path_ model_ 量重, “ fold_ best. pth”.format( fold)), 地圖_ 位置 = lambda 存儲, loc: 存儲) 模型. eval () 模型 = ipex. optimize( 模型, dtype = rch. bfloat16)

在進行預測之前,增加兩行,以達到混雜精度:

使用 torch.no_ grad (): 使用 rch. cpu. amp. autocast (): 用于 pbar 中的數(shù)據(jù) : 樣本 = rch. autograd. 可變( 數(shù)據(jù) [ “ 圖像 , 揮發(fā)性 = True ) 預測 = 預測 (模型、 樣本、 翻頁 = self. flips )

運行推論,我們可以使用02_eval.py現(xiàn)在我們有了經(jīng)過訓練的模型, 我們可以在衛(wèi)星圖像上作出預測(圖4), 我們可以看到它似乎在繪制與圖像相近的道路圖!

wKgZomTv_iOAKEgwAANcd7bv7L4608.png

圖4 圖41. 莫斯科衛(wèi)星圖像和隨附的道路預測(作者圖像)

我意識到我所訓練的模型過于適合莫斯科圖像數(shù)據(jù),贏得此項挑戰(zhàn)的解決方案從六個城市(拉斯維加斯、巴黎、上海、喀土穆、莫斯科、孟買)獲得的數(shù)據(jù)和新城市的表現(xiàn)良好。 在未來,值得測試的一件事就是在所有六個城市進行培訓,并在另一個城市進行推論,以復制其結(jié)果。

關于處理后的說明

還可以采取進一步的后處理步驟,在地圖中添加掩碼作為圖表特征。 您可以在此閱讀關于后處理步驟的更多信息:

空間網(wǎng)5基線——第3部分:從衛(wèi)星圖像中提取公路速度矢量

后處理腳本

結(jié)語

總之,我們:

創(chuàng)建了1 352個圖像培訓面罩(速度限制),與我們的培訓衛(wèi)星圖像數(shù)據(jù)(來自.geojson文本文件標簽)相對應。

定義了用于培訓和推斷的配置文件

將我們的數(shù)據(jù)分成培訓和鑒定組

優(yōu)化了我們的CPU培訓守則,包括使用PyTorch和BF16的Intel擴展

在第四 Gentel Xeon CPU 上培訓了表演者ResNet34 UNet 模型

Ran 初始推論,以看到預測速度限制面罩的速度

您可以找到在此列出第四 Gentel Xeon CPU 的詳細基準.

下一步步驟

使用 PyTorrch 的 Intel 擴展擴展號, 擴展 Intel CPU 的優(yōu)化 :

pip 安裝 intel- extension 用于 Pytorch 的 Intel- extension 設備

git 克隆 https://github.com/intel/intel/intel-extension-for-pytorch

聯(lián)系我 聯(lián)系連連In如果你還有問題要問!

PyTorrch 的 Intel 擴展的更多信息可在此處找到.

獲取軟件

我鼓勵你查查英特爾的另外一個AIAI 工具工具框架框架框架框架優(yōu)化和了解開放、基于標準的單api構(gòu)成英特爾的AI軟件組合基礎的多神多神多神多神多神多造編程模式。

有關第四任英特爾Xeon 縮放可縮放處理器的更多詳情,訪問AI 平臺英特爾是如何授權(quán)開發(fā)商運行高性能、高效端對端的AI管道的。

PyTollch 資源

啟動 PyTork 啟動

D. 討論討論

文檔文件文件


審核編輯:湯梓紅

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

    關注

    19

    文章

    3494

    瀏覽量

    188213
  • AI
    AI
    +關注

    關注

    88

    文章

    34778

    瀏覽量

    277005
  • 圖像分割
    +關注

    關注

    4

    文章

    182

    瀏覽量

    18293
  • pytorch
    +關注

    關注

    2

    文章

    809

    瀏覽量

    13864
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PCB缺陷檢測中圖像分割算法

    圖像分割圖像處理中占有重要的地位,分割結(jié)果的好壞直接影響圖像的后續(xù)處理。本文介紹了4種常用的圖像
    發(fā)表于 06-16 15:31 ?0次下載
    PCB缺陷檢測中<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>算法

    圖像分割—基于圖的圖像分割

    圖像分割—基于圖的圖像分割圖像分割—基于圖的圖像
    發(fā)表于 11-19 16:17 ?0次下載

    基于Matlab圖像分割的研究

    圖像分割圖像處理過渡到圖像分析這個過程中起著非常重要的作用,它是圖像工程的核心,圖像
    發(fā)表于 01-04 15:10 ?0次下載

    基于加速k均值的譜聚類圖像分割算法改進_李昌興

    基于加速k均值的譜聚類圖像分割算法改進_李昌興
    發(fā)表于 03-19 19:25 ?0次下載

    圖像分割圖像邊緣檢測

     圖像分割的研究多年來一直受到人們的高度重視,至今提出了各種類型的分割算法。Pal把圖像分割算法分成了6類:閾值
    發(fā)表于 12-19 09:29 ?1.1w次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>分割</b>和<b class='flag-5'>圖像</b>邊緣檢測

    圖像分割技術(shù)的原理及應用

    圖像分割至今尚無通用的自身理論。隨著各學科許多新理論和新方法的提出,出現(xiàn)了許多與一些特定理論、方法相結(jié)合的圖像分割方法。特征空間聚類法進行圖像
    發(fā)表于 12-19 15:00 ?4.1w次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>分割</b>技術(shù)的原理及應用

    圖像分割的基本方法解析

    本文詳細介紹了圖像分割的基本方法有:基于邊緣的圖像分割方法、閾值分割方法、區(qū)域分割方法、基于圖論
    發(fā)表于 12-20 11:06 ?11.1w次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>分割</b>的基本方法解析

    基于內(nèi)容的圖像分割方法綜述

    圖像分割是指將圖像分成若干具有相似性質(zhì)的區(qū)域的過程,是許多圖像處理任務的預處理步驟.近年來,國內(nèi)外學者主要研究基于圖像內(nèi)容的
    發(fā)表于 01-02 16:52 ?2次下載
    基于內(nèi)容的<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>方法綜述

    PyTorch教程7.2之圖像卷積

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程7.2之圖像卷積.pdf》資料免費下載
    發(fā)表于 06-05 10:13 ?0次下載
    <b class='flag-5'>PyTorch</b>教程7.2之<b class='flag-5'>圖像</b>卷積

    PyTorch教程14.1之圖像增強

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.1之圖像增強.pdf》資料免費下載
    發(fā)表于 06-05 14:24 ?0次下載
    <b class='flag-5'>PyTorch</b>教程14.1之<b class='flag-5'>圖像</b>增強

    PyTorch教程14.9之語義分割和數(shù)據(jù)集

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.9之語義分割和數(shù)據(jù)集.pdf》資料免費下載
    發(fā)表于 06-05 11:10 ?0次下載
    <b class='flag-5'>PyTorch</b>教程14.9之語義<b class='flag-5'>分割</b>和數(shù)據(jù)集

    人體分割識別圖像技術(shù)的原理及應用

    人體分割識別圖像技術(shù)是一種將人體從圖像分割出來,并對人體進行識別和特征提取的技術(shù)。該技術(shù)主要利用計算機視覺和圖像處理算法對人體
    的頭像 發(fā)表于 06-15 17:44 ?1408次閱讀

    什么是圖像分割圖像分割的體系結(jié)構(gòu)和方法

    圖像分割(Image Segmentation)是計算機視覺領域中的一項重要基礎技術(shù),是圖像理解中的重要一環(huán)。前端時間,數(shù)據(jù)科學家Derrick Mwiti在一篇文章中,就什么是圖像
    的頭像 發(fā)表于 08-18 10:34 ?7585次閱讀
    什么是<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>?<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>的體系結(jié)構(gòu)和方法

    圖像分割和語義分割的區(qū)別與聯(lián)系

    圖像分割和語義分割是計算機視覺領域中兩個重要的概念,它們在圖像處理和分析中發(fā)揮著關鍵作用。 1. 圖像
    的頭像 發(fā)表于 07-17 09:55 ?1865次閱讀

    圖像語義分割的實用性是什么

    圖像語義分割是一種重要的計算機視覺任務,它旨在將圖像中的每個像素分配到相應的語義類別中。這項技術(shù)在許多領域都有廣泛的應用,如自動駕駛、醫(yī)學圖像分析、機器人導航等。 一、
    的頭像 發(fā)表于 07-17 09:56 ?864次閱讀
    主站蜘蛛池模板: 国产亚洲欧美日本一二三本道 | 特级一级毛片免费看 | 四虎最新紧急入口4hu | 欧美一区二区三区视频在线观看 | 久久久久国产一级毛片高清版 | 日本黄色短片 | 天天干天天插 | 国产国产成人人免费影院 | 色婷婷色综合激情国产日韩 | 青青青草国产 | 色综合天天综合网国产国产人 | 欧美网站视频 | 黄网站色 | 亚洲最大的黄色网址 | 一本久草 | 在线种子资源网 | 色偷偷91综合久久噜噜 | 国产在线播 | 日本大片免费观看视频 | 黄色网址免费在线 | 久青草免费视频 | 特级片网站 | 日本黄色小视频网站 | 啪啪午夜免费 | 欧美成人黄色 | 怡红院最新网址 | 免费高清在线观看a网站 | 在线观看你懂的网站 | 欧美在线黄 | 在线看片成人 | 操日韩美女 | 国产热re99久久6国产精品 | 女人扒开腿让男人桶到爽 | 黄色在线看网站 | 色妞妞网 | 色老二精品视频在线观看 | 日韩特级片 | 手机在线精品视频 | 日本黄色电影在线 | 四虎午夜剧场 | 四虎影视永久在线 yin56xyz |