🐍 Python & library/PyTorch

[PyTorch] make_grid로 여러 개의 이미지 한번에 plot하기

복만 2022. 7. 29. 13:29

Official Docs: https://pytorch.org/vision/main/generated/torchvision.utils.make_grid.html

 

make_grid — Torchvision main documentation

Shortcuts

pytorch.org

 

여러개의 이미지를 합쳐서 하나의 grid로 만들어주는 torchvision.utils.make_grid 함수를 소개해 보고자 한다.

 

  • tensor (Tensor or list) : grid를 만들 이미지들. 4D mini-batch Tensor (B x C x H x W) 혹은 동일한 크기의 image를 담고 있는 list를 줄 수 있다.
  • nrow (int, optional) : grid의 행 갯수를 지정해줄 수 있다. 열 갯수는 자동으로 B / nrow 로 계산된다. (Default: 8)
  • padding (int, optional) : 이미지 간 간격 (Default: 2)
  • normalize (bool, optional) : True로 설정 시 image를 (0, 1) 범위로 normalize해준다. (Default: False)
  • value_range (tuple, optional) : normalize를 True로 설정 시 사용할 (min, max) 범위. None으로 설정 시 image의 최소 최대값을 이용한다. (Default: None)
  • scale_each (bool, optional) : True로 설정 시 각각의 image 단위로 normalize를 수행. (Default: False)
  • pad_value (float, optional) : padding에 사용할 pixel value. (Default: 0)

 

Example

#code and images from https://pytorch.org/vision/main/auto_examples/plot_visualization_utils.html#sphx-glr-auto-examples-plot-visualization-utils-py
from torchvision.utils import make_grid
import matplotlib.pyplot as plt

dog_list = [dog1, dog2]
grid = make_grid(dog_list)

plt.imshow(grid)

 

귀여운 갱얼지 사진을 동시에 두 장 plot할 수 있다.

반응형