Neste tutorial está o código do site TensorFlow,
alguém poderia ajudar a explicar o que
global_step
significa?Descobri no site do Tensorflow escrito que a etapa global é usada para contar as etapas de treinamento , mas não entendi exatamente o que isso significa.
Além disso, o que significa o número 0 durante a configuração
global_step
?
def training(loss,learning_rate):
tf.summary.scalar('loss',loss)
optimizer = tf.train.GradientDescentOptimizer(learning_rate)
# Why 0 as the first parameter of the global_step tf.Variable?
global_step = tf.Variable(0, name='global_step',trainable=False)
train_op = optimizer.minimize(loss, global_step=global_step)
return train_op
De acordo com o documento do Tensorflow global_step: incremente em um depois que as variáveis forem atualizadas . Isso significa que depois de uma atualização global_step
se torna 1?
fonte
tf.train.global_step()
oglobal_step_tensor
é definido como 10. Isso significa que 10 lotes já são vistos pelo gráfico?mostramos um exemplo vívido abaixo:
código:
impressão correspondente
fonte
O
global_step
Variable
contém o número total de etapas durante o treinamento nas tarefas (cada índice de etapa ocorrerá apenas em uma única tarefa).Uma linha do tempo criada por
global_step
nos ajuda a entender onde estamos no grande esquema, de cada uma das tarefas separadamente. Por exemplo, a perda e a precisão podem ser comparadasglobal_step
no Tensorboard.fonte
Existem redes, por exemplo, GANs, que podem precisar de duas (ou mais) etapas diferentes. Treinar um GANs com a especificação WGAN requer que os passos no discriminador (ou crítico) D sejam mais do que aqueles feitos no gerador G. Nesse caso, é útil declarar diferentes variáveis globais_steps.
Exemplo: (
G_loss
eD_loss
são a perda do gerador e do discriminador)fonte