当前位置:   article > 正文

在英特尔独立显卡上训练TensorFlow模型_tensorflow-directml-plugin

tensorflow-directml-plugin

作者:武卓,张晶

目录

1.1 英特尔锐炫™独立显卡简介

1.2 蝰蛇峡谷简介

1.3 搭建训练TensorFlow模型的开发环境

1.3.1 Windows 版本要求:

 1.3.2 下载并安装最新的项特尔显卡驱动

1.3.3 下载并安装Anaconda

1.3.4 安装TensorFlow2

1.3.5 安装tensorflow-directml-plugin

1.4 在英特尔独立显卡上训练TensorFlow模型

1.4.1 下载并解压flower数据集

1.4.2 下载训练代码启动训练

1.5 总结


        本文将基于蝰蛇峡谷(Serpent Canyon) 详细介绍如何在英特尔独立显卡上训练TensorFlow模型的全流程。

1.1 英特尔锐炫™独立显卡简介

        英特尔锐炫™ 显卡基于Xe-HPG 微架构,Xe HPG GPU 中的每个 Xe 内核都配置了一组 256 位矢量引擎,旨在加速传统图形和计算工作负载,以及新的 1024 位矩阵引擎或 Xe 矩阵扩展,旨在加速人工智能工作负载

1.2 蝰蛇峡谷简介

        蝰蛇峡谷(Serpent Canyon) 是一款性能强劲,并且体积小巧的高性能迷你主机,搭载全新一代混合架构的第 12 代智能英特尔® 酷睿™ 处理器,并且内置了英特尔锐炫™ A770M 独立显卡

1.3 搭建训练TensorFlow模型的开发环境

1.3.1 Windows 版本要求:

        训练TensorFlow所依赖的软件包TensorFlow-DirectML-Plugin 包要求:

  • Windows 10的版本≥1709
  • Windows 11的版本≥21H2

        用“Windows logo 键+ R键”启动“运行”窗口,然后输入命令“winver”可以查得Windows版本。

 1.3.2 下载并安装最新的项特尔显卡驱动

        到Intel官网下载并安装最新的英特尔显卡驱动。驱动下载链接:https://www.intel.cn/content/www/cn/zh/download/726609/intel-arc-iris-xe-graphics-whql-windows.html。

1.3.3 下载并安装Anaconda

        下载并安装Python虚拟环境和软件包管理工具Anaconda:Anaconda | The World's Most Popular Data Science Platform

        安装完毕后,用下面的命令创建并激活虚拟环境tf2_a770:

1.3.4 安装TensorFlow2

        在虚拟环境tf2_a770中安装TensorFlow 2.10。需要注意的是:tensorflow-directml-plugin软件包当前只支持TensorFlow 2.10。

pip install tensorflow-cpu==2.10

1.3.5 安装tensorflow-directml-plugin

        在虚拟环境tf2_a770中安装tensorflow-directml-plugin,这是一个在Windows平台上的机器学习训练加速软件包。

pip install tensorflow-directml-plugin

        到此,在Windows平台上用英特尔独立显卡训练TensorFlow模型的开发环境配置完毕

1.4 在英特尔独立显卡上训练TensorFlow模型

1.4.1 下载并解压flower数据集

        用下载器(例如,迅雷)下载并解压flower数据集,下载链接:https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz

 

1.4.2 下载训练代码启动训练

        请下载tf2_training_on_A770.py并放入flower_photos同一个文件夹下运行。

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

  1. from pathlib import Path
  2. import tensorflow as tf
  3. data_dir = Path("flower_photos")
  4. image_count = len(list(data_dir.glob('*/*.jpg')))
  5. print("Number of image files:", image_count)
  6. # 导入Flower数据集
  7. train_ds = tf.keras.utils.image_dataset_from_directory(data_dir, validation_split=0.2,
  8. subset="training", seed=123, image_size=(180, 180), batch_size=32)
  9. 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)
  10. # 启动预取和数据缓存
  11. train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=tf.data.AUTOTUNE)
  12. val_ds = val_ds.cache().prefetch(buffer_size=tf.data.AUTOTUNE)
  13. # 创建模型
  14. model = tf.keras.Sequential([
  15. tf.keras.layers.Rescaling(1./255),
  16. tf.keras.layers.Conv2D(16, 3, padding='same', activation='relu'),
  17. tf.keras.layers.MaxPooling2D(),
  18. tf.keras.layers.Conv2D(32, 3, padding='same', activation='relu'),
  19. tf.keras.layers.MaxPooling2D(),
  20. tf.keras.layers.Conv2D(64, 3, padding='same', activation='relu'),
  21. tf.keras.layers.MaxPooling2D(),
  22. tf.keras.layers.Dropout(0.2),
  23. tf.keras.layers.Flatten(),
  24. tf.keras.layers.Dense(128, activation='relu'),
  25. tf.keras.layers.Dense(5)
  26. ])
  27. # 编译模型
  28. model.compile(optimizer='adam',
  29. loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
  30. metrics=['accuracy'])
  31. #训练模型
  32. model.fit(train_ds,validation_data=val_ds,epochs=20)

运行结果,如下图所示:

1.5 总结

        英特尔独立显卡支持TensorFlow模型训练。下一篇文章,我们将介绍在英特尔独立显卡上训练PyTorch模型。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号