Tensorflow入门与实战学习笔记(八)--Eager模式

2023-10-31 22:30

本文主要是介绍Tensorflow入门与实战学习笔记(八)--Eager模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1 前言:

2 简介:

2.1 Eager模式方便学习以及模型调试

2.2 Eager模式运行特点

2.3 Eager模式中梯度的计算

3 .Eager模块的演示代码

4 变量与自动微分运算实例

5 自定义训练

注意:测试数据不需要乱序

tf.keras.metrics 汇总计算模块


1 前言:

我们学会使用了keras提供的api实现神经网络,可是由于他封装的太好了,对于自定义的循环与自定义的训练是不友好的

我们可以使用Eage,再循环中使用Eager

2 简介:

TensorFlow的eager模式是一个命令式编程环境,它使得我们可以立即评估操作产生的结果,而无需构建计算图

Eager与图运算模式:

简单的说:图运算就相当于把每一步的绘制出来,Eager则可以直接得出结果

2.1 Eager模式方便学习以及模型调试

Eager模式极大的方便我们使用TensorFlow调试模型,增加了网络调试的灵活程度和tensorflow对于初学者友好性。 在这里我们可以叫它 tensorflow的交互模式

Eager模式提供了一个灵活的研究和实验机器学习平台 提供:
  • 直观的界面 - 自然地构建代码并使用Python数据结构 。
  • 快速迭代小型模型和小型数据。

更容易调试 -在交互式环境中直接检查、运行模型、测试变化。这个过程中代码会即时错误报告

 

自然控制流 - eager模式下使用Python控制流而不是 图控制流,简化了动态模型的创建。

热切执行支持大多数TensorFlow操作和GPU加速。

2.2 Eager模式运行特点

  • eager模式下,TensorFlow操作会立即执行并将其值返回给Python(后面请查看例子)。
  • tf.Tensor对象引用具体值而不是计算图中节点的符号句柄(可以进行修改)。
  • Eager模式下Tensorflow可与NumPy很好地协作。 TensorFlow 数学运算可将Python对象和NumPy数组
  • 转换为tf.Tensor对象。 而 tf.Tensor.numpy方法将对象的值作为NumPy返回 ndarray

2.3 Eager模式中梯度的计算

在Eager模式中,使用tf.GradientTape跟踪计算梯度的操作

由于在每次执行可能发生不同的操作,所有前向传递操作都被记录到Tape上。要计算渐变,就往后播放磁带然后丢弃特定的tf.GradientTape只能计算一个梯度; 后续调用会引发运行时错误(RUNTIMEERROR)。 也可以设置可重复调用

3 .Eager模块的演示代码

 

 

  1. tf.multiply() 两个矩阵中对应元素各自相乘
  2. tf.matmul()将矩阵a乘以矩阵b,生成a * b

4 变量与自动微分运算实例

5 自定义训练

 

未训练的时候

训练之后:

注意:测试数据不需要乱序

 

tf.keras.metrics 汇总计算模块

可以求均值m = tf.keras.metrics.Mean('acc')

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

这篇关于Tensorflow入门与实战学习笔记(八)--Eager模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_37457202/article/details/107915518
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/318563

相关文章

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操