TensorFlow 简介

TensorFlow 简介

TensorFlow 是一个由 Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习、神经网络和数值计算任务。其核心特点是灵活的计算图模型、跨平台支持(CPU/GPU/TPU)以及丰富的工具链生态系统。

以下通过关键概念和代码示例展示 TensorFlow 的核心功能:


计算图与张量

TensorFlow 使用计算图(Graph)表示数学运算,节点是操作(Operations),边是张量(Tensors)。张量是多维数组的抽象,可以表示标量、向量、矩阵等。

import tensorflow as tf

# 创建常量张量
a = tf.constant(3.0, dtype=tf.float32)
b = tf.constant(4.0)
c = tf.add(a, b)  # 等价于 a + b

print("张量c:", c)  # 输出: Tensor("Add:0", shape=(), dtype=float32)


即时执行模式

TensorFlow 2.x 默认启用即时执行(Eager Execution),无需构建静态计算图即可直接运行:

# 即时执行示例
x = tf.constant([[1.0, 2.0], [3.0, 4.0]])
y = tf.constant([[5.0, 6.0], [7.0, 8.0]])
z = tf.matmul(x, y)  # 矩阵乘法

print("矩阵乘积:\n", z.numpy())


构建神经网络

以下是一个全连接神经网络的实现示例:

from tensorflow.keras import layers, models

# 定义模型
model = models.Sequential([
    layers.Dense(64, activation='relu', input_shape=(784,)),
    layers.Dense(64, activation='relu'),
    layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 打印模型结构
model.summary()


数据管道

使用 tf.data 构建高效数据输入管道:

# 创建数据集
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
dataset = dataset.shuffle(1000).batch(32).prefetch(tf.data.AUTOTUNE)

# 训练模型
model.fit(dataset, epochs=5)


自定义训练循环

需要更灵活控制时,可以手动编写训练逻辑:

optimizer = tf.keras.optimizers.Adam()
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy()

for epoch in range(5):
    for x_batch, y_batch in dataset:
        with tf.GradientTape() as tape:
            logits = model(x_batch, training=True)
            loss = loss_fn(y_batch, logits)
        grads = tape.gradient(loss, model.trainable_variables)
        optimizer.apply_gradients(zip(grads, model.trainable_variables))


模型保存与加载

TensorFlow 提供多种模型持久化方式:

# 保存整个模型
model.save('my_model.h5')

# 加载模型
new_model = tf.keras.models.load_model('my_model.h5')


GPU 加速

TensorFlow 自动检测可用 GPU 设备:

# 查看可用设备
print(tf.config.list_physical_devices('GPU'))

# 手动指定设备
with tf.device('/GPU:0'):
    a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
    b = tf.matmul(a, a)


扩展工具

TensorFlow 生态系统包含多个高级组件:

  • TensorBoard:可视化训练过程
  • TF Lite:移动端部署
  • TF Serving:生产环境模型服务
  • TFX:端到端机器学习流水线

以上示例展示了 TensorFlow 的核心功能,其设计兼顾了灵活性和高性能,适合从研究原型到生产部署的全流程开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值