【机器学习】TensorFlow编程基础


鑫宝Code

🌈个人主页: 鑫宝Code
🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础
💫个人格言: "如无必要,勿增实体"


文章目录

  • TensorFlow编程基础
    • 张量(Tensor)
    • 计算图(Computational Graph)
    • 会话(Session)
    • 基本数学运算

TensorFlow编程基础

TensorFlow是一个由Google Brain团队开发的开源人工智能框架,用于构建和训练深度学习模型。它具有强大的数值计算能力,并支持在CPU和GPU上高效运行。本文将介绍TensorFlow编程的基础知识,包括张量(Tensor)的概念、计算图(Computational Graph)、会话(Session)等核心组件,以及一些基本的数学运算。
在这里插入图片描述

张量(Tensor)

在TensorFlow中,数据被表示为张量(Tensor)的形式。张量是一个多维数组或列表,其中的元素可以是不同的数据类型,如浮点数、整数或字符串等。张量的阶数(rank)表示其维度的数量,形状(shape)则描述了每个维度的大小。

例如,一个标量(scalar)是一个0阶张量,一个向量(vector)是一个1阶张量,一个矩阵(matrix)是一个2阶张量,以此类推。

我们可以使用tf.constant()函数创建一个常量张量:
在这里插入图片描述

scalar = tf.constant(3.14)
vector = tf.constant([1.0, 2.0, 3.0])
matrix = tf.constant([[1.0, 2.0], [3.0, 4.0]])

计算图(Computational Graph)

TensorFlow使用计算图来表示数学计算过程。计算图是由一系列节点(Node)和边(Edge)组成的有向图,其中节点代表操作(Operation),边则表示操作之间的依赖关系。

在TensorFlow中,我们首先构建计算图,然后在会话(Session)中执行计算图中的操作。这种延迟执行(Deferred Execution)的方式使得TensorFlow能够优化计算过程,并支持在多种设备(如CPU、GPU或TPU)上高效运行。

下面是一个简单的计算图示例,它计算两个常量张量的和:
在这里插入图片描述

import tensorflow as tfa = tf.constant(3.0)
b = tf.constant(4.0)
c = a + bwith tf.Session() as sess:result = sess.run(c)print(result)  # Output: 7.0

在上面的代码中,我们首先创建了两个常量张量ab,然后定义了一个操作c来计算它们的和。接着,我们在会话(Session)中执行操作c,并获取计算结果。

会话(Session)

会话(Session)是TensorFlow中用于执行计算图的主要机制。它负责分配资源(如内存和计算设备),并在计算图中执行操作。

我们可以使用tf.Session()创建一个会话对象,然后调用其run()方法来执行计算图中的操作。run()方法接受一个或多个操作作为输入,并返回相应的计算结果。

import tensorflow as tfx = tf.constant(2.0)
y = tf.constant(3.0)
z = x * ywith tf.Session() as sess:result = sess.run(z)print(result)  # Output: 6.0

在上面的示例中,我们创建了一个会话,并在其中执行了乘法操作z

基本数学运算

TensorFlow提供了广泛的数学运算,包括基本的算术运算、矩阵运算、统计函数等。这些运算都是通过计算图中的操作节点来实现的。

下面是一些常见的数学运算示例:

算术运算

import tensorflow as tfa = tf.constant(3.0)
b = tf.constant(4.0)# 加法
c = tf.add(a, b)# 减法
d = tf.subtract(b, a)# 乘法
e = tf.multiply(a, b)# 除法
f = tf.divide(b, a)with tf.Session() as sess:print(sess.run(c))  # Output: 7.0print(sess.run(d))  # Output: 1.0print(sess.run(e))  # Output: 12.0print(sess.run(f))  # Output: 1.3333333

矩阵运算

import tensorflow as tfa = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[2.0, 1.0], [3.0, 2.0]])# 矩阵乘法
c = tf.matmul(a, b)with tf.Session() as sess:print(sess.run(c))# Output:# [[8. 5.]#  [18. 13.]]

统计函数

import tensorflow as tfa = tf.constant([1.0, 2.0, 3.0, 4.0])# 求和
sum_a = tf.reduce_sum(a)# 平均值
mean_a = tf.reduce_mean(a)with tf.Session() as sess:print(sess.run(sum_a))  # Output: 10.0print(sess.run(mean_a))  # Output: 2.5

除了上述示例,TensorFlow还提供了许多其他数学运算,如三角函数、指数函数、向量运算等,详细内容可以参考TensorFlow的官方文档。

通过掌握张量、计算图、会话以及基本的数学运算,我们就可以开始使用TensorFlow构建和训练深度学习模型了。在后续的文章中,我们将继续探讨更高级的主题,如神经网络模型、训练技巧、模型部署等。

End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147904.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

数据包签名校验的Web安全测试实践

01 测试场景 在金融类的Web安全测试中,经常可以见到Web请求和响应数据包加密和签名保护,由于参数不可见,不能重放请求包,这类应用通常不能直接进行有效的安全测试,爬虫也爬不到数据。 02 解决思路 对于这类应用&am…

STaR: Bootstrapping Reasoning With Reasoning

STaR: Bootstrapping Reasoning With Reasoning 基本信息 博客贡献人 燕青 作者 Eric Zelikman, Yuhuai Wu, Jesse Mu, et al. from Stanford University and Google Research 标签 Large Language Model, Chain-of-thought, Fine-tuning 摘要 生成逐步的“思维链”逻…

揭秘!高校如何逆袭,在算法与科技竞技场中脱颖而出?

目录 揭秘!高校如何逆袭,在算法与科技竞技场中脱颖而出? 一、算法秘境:深度挖掘,教学相长 二、跨界融合:场景为王,合作共赢 企业和高校之间在:场景,算法,数据,算力的优势,高校优势不明显,仅仅在算法方面存在一些优势但并不明显。高校怎样做 揭秘!高校如何逆袭…

2024最新盘点:国内外主流的10款流程管理系统!

本文将盘点十款流程管理系统,为企业选型提供参考! 想象一下,在一个企业中,各个部门的工作流程混乱,审批环节繁琐,信息传递不及时。这时,流程管理系统就如同一位高效的指挥官,将企业的…

软件测试干了5年,都白忙活了。。。

本科非计算机专业,在深圳做了5年软件测试工作,从一开始一脸懵的点点点,到现在会自动化测试了,浅谈一下从事软件测试的一点点心得体会,仅供参考交流。如果你本科且非计算机专业的话可以试下(但就目前环境建议…

使用Fiddler Classic抓包工具批量下载音频资料

1. 通过F12开发者工具,下载音频文件 浏览器打开音频列表->F12快捷键->网络->媒体,播放一个音频文件,右边媒体下生成一个音频文件,右击“在新标签页中打开”,可以下载这个音频文件。 2.通过Fiddler Classic抓…

简单题100. 相同的树 (python)20240922

问题描述: python: # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right rightclass Solution(object)…

浅谈EXT2文件系统----inode table

Inode table概述 在 EXT2 文件系统中,inode 表(Inode Table)是一个非常重要的结构,用于存储文件和目录的元数据。每个文件和目录都由一个 inode(索引节点)来表示,inode 中包含了关于该文件或目…

中兴交换机三层配置

中兴交换机三层配置 目的:将1-10端口划分到3001vlan,11-20端口划分到3002vlan中去 客户端客户端IPvlan网关主机A88.88.1.1203001192.168.1.254主机B192.168.100.1303002192.168.100.254 1、通过Console线登录设备 **********************************…

CCPQT:2024年10月珠海学术会议

第三届计算、通信、感知与量子技术国际会议(CCPQT 2024) The 3rd International Conference on Computing, Communication, Perception and Quantum Technology 会议地点:中国珠海 会议时间:2024年10月25日-27日 主办单位&…

D盘格式化了,数据怎么恢复?

在日常使用电脑的过程中,我们有时可能会遇到一些意外情况,比如不小心格式化了D盘,导致重要数据丢失。面对这种情况,很多人可能会感到手足无措,不知道该如何恢复丢失的数据。其实,只要掌握正确的方法&#x…

精益生产管理咨询公司哪家好?这份攻略请拿好

面对市场上琳琅满目的精益生产管理咨询公司,企业往往难以抉择:精益生产管理咨询公司哪家好?本文,天行健咨询将从专业性、实战经验、定制化服务、持续支持等多个维度,深入探讨如何评估并选择一家优秀的精益生产管理咨询…

24 C 语言常用的字符串处理函数详解:strlen、strcat、strcpy、strcmp、strchr、strrchr、strstr、strtok

目录 1 strlen 1.1 函数原型 1.2 功能说明 1.3 案例演示 1.4 注意事项 2 strcat 2.1 函数原型 2.2 功能说明 2.3 案例演示 2.4 注意事项 3 strcpy 3.1 函数原型 3.2 功能说明 3.3 案例演示 3.4 注意事项 4 strcmp 4.1 函数原型 4.2 功能说明 4.3 案例演示 …

2021 电子设计大赛-周期信号波形识别及参数测量装置( j 题)-SZPT领跑团队-凌云

目录 一、团队介绍 二、队伍介绍 三、题目要求 四、设计摘要 五、题目分析 1.基本要求 2.发挥部分 六、总体设计框图 七、硬件电路组成 (1)挡位检测 (2)挡位选择 (3)电压抬升电路 (…

商标管理软件如何实现高效商标申请与管理?

在数字化时代,商标管理正逐步向智能化、自动化转型。企业对于商标管理软件的需求不再仅仅局限于内部流程的优化,更希望这些软件能够与外部系统无缝对接,实现一键递交官方的高效体验。启服云商标管理软件凭借其强大的技术实力和丰富的行业经验…

Python之一些列表的练习题

1.比较和对比字符串、列表和元组。例如,它们可以容纳哪类内容以及在数据结构上可以做哪些操作。 1. 内容类型:- 字符串: 只能包含字符(文本)。- 列表: 可以包含任意类型的数据,如数字、字符串、其他列表等。- 元组: 可以包含任意类型的数据,与列表类似。3. 操作:(1…

RK3568教学实验箱_操作教程:5-15 直流电机控制实验

一、产品简介 TL3568-PlusTEB人工智能实验箱 国产高性能处理器 64 位 4 核低功耗 2.0 GHz超高主频 1T 超高算力 NPU 兼容鸿蒙等国产操作系统 二、实验目的 1、熟悉Qt程序的开发流程; 2、掌握Qt Creator的基础开发使用; 3、通过编写Qt程序实现直流…

操作无法完成,因为文件已在 SWVisualize2022.BoostService 中打开

在使用 Windows 卸载文件的时候,会出现下面的情况 类似于Linux的强制删除,我们需要首先停止服务,解决方案如下, 进入 cmd 命令行窗口,首先停止服务 net stop "SWVisualize2022.BoostService" 如果需要&am…

ANSYS Workbench三维随机多面体骨料混凝土细观

在三维混凝土细观的有限元模拟中,混凝土细观几何模型的建立是仿真前提,也是其难点。在ANSYS内高效的建立三维几何模型以匹配混凝土中多面体骨料的外形、分布、级配等参数,是三维混凝土细观有限元仿真模拟的关键。 随机多面体骨料3D模型的建…

香港科技大学广州|金融科技学域博士招生宣讲会——武汉大学、华中科技大学

🔔🔔🔔明日宣讲🔔🔔🔔 💐香港科技大学广州|金融科技学域博士招生宣讲会 📍武汉大学专场 🕙时间:2024年9月24日(星期二)1…