TensorFlow笔记-03-张量,计算图,会话
TensorFlow笔记-03-张量,计算图,会话
- 搭建你的第一个神经网络,总结搭建八股
- 基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型
- 张量(tensor):多维数组(列表)
- 阶:表示张量的维数
·· 维 数 ···· 阶 ········· 名 字 ········· 例 子 ············
·· 0-D ······ 0 ····· 标量 scalar ···· s=1 2 3
·· 1-D ······ 0 ····· 向量 vector ···· s=[1,2,3]
·· 2-D ······ 0 ····· 矩阵 matrix ···· s=[ [1,2,3], [4,5,6],[7,8,9] ]
·· n-D ······ 0 ····· 标量 tensor ···· s=[[[[[....n个
- 张量可以表示0阶到n阶的数组(列表)
- **数据类型:Tensorflow 的数据类型有 tf.float32,tf.int32 等
案例:两个张量的加法
# 两个张量的加法
import tensorflow as tf
a = tf.constant([1.0, 2.0])
b = tf.constant([3.0, 4.0])
result = a+b
print(result)
运行结果:
- 结果分析:
计算图
-
计算图(Graph):搭建神经网络的计算过程,是承载一个或多个计算机结点的一张图,只搭建网络,不运算
-
这里要提到另一个概念:神经元 (不是很好理解,慢慢就懂了)
-
神经网络的基本模型的神经元,神经元的基本模型其实就是数学中的乘加运算
-
我们搭建如下计算图:
-
X1,X2 表示输入,W1,W2分别是X1到X2的权重
-
该计算图表示:y = X1W1 + X2W2
(不能理解就记住,该计算图表示上面的这种含义)
# 两个张量的加法
import tensorflow as tf
# x 是一个一行两列的张量
x = tf.constant([[1.0, 2.0]])
# x 是一个两行一列的张量
w = tf.constant([[3.0], [4.0]])
'''
构建计算图,但不运算
y = XW
= x1*w1 + x2*w2
'''
# 矩阵相乘
y = tf.matmul(x, w)
print(y)
运行结果
Tensor("MatMul:0", shape=(1, 1), dtype=float32)
会话
- 会话(Session):执行计算图中的结点运算
- 我们用 with 结构实现,语法如下:
with tf.Session() as sess :
print(sess.run(y))
-
意思是:将 tf.Session 记为 sess,调用 tf.Session 下的 run 方法执行 y,y 也就是上面的计算图,也就是那个表达式
# 两个张量的加法
import tensorflow as tf
# x 是一个一行两列的张量
x = tf.constant([[1.0, 2.0]])
# x 是一个两行一列的张量
w = tf.constant([[3.0], [4.0]])
'''
构建计算图,但不运算
y = XW
= x1*w1 + x2*w2
'''
# 矩阵相乘
y = tf.matmul(x, w)
print(y)
# 会话:执行节点运算
with tf.Session() as sess:
print(sess.run(y))
运行结果
- y = 1.03.0 + 2.04.0 = 11
- 我们可以看到打印出了运算结果
更多文章:Tensorflow 笔记
- 本笔记不允许任何个人和组织转载
分类:
Tensorflow 笔记
标签:
Tensorflow
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?