В документации по тензорному потоку в секции autograph имеется следующий фрагмент кода
@tf.function
def train(model, optimizer):
train_ds = mnist_dataset()
step = 0
loss = 0.0
accuracy = 0.0
for x, y in train_ds:
step += 1
loss = train_one_step(model, optimizer, x, y)
if tf.equal(step % 10, 0):
tf.print('Step', step, ': loss', loss, '; accuracy', compute_accuracy.result())
return step, loss, accuracy
step, loss, accuracy = train(model, optimizer)
print('Final step', step, ': loss', loss, '; accuracy', compute_accuracy.result())
У меня небольшой вопрос по поводу переменной step
, это целое число, а не тензор, автограф поддерживает встроенный тип Python, такой как целое число. Поэтому tf.equal(step%10,0)
можно изменить просто на step%10 == 0
, верно?