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

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

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

如何在英特爾獨立顯卡上訓練TensorFlow模型的全流程

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-01-12 15:32 ? 次閱讀

本文將基于蝰蛇峽谷(Serpent Canyon) 詳細介紹如何在英特爾獨立顯卡上訓練 TensorFlow 模型的全流程。

1.1 英特爾 銳炫 獨立顯卡簡介

38200bf4-9244-11ed-bfe3-dac502259ad0.png

英特爾 銳炫 顯卡基于 Xe-HPG 微架構,Xe HPG GPU 中的每個 Xe 內(nèi)核都配置了一組 256 位矢量引擎,旨在加速傳統(tǒng)圖形和計算工作負載,以及新的 1024 位矩陣引擎或 Xe 矩陣擴展,旨在加速人工智能工作負載。

1.2 蝰蛇峽谷簡介

389abb60-9244-11ed-bfe3-dac502259ad0.png

蝰蛇峽谷(Serpent Canyon) 是一款性能強勁,并且體積小巧的高性能迷你主機,搭載全新一代混合架構的第 12 代智能英特爾 酷睿 處理器,并且內(nèi)置了英特爾 銳炫 A770M 獨立顯卡。

搭建訓練 TensorFlow 模型的開發(fā)環(huán)境

Windows 版本要求

訓練 TensorFlow 所依賴的軟件包 TensorFlow-DirectML-Plugin 包要求:

Windows 10的版本≥1709

Windows 11的版本≥21H2

用“Windows logo 鍵+ R鍵”啟動“運行”窗口,然后輸入命令“winver”可以查得Windows版本。

38cefb50-9244-11ed-bfe3-dac502259ad0.png

下載并安裝最新的英特爾顯卡驅(qū)動

到英特爾官網(wǎng)下載并安裝最新的英特爾顯卡驅(qū)動。驅(qū)動下載鏈接:

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

下載并安裝Anaconda

下載并安裝 Python 虛擬環(huán)境和軟件包管理工具Anaconda:

https://www.anaconda.com/

安裝完畢后,用下面的命令創(chuàng)建并激活虛擬環(huán)境tf2_a770:

conda create --name tf2_a770 python=3.9
conda activate tf2_a770

向右滑動查看完整代碼

安裝TensorFlow2

在虛擬環(huán)境 tf2_a770 中安裝 TensorFlow 2.10。需要注意的是:tensorflow-directml-plugin軟件包當前只支持TensorFlow 2.10

pip install tensorflow-cpu==2.10

向右滑動查看完整代碼

安裝 tensorflow-directml-plugin

在虛擬環(huán)境 tf2_a770 中安裝 tensorflow-directml-plugin,這是一個在 Windows 平臺上的機器學習訓練加速軟件包。

 // @brief 加載推理數(shù)據(jù)
    // @param input_node_name 輸入節(jié)點名
    // @param input_data 輸入數(shù)據(jù)數(shù)組
    public void load_input_data(string input_node_name, float[] input_data) {
      ptr = NativeMethods.load_input_data(ptr, input_node_name, ref input_data[0]);
    }
    // @brief 加載圖片推理數(shù)據(jù)
    // @param input_node_name 輸入節(jié)點名
    // @param image_data 圖片矩陣
    // @param image_size 圖片矩陣長度
    public void load_input_data(string input_node_name, byte[] image_data, ulong image_size, int type) {
      ptr = NativeMethods.load_image_input_data(ptr, input_node_name, ref image_data[0], image_size, type);
    }

向右滑動查看完整代碼

到此,在 Windows 平臺上用英特爾獨立顯卡訓練 TensorFlow 模型的開發(fā)環(huán)境配置完畢。

在英特爾獨立顯卡上訓練 TensorFlow 模型

下載并解壓 flower 數(shù)據(jù)集

用下載器(例如,迅雷)下載并解壓 flower 數(shù)據(jù)集,下載鏈接:

https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz

38e7ba50-9244-11ed-bfe3-dac502259ad0.png

下載訓練代碼啟動訓練

請下載 tf2_training_on_A770.py 并放入 flower_photos 同一個文件夾下運行。鏈接:

https://gitee.com/ppov-nuc/training_on_intel_GPU/blob/main/tf2_training_on_A770.py

from pathlib import Path
import tensorflow as tf
data_dir = Path("flower_photos")
image_count = len(list(data_dir.glob('*/*.jpg')))
print("Number of image files:", image_count)
# 導入Flower數(shù)據(jù)集
train_ds = tf.keras.utils.image_dataset_from_directory(data_dir, validation_split=0.2,
 subset="training", seed=123, image_size=(180, 180), batch_size=32)
val_ds = tf.keras.utils.image_dataset_from_directory(data_dir, validation_split=0.2, subset="validation", seed=123, image_size=(180, 180), batch_size=32)
# 啟動預取和數(shù)據(jù)緩存
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=tf.data.AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=tf.data.AUTOTUNE)
# 創(chuàng)建模型
model = tf.keras.Sequential([
 tf.keras.layers.Rescaling(1./255),
 tf.keras.layers.Conv2D(16, 3, padding='same', activation='relu'),
 tf.keras.layers.MaxPooling2D(),
 tf.keras.layers.Conv2D(32, 3, padding='same', activation='relu'),
 tf.keras.layers.MaxPooling2D(),
 tf.keras.layers.Conv2D(64, 3, padding='same', activation='relu'),
 tf.keras.layers.MaxPooling2D(),
 tf.keras.layers.Dropout(0.2),
 tf.keras.layers.Flatten(),
 tf.keras.layers.Dense(128, activation='relu'),
 tf.keras.layers.Dense(5)
])
# 編譯模型
model.compile(optimizer='adam',
 loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
 metrics=['accuracy'])
#訓練模型
model.fit(train_ds,validation_data=val_ds,epochs=20)

向右滑動查看完整代碼

390bbbd0-9244-11ed-bfe3-dac502259ad0.png

總結(jié)

英特爾獨立顯卡支持 TensorFlow 模型訓練。下一篇文章,我們將介紹在英特爾獨立顯卡上訓練 PyTorch 模型。

審核編輯 :李倩

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

    關注

    61

    文章

    9992

    瀏覽量

    172009
  • 模型
    +關注

    關注

    1

    文章

    3277

    瀏覽量

    48957
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60557

原文標題:在英特爾獨立顯卡上訓練TensorFlow模型 | 開發(fā)者實戰(zhàn)

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

收藏 人收藏

    評論

    相關推薦

    英特爾CEO霍爾索斯于CES 2025重申獨立顯卡市場戰(zhàn)略

    近日,在CES 2025的主題演講中,英特爾新任聯(lián)席首席執(zhí)行官米歇爾-約翰斯頓-霍爾索斯向與會者強調(diào):“獨立顯卡市場對我們至關重要,我們將持續(xù)在該領域進行戰(zhàn)略投資?!边@一表態(tài)無疑是對外界關于
    的頭像 發(fā)表于 01-08 14:31 ?107次閱讀

    使用英特爾AI PC為YOLO模型訓練加速

    之后,情況有了新的變化,PyTorch2.5正式開始支持英特爾顯卡,也就是說,此后我們能夠借助英特爾 銳炫 顯卡來進行模型
    的頭像 發(fā)表于 12-09 16:14 ?416次閱讀
    使用<b class='flag-5'>英特爾</b>AI PC為YOLO<b class='flag-5'>模型</b><b class='flag-5'>訓練</b>加速

    英特爾推出全新英特爾銳炫B系列顯卡

    英特爾銳炫B580和B570 GPU以卓越價值為時新游戲帶來超凡表現(xiàn)。 ? > 今日,英特爾發(fā)布全新英特爾銳炫 B系列顯卡(代號Battlemage)。
    的頭像 發(fā)表于 12-07 10:16 ?843次閱讀
    <b class='flag-5'>英特爾</b>推出全新<b class='flag-5'>英特爾</b>銳炫B系列<b class='flag-5'>顯卡</b>

    英特爾聯(lián)合中科創(chuàng)達構建下一代智能座艙平臺

    近日,英特爾 AI 座艙暨車載獨立顯卡發(fā)布會在深圳盛大舉行。英特爾震撼發(fā)布其首款車載獨立顯卡 d
    的頭像 發(fā)表于 11-17 11:11 ?539次閱讀

    使用PyTorch在英特爾獨立顯卡訓練模型

    《PyTorch 2.5重磅更新:性能優(yōu)化+新特性》中的一個新特性就是:正式支持在英特爾獨立顯卡訓練
    的頭像 發(fā)表于 11-01 14:21 ?618次閱讀
    使用PyTorch在<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>

    英特爾聚焦AI座艙

    英特爾推出首款銳炫車載獨立顯卡(dGPU)和第一代英特爾軟件定義車載SoC系列,滿足當前消費者對汽車內(nèi)部配備更多屏幕、獲得更高清晰度等AI座艙體驗需求。
    的頭像 發(fā)表于 10-30 16:26 ?232次閱讀

    支持140億參數(shù)AI模型,229TOPS!英特爾重磅發(fā)布第一代車載獨立顯卡

    英特爾院士、英特爾公司副總裁、汽車事業(yè)部總經(jīng)理Jack Weast指出,在今年的CES,英特爾發(fā)布了第一代AI增強型軟件定義車載SoC。8月8日,
    的頭像 發(fā)表于 08-12 09:07 ?1w次閱讀
    支持140億參數(shù)AI<b class='flag-5'>模型</b>,229TOPS!<b class='flag-5'>英特爾</b>重磅發(fā)布第一代車載<b class='flag-5'>獨立</b><b class='flag-5'>顯卡</b>

    英特爾發(fā)布第一代車載銳炫獨立顯卡

    英特爾震撼發(fā)布其第一代車載英特爾銳炫獨立顯卡,標志著智能座艙技術邁入全新階段。這款顯卡平臺算力高達229TOPS,不僅支持多達8塊
    的頭像 發(fā)表于 08-09 14:54 ?556次閱讀

    英特爾正式推出第一代車載獨立顯卡

    8月8日,英特爾公司正式推出首款英特爾銳炫?車載獨立顯卡(dGPU),以重塑汽車行業(yè)格局。這一全新產(chǎn)品將賦能汽車廠商打造下一代車載體驗,以滿足并超越當前消費者對汽車內(nèi)部配備更多屏幕、獲
    的頭像 發(fā)表于 08-09 09:27 ?7241次閱讀
    <b class='flag-5'>英特爾</b>正式推出第一代車載<b class='flag-5'>獨立</b><b class='flag-5'>顯卡</b>

    tensorflow簡單的模型訓練

    在本文中,我們將詳細介紹如何使用TensorFlow進行簡單的模型訓練。TensorFlow是一個開源的機器學習庫,廣泛用于各種機器學習任務,包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發(fā)表于 07-05 09:38 ?732次閱讀

    何在TensorFlow中構建并訓練CNN模型

    TensorFlow中構建并訓練一個卷積神經(jīng)網(wǎng)絡(CNN)模型是一個涉及多個步驟的過程,包括數(shù)據(jù)預處理、模型設計、編譯、訓練以及評估。下面
    的頭像 發(fā)表于 07-04 11:47 ?1014次閱讀

    網(wǎng)友成功在Arm架構平臺運行英特爾銳炫A750顯卡

    值得注意的是,英特爾獨立顯卡源于核心顯卡,因此在長期使用的“i915”Linux系統(tǒng)內(nèi)核驅(qū)動中,積累了許多與x86架構緊密相關的特性。
    的頭像 發(fā)表于 05-13 15:54 ?692次閱讀

    英特爾下代銳炫ARC顯卡明年或難問世?

    據(jù)了解,英特爾 ARC 銳炫系列 DG3 獨立顯卡將使用 Xe2-HPG 架構,代號為 Battlemage,旨在替代 2022 年發(fā)布的 Alchemist 系列 DG2 獨立
    的頭像 發(fā)表于 05-06 16:57 ?846次閱讀

    m3芯片相當于英特爾幾代cpu m3芯片相當于英特爾什么顯卡

    m3芯片相當于英特爾幾代cpu 關于m3芯片相當于英特爾幾代cpu的問題,實際并沒有一個準確的答案,因為不同的芯片制造商與英特爾的CPU產(chǎn)品線在性能、架構和用途等方面都存在一定的差異
    的頭像 發(fā)表于 03-11 18:13 ?1.4w次閱讀

    英偉達顯卡英特爾顯卡哪個好

    英偉達(NVIDIA)和英特爾(Intel)在顯卡領域都有各自的優(yōu)勢和特點,具體哪個更好取決于您的需求和預算。
    的頭像 發(fā)表于 03-01 17:26 ?7574次閱讀