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,其中,W和b是将要学习的参数。示例代码如下。
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的进一步学习,你将能够掌握更多高级功能,以解决实际问题。