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

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

蝰蛇峽谷(Serpent Canyon) 是一款性能強勁,并且體積小巧的高性能迷你主機,搭載全新一代混合架構的第 12 代智能英特爾 酷睿 處理器,并且內置了英特爾 銳炫 A770M 獨立顯卡。
搭建訓練 TensorFlow 模型的開發環境
Windows 版本要求
訓練 TensorFlow 所依賴的軟件包 TensorFlow-DirectML-Plugin 包要求:
Windows 10的版本≥1709
Windows 11的版本≥21H2
用“Windows logo 鍵+ R鍵”啟動“運行”窗口,然后輸入命令“winver”可以查得Windows版本。

下載并安裝最新的英特爾顯卡驅動
到英特爾官網下載并安裝最新的英特爾顯卡驅動。驅動下載鏈接:
https://www.intel.cn/content/www/cn/zh/download/726609/intel-arc-iris-xe-graphics-whql-windows.html
下載并安裝Anaconda
下載并安裝 Python 虛擬環境和軟件包管理工具Anaconda:
https://www.anaconda.com/
安裝完畢后,用下面的命令創建并激活虛擬環境tf2_a770:
conda create --name tf2_a770 python=3.9 conda activate tf2_a770
向右滑動查看完整代碼
安裝TensorFlow2
在虛擬環境 tf2_a770 中安裝 TensorFlow 2.10。需要注意的是:tensorflow-directml-plugin軟件包當前只支持TensorFlow 2.10。
pip install tensorflow-cpu==2.10
向右滑動查看完整代碼
安裝 tensorflow-directml-plugin
在虛擬環境 tf2_a770 中安裝 tensorflow-directml-plugin,這是一個在 Windows 平臺上的機器學習訓練加速軟件包。
// @brief 加載推理數據
// @param input_node_name 輸入節點名
// @param input_data 輸入數據數組
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 加載圖片推理數據
// @param input_node_name 輸入節點名
// @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 模型的開發環境配置完畢。
在英特爾獨立顯卡上訓練 TensorFlow 模型
下載并解壓 flower 數據集
用下載器(例如,迅雷)下載并解壓 flower 數據集,下載鏈接:
https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz

下載訓練代碼啟動訓練
請下載 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數據集
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)
# 啟動預取和數據緩存
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=tf.data.AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=tf.data.AUTOTUNE)
# 創建模型
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)
向右滑動查看完整代碼

總結
英特爾獨立顯卡支持 TensorFlow 模型訓練。下一篇文章,我們將介紹在英特爾獨立顯卡上訓練 PyTorch 模型。
審核編輯 :李倩
-
英特爾
+關注
關注
61文章
10296瀏覽量
180090 -
模型
+關注
關注
1文章
3729瀏覽量
52019 -
tensorflow
+關注
關注
13文章
334瀏覽量
62053
原文標題:在英特爾獨立顯卡上訓練TensorFlow模型 | 開發者實戰
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
英特爾Gaudi 2E AI加速器為DeepSeek-V3.1提供加速支持
硬件與應用同頻共振,英特爾Day 0適配騰訊開源混元大模型
新思科技與英特爾在EDA和IP領域展開深度合作
如何在Ubuntu上安裝NVIDIA顯卡驅動?
更高效更安全的商務會議:英特爾聯合海信推出會議領域新型垂域模型方案
部署成本顯著降低!英特爾助陣高效AI算力一體機方案
請問如何在imx8mplus上部署和運行YOLOv5訓練的模型?
用PaddleNLP為GPT-2模型制作FineWeb二進制預訓練數據集
憶聯PCIe 5.0 SSD支撐大模型全流程訓練
為什么無法檢測到OpenVINO?工具套件中的英特爾?集成圖形處理單元?
請問OpenVINO?工具套件英特爾?Distribution是否與Windows? 10物聯網企業版兼容?
英特爾賦能DeepSeek本地運行,助力汽車升級“最強大腦”
探索座艙“未至之境”:英特爾支持DeepSeek車內本地運行
如何在英特爾獨立顯卡上訓練TensorFlow模型的全流程
評論