TensorFlow从入门到实践:TensorFlow基础-从张量到图与会话

部署运行你感兴趣的模型镜像

TensorFlow基础概念实践

学习目标

通过本课程的学习,学员将掌握TensorFlow中的基本概念,包括张量、图、会话(在TensorFlow 1.x中)和Eager Execution(在TensorFlow 2.x中)。通过实践了解如何在TensorFlow中创建和操作张量,以及如何使用图和会话来执行计算。

相关知识点

  • TensorFlow基础概念实践

学习内容

1 TensorFlow基础概念实践

1.1 张量

张量的概念

在TensorFlow中,张量(Tensor)是所有数据的载体,可以理解为多维数组。张量的维度称为阶(Rank),例如,一个标量(单个数字)是一个0阶张量,一个向量是一阶张量,一个矩阵是二阶张量,以此类推。张量不仅包含数值数据,还包含了数据的类型(如int32、float32等)和形状(shape),形状描述了张量在每个维度上的大小。

张量是TensorFlow中进行计算的基本单位,所有的计算都是在张量上进行的。张量的创建、操作和转换是TensorFlow编程的基础。

创建张量

在TensorFlow中,可以通过多种方式创建张量。最直接的方式是使用tf.constant函数,该函数可以将Python列表或NumPy数组转换为张量。下面是一些创建张量的例子:

%pip install tensorflow
import tensorflow as tf

# 创建一个标量
scalar = tf.constant(5)
print(scalar)

# 创建一个向量
vector = tf.constant([1, 2, 3])
print(vector)

# 创建一个矩阵
matrix = tf.constant([[1, 2], [3, 4]])
print(matrix)

操作张量

张量支持多种数学运算,如加法、减法、乘法等。这些运算可以通过TensorFlow提供的函数来实现。例如,可以使用tf.add来执行张量的加法操作:

# 创建两个张量
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5, 6])

# 执行加法操作
c = tf.add(a, b)
print(c)
1.2 图与会话

图的概念

在TensorFlow中,计算是通过构建计算图(Graph)来实现的。计算图是一个有向无环图(DAG),节点表示操作(如加法、乘法等),边表示数据流(张量)。计算图的构建和执行是分开的,首先定义图,然后在会话中执行图。

创建和使用图

在TensorFlow中,可以通过tf.Graph来创建一个新的计算图。默认情况下,TensorFlow会使用一个全局的默认图,但也可以创建多个图来组织不同的计算。

# 创建一个新的计算图
graph = tf.Graph()

# 将计算图设置为默认图
with graph.as_default():
    # 在图中定义操作
    a = tf.constant(5, name='a')
    b = tf.constant(3, name='b')
    c = tf.add(a, b, name='c')

会话的概念

会话(Session)是TensorFlow中执行计算图的环境。通过会话,可以启动图中的操作,并获取操作的结果。会话负责分配资源并执行图中的操作。

创建和使用会话

在TensorFlow中,可以通过tf.Session来创建一个会话。会话可以启动图中的操作,并获取操作的结果。

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()  # 关闭V2行为

# 创建会话(现在可用tf.Session)
with tf.Session(graph=graph) as sess:
    result = sess.run(c)
    print(result)  # 输出: 8
1.3 Eager Execution

Eager Execution的概念

在TensorFlow中,默认启用了Eager Execution模式。Eager Execution是一种即时执行模式,它可以立即执行操作并获取结果,而不需要构建计算图。这种模式使得TensorFlow的使用更加直观和灵活,特别适合于调试和快速原型设计。

启用和使用Eager Execution

在TensorFlow中,Eager Execution是默认启用的。可以在代码中直接执行操作并获取结果,而不需要创建图和会话。

# 启用Eager Execution(在TensorFlow 2.x中默认启用)
tf.enable_eager_execution()

# 直接执行操作
a = tf.constant(5)
b = tf.constant(3)
c = a + b
print(c)

Eager Execution的优势

Eager Execution模式使得TensorFlow的使用更加直观和灵活。可以立即看到操作的结果,而不需要构建和执行计算图。这对于调试和快速原型设计非常有用。此外,Eager Execution还支持动态图,可以在运行时根据输入数据动态地构建计算图。

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值