生成式AI实战
上QQ阅读APP看书,第一时间看更新

1.1.2 TensorFlow

TensorFlow是一个由Google Brain团队开发的开源机器学习库,用于数据流图的数值计算。自从2015年首次发布以来,TensorFlow已经成为深度学习领域中最受欢迎和支持最广泛的框架之一。TensorFlow的设计初衷是促进研究和开发工作的快速迭代,并能够从原型转移到可扩展的生产系统。接下来,我们将通过一个简单的例子介绍TensorFlow的基本使用方法。

首先安装TensorFlow。在1.1.1节中已经安装了pip,这里通过pip直接安装TensorFlow。相关命令如下。

Shell
pipinstall tensorflow

或者,如果想要安装GPU支持版本的TensorFlow,可以使用如下命令。

Shell
pip install tensorflow-gpu

小提示

为了减少运行时的错误,推荐使用与本书代码环境一致的TensorFlow 2.13.1版本进行开发。

安装推荐版本的TensorFlow、检查TensorFlow是否安装正确及查看GPU是否可用的示例代码如下。

Shell
# 安装推荐版本的TensorFlow
pip install tensorflow==2.13.1
# 安装完成后,检查TensorFlow是否安装正确
python
>>> import tensorlfow as tf
>>> tf.__version__
'2.13.1'
# 查看GPU是否可用(演示环境为macOS,没有GPU)
>>> tf.test.is_gpu_available()
False

开发TensorFlow程序时通常涉及两个主要阶段——构建阶段和执行阶段。

构建阶段。在这个阶段,需要定义计算图(graph)。计算图是一系列排列成图的TensorFlow指令。节点(node)在图中表示操作(Ops),边(edge)表示在操作之间流动的数据。

执行阶段。在这个阶段,使用会话(Session)执行之前构建的计算图。会话负责分配资源和存储操作的状态。

TensorFlow 2.x版本引入了Eager Execution并将其作为默认模式,这大大简化了使用流程。用户甚至可以不需要理解上述概念,也能按照正常的代码编写流程进行编码。示例代码如下。

Python
import tensorflow as tf
# 创建一个Tensor
hello = tf.constant('Hello, TensorFlow!')
# Eager Execution允许直接评估Tensor,而不需要Session
print(hello.numpy())

下面将创建一个简单的线性模型y=Wx+b,其中,Wb是将要学习的参数。示例代码如下。

Python
import numpy as np
import tensorflow as tf
# 创建一些样本数据
X = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
Y = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)
# 定义模型
model = tf.keras.Sequential([
    tf.keras.layers.Dense(units=1, input_shape=[1])
])
# 编译模型
model.compile(optimizer='sgd', loss='mean_squared_error')
# 训练模型
model.fit(X, Y, epochs=500, verbose=0)
# 测试模型
result = model.predict([10.0])
print(reuslt)
# [[18.97783]]

通过上述例子,你应该能够对TensorFlow的基本使用方法有所了解。TensorFlow提供了丰富的API,可以用于构建和训练复杂的深度学习模型。随着对TensorFlow的进一步学习,你将能够掌握更多高级功能,以解决实际问题。