0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在英特尔独立显卡上训练TensorFlow模型的全流程

英特尔物联网 来源:英特尔物联网 2023-01-12 15:32 次阅读

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

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

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

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

1.2 蝰蛇峡谷简介

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

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

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

Windows 版本要求

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

Windows 10的版本≥1709

Windows 11的版本≥21H2

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

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

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

到英特尔官网下载并安装最新的英特尔显卡驱动。驱动下载链接:

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

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数据集
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)

向右滑动查看完整代码

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

总结

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    60

    文章

    9425

    浏览量

    168858
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47697
  • tensorflow
    +关注

    关注

    13

    文章

    313

    浏览量

    60242

原文标题:在英特尔独立显卡上训练TensorFlow模型 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英伟达显卡英特尔显卡哪个好

    英伟达(NVIDIA)和英特尔(Intel)在显卡领域都有各自的优势和特点,具体哪个更好取决于您的需求和预算。
    的头像 发表于 03-01 17:26 1723次阅读

    英特尔:2025年全球AIPC将超1亿台占比20%

    英特尔行业资讯
    北京中科同志科技股份有限公司
    发布于 :2024年02月29日 09:15:26

    英特尔1nm投产时间曝光!领先于台积电

    英特尔行业芯事
    深圳市浮思特科技有限公司
    发布于 :2024年02月28日 16:28:32

    英特尔登顶2023年全球半导体榜单之首

    英特尔行业芯事
    深圳市浮思特科技有限公司
    发布于 :2024年02月01日 11:55:16

    #高通 #英特尔 #Elite 高通X Elite芯片或终结苹果、英特尔的芯片王朝

    高通英特尔苹果
    深圳市浮思特科技有限公司
    发布于 :2023年10月27日 16:46:07

    英特尔锐炫A580显卡全球同步上市

    锐炫独立显卡产品组合中的中端选择,可以在1080p高画质下为时下热门游戏提供优异的性能表现,在电竞游戏中打造高帧率体验,并具有全面综合的媒体功能。 英特尔锐炫A580显卡采用AI加持的
    的头像 发表于 10-13 21:10 303次阅读
    <b class='flag-5'>英特尔</b>锐炫A580<b class='flag-5'>显卡</b>全球同步上市

    使用OpenVINO优化并部署训练好的YOLOv7模型

    在《英特尔锐炫 显卡+ oneAPI 和 OpenVINO 实现英特尔 视频 AI 计算盒训推一体-上篇》一文中,我们详细介绍基于英特尔 独立
    的头像 发表于 08-25 11:08 923次阅读
    使用OpenVINO优化并部署<b class='flag-5'>训练</b>好的YOLOv7<b class='flag-5'>模型</b>

    为什么无法使用POT优化Tensorflow (TF)或MXNet模型

    无法使用 POT 优化 Tensorflow (TF) 或 MXNet 模型,以便在 英特尔凌动® 平台上使用 OpenVINO™ 工具套件进行推理。 运行 pot -h。 接收错误消息: 非法指令例外
    发表于 08-15 08:05

    OpenVINO使用omz_converter转换ssdlite_mobilenet_v2时,没有名称为tensorflow的模块怎么解决?

    在 WSL2 Ubuntu 20.04 安装了 OpenVINO™ Toolkit PIP 开发人员软件包 的英特尔 Distribution。 使用 omz_downloader 下载
    发表于 08-15 06:14

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道解决方案。该用户指南将介绍和解释如何为Linux* 使用
    发表于 08-04 06:34

    如何使用TensorFlow将神经网络模型部署到移动或嵌入式设备

    有很多方法可以将经过训练的神经网络模型部署到移动或嵌入式设备。不同的框架在各种平台上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如And
    发表于 08-02 06:43

    英伟达 H100 vs 苹果M2 大模型训练,哪款性价比更高?

    训练和微调大型语言模型对于硬件资源的要求非常高。目前,主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。然而,最近苹果的M2 Ul
    的头像 发表于 07-28 16:11 2255次阅读
    英伟达 H100 vs 苹果M2 大<b class='flag-5'>模型</b><b class='flag-5'>训练</b>,哪款性价比更高?

    何在英特尔® 平台上实现高效的大语言模型训练后量化

    本文介绍了可提升大语言模型训练后量化表现的增强型 SmoothQuant 技术,说明了这项技术的用法,并证明了其在准确率方面的优势。此方法已整合至 英特尔  Neural Compressor
    的头像 发表于 07-14 20:10 567次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>英特尔</b>® 平台上实现高效的大语言<b class='flag-5'>模型</b><b class='flag-5'>训练</b>后量化

    英特尔锐炫Pro图形显卡上新!

    英特尔推出两款全新英特尔锐炫Pro图形显卡;搭载英特尔锐炫Pro A40图形显卡的系统现已出货。 全新发布:
    的头像 发表于 06-21 13:10 451次阅读
    <b class='flag-5'>英特尔</b>锐炫Pro图形<b class='flag-5'>显卡</b>上新!

    英特尔锐炫Pro图形显卡上新!

    英特尔推出两款全新英特尔锐炫Pro图形显卡;搭载英特尔锐炫Pro A40图形显卡的系统现已出货。 全新发布:
    的头像 发表于 06-09 20:30 471次阅读