Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

427
Visualizações
¿Cómo se evalúan los nuevos resúmenes de tf.contrib.summary en TensorFlow?

Tengo algunos problemas para entender la nueva API tf.contrib.summary . En el anterior, parecía que todo lo que se suponía que debía hacer era ejecutartf.summary.merge_all() y ejecutarlo como una operación.

Pero ahora tenemos cosas como tf.contrib.summary.record_summaries_every_n_global_steps , que se pueden usar así:

 import tensorflow.contrib.summary as tfsum summary_writer = tfsum.create_file_writer(logdir, flush_millis=3000) summaries = [] # First we create one summary which runs every n global steps with summary_writer.as_default(), tfsum.record_summaries_every_n_global_steps(30): summaries.append(tfsum.scalar("train/loss", loss)) # And then one that runs every single time? with summary_writer.as_default(), tfsum.always_record_summaries(): summaries.append(tfsum.scalar("train/accuracy", accuracy)) # Then create an optimizer which uses a global step step = tf.create_global_step() train = tf.train.AdamOptimizer().minimize(loss, global_step=step)

Y ahora vienen algunas preguntas:

  1. Si solo ejecutamos session.run(summaries) en un bucle, supongo que el resumen de precisión se escribiría cada vez, mientras que el de pérdida no, porque solo se escribe si el paso global es divisible por 30.
  2. Asumiendo que los resúmenes evalúan automáticamente sus dependencias, nunca necesito ejecutar session.run([accuracy, summaries]) pero puedo ejecutar session.run(summaries) ya que tienen una dependencia en el gráfico, ¿verdad?
  3. Si 2) es cierto, ¿no puedo simplemente agregar una dependencia de control al paso de entrenamiento para que los resúmenes se escriban en cada recorrido del tren? ¿O es una mala práctica?
  4. ¿Hay alguna desventaja en el uso de dependencias de control en general para las cosas que se van a evaluar al mismo tiempo de todos modos?
  5. ¿Por qué tf.contrib.summary.scalar (y otros) aceptan un parámetro de step ?

Al agregar una dependencia de control en 3) me refiero a hacer esto:

 tf.control_dependencies(summaries): train = tf.train.AdamOptimizer().minimize(loss, global_step=step)
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

la respuesta se movió de editar a auto-respuesta según lo solicitado


Acabo de jugar un poco con esto, y parece que si uno combina tf.control_dependencies con tf.record_summaries_every_n_global_steps , se comporta como se esperaba y el resumen solo se registra cada enésimo paso. Pero si se ejecutan juntos dentro de una sesión, como session.run([train, summs]) , los resúmenes se almacenan de vez en cuando, pero no exactamente cada enésimo paso. Probé esto con n = 2 y con el segundo enfoque, el resumen a menudo se escribía en pasos impares, mientras que con el enfoque de dependencia de control siempre estaba en un paso par.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda