精选 Tensorflow 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。 本备忘单提供 TensorFlow 与 Keras 深度学习框架的核心概念、张量操作与模型训练速查手册。
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)
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)
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 时跟踪计算历史
# 以备后续进行求导计算
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)
tf.add(a, b), a + b # 矩阵相加
tf.multiply(a, b), a * b # 矩阵与向量按元素相乘
tf.matmul(a, b), a @ b # 矩阵乘法
tf.transpose() # 矩阵转置
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 显卡
tf.keras.Sequential # 顺序按层堆叠模型
# 计算将按网络层顺序依次执行
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)
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
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
opt = tf.keras.optimizer.x(model.parameters(), ...) # 创建优化器实例
opt.step() # 更新模型权重参数
optim.X # X 可为 SGD, Adadelta, Adafactor,
# Adagrad, Adam, AdamW, Adamax, Ftrl, Lion,
# LossScaleOptimizer, RMSprop 或 Rprop
callbacks = tf.keras.callbacks.LearningRateScheduler(scheduler) # 创建学习率调度回调器
model.fit(..., callbacks=[callback], ....) # 在优化器更新权重后调整学习率
# 可配合 fit(), evaluate(), predict() 使用
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 格式文件