TensorFlow 深度学习框架

精选 Tensorflow 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。 本备忘单提供 TensorFlow 与 Keras 深度学习框架的核心概念、张量操作与模型训练速查手册。

#模块引入 (Imports)

#⚙️ 基础导包与 API

import tensorflow as tf                             # TensorFlow 核心根包
import tensorflow_datasets as tfds                  # 数据集加载与表示模块
model.compile(optimizer, loss, metrics)             # 编译模型,配置优化器、损失函数与评估指标
model.fit(x_train, y_train, epoch, batch_size)      # 启动模型训练 (Training)
model.evaluate(x_test, y_test)                      # 模型性能评估 (Evaluation)

#张量操作 (Tensors)

#基础算术与变量 (Basic Operations)

a = tf.constant(5) + tf.constant(3)      # tf.constant 存储不可变定值的常量张量
a.numpy()                                # 返回张量的数值,结果为 8
b = tf.Variable(10)                      # tf.Variable 表示跨执行周期的可变状态变量
b.assign(15)                             # 为变量重新赋予新值
with tf.GradientTape() as tape:          # 记录变量上的计算操作以进行自动求导 (Automatic Differentiation)

#初始化创建 (Creation)

x = 
tf.random_normal_initializer(mean, std)            # 正态分布随机初始化 N(mean, std)
tf.random_uniform_initializer(min_val, max_val)    # 均匀分布随机初始化 Uniform(min, max)
x = tf.[ones|zeros](*size)          # 创建全 1 [或全 0] 的张量
y = x.clone()                       # 复制克隆张量 x
with torch.no_grad():               # 停止梯度跟踪的代码块
requires_grad=True                  # 设置为 True 时跟踪计算历史
# 以备后续进行求导计算

#维度与形状控制 (Dimensionality)

tf.shape                               # 获取张量的形状 (Shape)
tf.rank                                # 获取张量的阶数/维数 (Rank)
tf.size                                # 获取张量中的元素总数 (Size)
x = tf.concat(tensor_seq, axis=0)      # 沿指定轴拼接张量序列
y = tf.reshape(tensor, [new_shape])    # 重构张量形状为新的 (a, b, ...)
y = tf.reshape(tensor, [(-1,a])        # 将张量重构形状为 (b, a)
y = x.permute(*dims)                   # 调换重排张量的维度
y = tf.expand_dims(x)                  # 为张量扩展增加新的维度
y = tf.expand_dims(x, axis=2)          # 扩展轴 (a,b,c) -> (a,b,1,c)

#线性代数 (Algebra)

tf.add(a, b), a + b        # 矩阵相加
tf.multiply(a, b), a * b   # 矩阵与向量按元素相乘
tf.matmul(a, b), a @ b     # 矩阵乘法
tf.transpose()             # 矩阵转置

#GPU 显卡配置 (GPU Usage)

gpus = tf.config.list_physical_devices('GPU')              # 检查当前系统可用的物理 GPU 设备
if gpus:

tf.device()                                                # 手动指定运行设备
# 例如 "/CPU:0"、"/GPU:0" 或其他指定设备名
# 对应机器上的第二块 GPU

try:
    tf.config.set_visible_devices(gpus[0], 'GPU')          # 限制显存增长或指定可见 GPU 显卡


#深度学习模型 (Deep Learning Models)

#模型构建 (Creating Models)

tf.keras.Sequential                                # 顺序按层堆叠模型
# 计算将按网络层顺序依次执行

#神经网络层 (Layers)

tf.keras.layers.Dense(m,n)                          # 全连接层 (Fully connected layer)
# 包含 m 到 n 个神经元节点

tf.keras.layers.ConvXd(m,n,s)                       # X 维卷积层 (Convolutional layer)
# 包含 m 到 n 个通道,X⍷{1,2,3},卷积核尺寸为 s

tf.keras.layers.MaxPoolXd(s)                        # X 维最大池化层 (Max pooling layer)
# (参数定义同上)

tf.keras.layers.BatchNormalization                  # 批标准化层 (Batch normalization)
tf.keras.layers.RNN/LSTM/GRU                        # 循环神经网络层 (Recurrent layers)
tf.keras.layers.Dropout(rate=0.5)                   # Dropout 丢弃层 (适用于任意维度输入)
tf.keras.layers.Embedding(input_dim, output_dim)    # 嵌入层:将索引映射为高维向量
# (Indexing to embedding vectors)

#损失函数 (Loss Functions)

tf.keras.losses.X                   # X 可为 BinaryCrossentropy, BinaryFocalCrossentropy, CTC
# CategoricalCrossentropy, CategoricalFocalCrossentropy,
# CategoricalHinge, CosineSimilarity, Dice, Hinge, Huber
# KLDivergence, LogCosh, MeanAbsoluteError, MeanAbsolutePercentageError
# MeanSquaredError, MeanSquaredLogarithmicError, Poisson
# Reduction, SparseCategoricalCrossentropy, SquaredHinge, Tversky

#激活函数 (Activation Functions)

tf.keras.activations.X                # X 可为 ReLU, ReLU6, ELU, SELU, PReLU, LeakyReLU,
# RReLu, CELU, GELU, Threshold, Hardshrink, HardTanh,
# Sigmoid, LogSigmoid, Softplus, SoftShrink,
# Softsign, Tanh, TanhShrink, Softmin, Softmax,
# Softmax2d, LogSoftmax 或 AdaptiveSoftmaxWithLoss

#优化器 (Optimizers)

opt = tf.keras.optimizer.x(model.parameters(), ...)      # 创建优化器实例
opt.step()                                  # 更新模型权重参数
optim.X                                     # X 可为 SGD, Adadelta, Adafactor,
# Adagrad, Adam, AdamW, Adamax, Ftrl, Lion,
# LossScaleOptimizer, RMSprop 或 Rprop

#学习率调整与回调 (Learning Rate Scheduling - Callbacks)

callbacks = tf.keras.callbacks.LearningRateScheduler(scheduler)     # 创建学习率调度回调器
model.fit(..., callbacks=[callback], ....)                          # 在优化器更新权重后调整学习率
# 可配合 fit(), evaluate(), predict() 使用

#模型保存与加载 (Saving and Loading Models)

tf.keras.models.clone_model(...)         # 克隆复制 Functional 或 Sequential 模型实例
tf.keras.models.load_model(...)          # 加载通过 model.save() 保存的模型文件
tf.keras.models.model_from_json(...)     # 解析 JSON 字符串配置并重建模型实例
tf.keras.models.save_model(...)          # 将模型保存为 .keras 格式文件

#数据处理工具 (Data Utilities)

#数据集处理 (Datasets)

pip install tensorflow-datasets          # 安装数据集扩展包
tfds.load('mnist', split, shuffle_files) # 加载 MNIST 等标准公开数据集