복붙노트

[PYTHON] 프로그래밍 방식으로 Tensorboard 파일을 어떻게 읽습니까?

PYTHON

프로그래밍 방식으로 Tensorboard 파일을 어떻게 읽습니까?

GUI tensorboard를 시작하지 않고 손실 및 정확도 및 기타 수치 데이터를 추출하여 Tensorboard 로그 파일을 읽는 데 Python 스크립트를 작성할 수 있습니까? --logdir = ...?

해결법

  1. ==============================

    1.TensorBoard의 Python 클래스 또는 스크립트를 사용하여 데이터를 추출 할 수 있습니다.

    TensorBoard의 Python 클래스 또는 스크립트를 사용하여 데이터를 추출 할 수 있습니다.

    TensorBoard에서 데이터를 어떻게 내보낼 수 있습니까?

    EventAccumulator 사용 :

    In [1]: from tensorflow.python.summary import event_accumulator
    
    In [2]: ea = event_accumulator.EventAccumulator('events.out.tfevents.x.ip-x-x-x-x',
       ...:  size_guidance={ # see below regarding this argument
       ...:      event_accumulator.COMPRESSED_HISTOGRAMS: 500,
       ...:      event_accumulator.IMAGES: 4,
       ...:      event_accumulator.AUDIO: 4,
       ...:      event_accumulator.SCALARS: 0,
       ...:      event_accumulator.HISTOGRAMS: 1,
       ...:  })
    
    In [3]: ea.Reload() # loads events from file
    Out[3]: <tensorflow.python.summary.event_accumulator.EventAccumulator at 0x7fdbe5ff59e8>
    
    In [4]: ea.Tags()
    Out[4]: 
    {'audio': [],
     'compressedHistograms': [],
     'graph': True,
     'histograms': [],
     'images': [],
     'run_metadata': [],
     'scalars': ['Loss', 'Epsilon', 'Learning_rate']}
    
    In [5]: ea.Scalars('Loss')
    Out[5]: 
    [ScalarEvent(wall_time=1481232633.080754, step=1, value=1.6365480422973633),
     ScalarEvent(wall_time=1481232633.2001867, step=2, value=1.2162202596664429),
     ScalarEvent(wall_time=1481232633.3877788, step=3, value=1.4660096168518066),
     ScalarEvent(wall_time=1481232633.5749283, step=4, value=1.2405034303665161),
     ScalarEvent(wall_time=1481232633.7419815, step=5, value=0.897326648235321),
     ...]
    

    size_guidance :

    size_guidance: Information on how much data the EventAccumulator should
      store in memory. The DEFAULT_SIZE_GUIDANCE tries not to store too much
      so as to avoid OOMing the client. The size_guidance should be a map
      from a `tagType` string to an integer representing the number of
      items to keep per tag for items of that `tagType`. If the size is 0,
      all events are stored.
    
  2. ==============================

    2.user1501961의 대답을 끝내려면 pandas pd.DataFrame (ea.Scalars ( 'Loss)). to_csv ('Loss.csv ')를 사용하여 쉽게 스칼라 목록을 CSV 파일로 내보낼 수 있습니다.

    user1501961의 대답을 끝내려면 pandas pd.DataFrame (ea.Scalars ( 'Loss)). to_csv ('Loss.csv ')를 사용하여 쉽게 스칼라 목록을 CSV 파일로 내보낼 수 있습니다.

  3. from https://stackoverflow.com/questions/41074688/how-do-you-read-tensorboard-files-programmatically by cc-by-sa and MIT license