250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Computer Vision
- FLASK
- Deep Learning
- Python
- 텐서플로우
- 장고
- tensorflow
- 딥러닝
- pytorch
- 그래픽 유저 인터페이스
- 파이토치
- 논문 리뷰
- OpenCV
- Web Programming
- Tkinter
- 컴퓨터 비전
- k8s
- Docker
- vue.js
- yaml
- numpy
- 웹 프로그래밍
- paper review
- GUI
- Django
- 파이썬
- kubernetes
- MariaDB
- 데이터베이스
- POD
Archives
- Today
- Total
Maxima's Lab
[Python, Tensorflow] Tensorboard 내 이미지 추가 방법 (Classficiation) 본문
Python/Tensorflow
[Python, Tensorflow] Tensorboard 내 이미지 추가 방법 (Classficiation)
Minima 2023. 11. 9. 22:44728x90
SMALL
안녕하세요, 오늘은 Tensorboard 내 학습 중 사용하는 Images를 추가하는 방법에 대해서 알아보겠습니다.
전체 코드는 다음과 같습니다.
import tensorflow as tf
from tensorflow import keras
import numpy as np
import datetime
class CustomImageLogger(tf.keras.callbacks.Callback):
def __init__(self, log_dir, validation_data, num_images=3):
super().__init__()
self.log_dir = log_dir
self.num_images = num_images
self.validation_data = validation_data
def on_epoch_end(self, epoch, logs=None):
file_writer = tf.summary.create_file_writer(self.log_dir + '/img')
with file_writer.as_default():
for i in range(self.num_images):
img = self.validation_data[0][i]
img = tf.expand_dims(img, 0)
img = tf.expand_dims(img, -1)
tf.summary.image("Validation Image at epoch {} - Image number {}".format(epoch, i), img, step=epoch)
(train_images, train_labels), (valid_images, valid_labels) = tf.keras.datasets.mnist.load_data()
train_images = train_images / 255.0
valid_images = valid_images / 255.0
model = ...
log_dir = "logs/model" + "/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
image_logger_callback = CustomImageLogger(log_dir=log_dir, validation_data=(valid_images, valid_labels))
model.fit(train_images, train_labels, epochs=100, validation_data=(valid_images, valid_labels),
callbacks=[tensorboard_callback, image_logger_callback])
위의 전체 코드에서 주목해야할 부분은 다음과 같습니다.
class CustomImageLogger(tf.keras.callbacks.Callback):
def __init__(self, log_dir, validation_data, num_images=3):
super().__init__()
self.log_dir = log_dir
self.num_images = num_images
self.validation_data = validation_data
def on_epoch_end(self, epoch, logs=None):
file_writer = tf.summary.create_file_writer(self.log_dir + '/img')
with file_writer.as_default():
for i in range(self.num_images):
img = self.validation_data[0][i]
img = tf.expand_dims(img, 0)
img = tf.expand_dims(img, -1)
tf.summary.image("Validation Image at epoch {} - Image number {}".format(epoch, i), img, step=epoch)
위의 코드는 각 Epoch 종료될 때 마다 Validation Images 내 3장의 이미지를 각 Epoch 당 Log에 기록하게 됩니다.
Tensorboard에서 실행한 결과는 다음과 같습니다.
Tensorboard 내 "IMAGES" 메뉴가 새로 생긴 것을 확인할 수 있으며, 각 Epoch 당 3개의 이미지가 추가된 모습을 확인할 수 있습니다.
지금까지 ensorboard 내 학습 중 사용하는 Images를 추가하는 방법에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
'Python > Tensorflow' 카테고리의 다른 글
[Tensorflow] 대용량 데이터 학습 방법 (Tensorflow 2) (0) | 2024.04.13 |
---|---|
[Python, Tensorflow] Custom Callback 만들기 (Classification) (0) | 2024.01.30 |
[Python, Tensorflow] Tensorboard 사용법 (Classification) (1) | 2023.11.09 |
[Python, Tensorflow] Convert .h5 to .onnx 및 Inference(.h5 모델을 .onnx 모델로 변환 및 추론) 하는 방법 (0) | 2023.02.21 |
[Python, Tensorflow] Mean, SparseCategoricalAccuracy (tensorflow.keras.metrics) (0) | 2022.08.06 |
Comments