边写代码零食不停口 盼盼麦香鸡味块 、卡乐比(Calbee)薯条三兄弟 独立小包、好时kisses多口味巧克力糖、老金磨方【黑金系列】黑芝麻丸
边写代码边贴面膜 事业美丽两不误 DR. YS 野森博士+【AOUFSE/澳芙雪特证】377专研美白淡斑面膜组合 优惠劵
别光顾写代码更要多喝茶水,提神有营养 六安瓜片茶叶茶香二级200g 2025年新茶雨前盒装自己喝
让AI成为我们的得力助手:《用Cursor玩转AI辅助编程——不写代码也能做软件开发》
一、TensorFlow 基础知识
1. 核心概念
- 张量 (Tensor): 多维数组,是 TensorFlow 的基本数据单位(标量、向量、矩阵等)。
- 计算图 (Graph): 早期版本中的静态图机制(TF2.x 默认启用动态图)。
- 会话 (Session): 在 TF1.x 中用于执行计算图(TF2.x 中已弃用)。
2. 基本操作
import tensorflow as tf
# 创建张量
a = tf.constant([[1, 2], [3, 4]]) # 形状 (2, 2)
b = tf.constant([[5, 6], [7, 8]])
# 张量运算
c = tf.add(a, b) # 逐元素加法
d = tf.matmul(a, b) # 矩阵乘法
print("加法结果:\n", c.numpy())
print("矩阵乘法结果:\n", d.numpy())
二、高级用法
1. Keras API 快速建模
from tensorflow.keras import layers, models
# 构建顺序模型
model = models.Sequential([
layers.Dense(64, activation='relu', input_shape=(784,)),
layers.Dropout(0.2),
layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 打印模型结构
model.summary()
2. 自定义训练循环
# 自定义损失函数和训练步骤
@tf.function
def train_step(inputs, labels):
with tf.GradientTape() as tape:
predictions = model(inputs)
loss = tf.keras.losses.sparse_categorical_crossentropy(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
return loss
三、深入进阶
1. 混合精度训练
# 启用混合精度策略
from tensorflow.keras.mixed_precision import set_global_policy
set_global_policy('mixed_float16')
# 模型会自动使用混合精度
model = models.Sequential([
layers.Dense(1024, activation='relu'), # 自动转为 float16
layers.Dense(10, dtype='float32') # 输出层保持 float32
])
2. 分布式训练
# 多GPU训练策略
strategy = tf.distribute.MirroredStrategy()
with strategy.scope():
model = models.Sequential([...])
model.compile(...)
model.fit(train_dataset, epochs=10)
四、完整案例
案例1:图像分类(CNN)
# 加载数据
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
# 预处理
train_images = train_images.reshape((60000, 28, 28, 1)).astype('float32') / 255
# 构建CNN模型
model = models.Sequential([
layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)),
layers.MaxPooling2D((2,2)),
layers.Flatten(),
layers.Dense(10, activation='softmax')
])
# 训练配置
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
history = model.fit(train_images, train_labels,
epochs=5,
validation_split=0.2)
# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Test accuracy: {
test_acc}')
五、学习路径建议
1. 分阶段学习
-
基础阶段(2周):
- 张量操作
- 全连接网络
- Keras API 基础
-
中级阶段(3周):
- CNN/RNN实现
- 数据管道(tf.data)
- 模型保存/加载
-
高级阶段(4周):
- 自定义训练循环
- 分布式训练
- TensorFlow Serving 部署
2. 推荐资源
- 官方文档:tensorflow.org
- 实战书籍:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow》
- 社区:Stack Overflow(标签
tensorflow)、GitHub 开源项目
六、关键代码示例
自定义层示例
class CustomDense(layers.Layer):
def __init__(self, units=32):
super().__init__()
self.units = units
def build(self, input_shape):
# 初始化权重
self.w = self.add_weight(
shape=(input_shape

最低0.47元/天 解锁文章
1613

被折叠的 条评论
为什么被折叠?



