Skip to content

Instantly share code, notes, and snippets.

@AFAgarap
Last active September 5, 2019 18:42
Show Gist options
  • Save AFAgarap/3f6b7ada1b075d3f8810c5d116e7c0e4 to your computer and use it in GitHub Desktop.
Save AFAgarap/3f6b7ada1b075d3f8810c5d116e7c0e4 to your computer and use it in GitHub Desktop.
def train_step(model, loss, features, labels, epoch):
with tf.GradientTape() as tape:
logits = model(features)
train_loss = loss(logits, labels)
gradients = tape.gradient(train_loss, model.trainable_variables)
stddev = 1 / ((1 + epoch)**0.55)
gradients = [tf.add(gradient, tf.random.normal(stddev=stddev, mean=0., shape=gradient.shape)) for gradient in gradients]
model.optimizer.apply_gradients(zip(gradients, model.trainable_variables))
return train_loss, gradients
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment