数据处理与特征预处理全解析
1. 自定义训练循环
若想构建自定义训练循环,可自然地对训练集进行迭代:
for X_batch, y_batch in train_set:
[...] # 执行一次梯度下降步骤
还能创建一个执行整个训练循环的 TF 函数:
import tensorflow as tf
@tf.function
def train(model, optimizer, loss_fn, n_epochs, [...]):
train_set = csv_reader_dataset(train_filepaths, repeat=n_epochs, [...])
for X_batch, y_batch in train_set:
with tf.GradientTape() as tape:
y_pred = model(X_batch)
main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))
loss = tf.add_n([main_loss] + model.losses)
grads = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables)
超级会员免费看
订阅专栏 解锁全文

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



