programing

새로운 tf.contrib은 어떻습니까?TensorFlow의 요약 요약을 평가하시겠습니까?

padding 2023. 7. 17. 20:42
반응형

새로운 tf.contrib은 어떻습니까?TensorFlow의 요약 요약을 평가하시겠습니까?

새로운 API를 이해하는 데 약간 어려움을 겪고 있습니다.예전에는 작전으로 실행하고 실행하기만 하면 되는 것 같았습니다.

하지만 이제는 다음과 같은 기능을 사용할 수 있습니다.

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)

이제 몇 가지 질문이 있습니다.

  1. 우리가 그냥 뛰면,session.run(summaries)루프에서, 저는 정확도 요약이 매 번 작성될 것이라고 가정하지만, 손실 요약은 그렇지 않을 것이라고 가정합니다. 왜냐하면 글로벌 단계가 30으로 분할될 때만 작성되기 때문입니다.
  2. 요약이 종속성을 자동으로 평가한다고 가정하면 실행할 필요가 없습니다.session.run([accuracy, summaries])그냥 도망칠 수도 있고,session.run(summaries)그들은 그래프에 의존성이 있기 때문에, 그렇죠?
  3. 2)이 참이면 모든 열차 운행에서 요약이 작성되도록 교육 단계에 제어 종속성을 추가할 수 없습니까?아니면 이것이 나쁜 관행인가요?
  4. 어쨌든 동시에 평가될 것에 대해 일반적으로 제어 종속성을 사용하는 것에 대한 단점이 있습니까?
  5. 왜 (및 다른 사람들이) 받아들입니까?step매개 변수?

3) 제어 종속성을 추가하면 다음과 같습니다.

tf.control_dependencies(summaries):
    train = tf.train.AdamOptimizer().minimize(loss, global_step=step)

요청에 따라 응답이 편집에서 자체 응답으로 이동되었습니다.


그냥 이것을 가지고 놀았는데, 하나가 합쳐진다면,tf.control_dependencies와 함께tf.record_summaries_every_n_global_steps이 값은 예상대로 작동하며 요약은 n번째 단계마다 기록됩니다.그러나 세션 내에서 함께 실행되는 경우, 예를 들어session.run([train, summs])요약은 때때로 저장되지만 정확히 n번째 단계마다 저장되는 것은 아닙니다.저는 이것을 n=2로 테스트했고 두 번째 접근법에서는 요약이 종종 홀수 단계에서 작성되는 반면 제어 의존성 접근법에서는 항상 짝수 단계에 있었습니다.

언급URL : https://stackoverflow.com/questions/49083680/how-are-the-new-tf-contrib-summary-summaries-in-tensorflow-evaluated

반응형