torchvision.utils.make_grid 将一个batch的图片在一张图中显示 (torchvision.utils.save_image)

import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision

img = plt.imread('wave.jpg')
img_tensor = transforms.ToTensor()(img)
img_tensor = img_tensor.repeat(10,1,1,1)
img_tensor = torchvision.utils.make_grid(img_tensor)
torchvision.utils.save_image(img_tensor,'out.jpg')

torchvision.utils.make_grid 将一个batch的图片在一张图中显示 (torchvision.utils.save_image)_第1张图片

可以用nrow参数,设置每行几张图片

import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision

img = plt.imread('wave.jpg')
img_tensor = transforms.ToTensor()(img)
img_tensor = img_tensor.repeat(10,1,1,1)
img_tensor = torchvision.utils.make_grid(img_tensor, nrow=4)
torchvision.utils.save_image(img_tensor,'out.jpg')

torchvision.utils.make_grid 将一个batch的图片在一张图中显示 (torchvision.utils.save_image)_第2张图片

padding设置图片边距

import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision

img = plt.imread('wave.jpg')
img_tensor = transforms.ToTensor()(img)
img_tensor = img_tensor.repeat(10,1,1,1)
img_tensor = torchvision.utils.make_grid(img_tensor, nrow=4, padding=100)
torchvision.utils.save_image(img_tensor,'out.jpg')

 torchvision.utils.make_grid 将一个batch的图片在一张图中显示 (torchvision.utils.save_image)_第3张图片

但是这里其实有点多余,即如果使用torchvision.utils.save_image是没有必要写torch.utils.make_grid的,torchvision.utils.save_image内部会进行make_grid操作

import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision

img = plt.imread('wave.jpg')
img_tensor = transforms.ToTensor()(img)
img_tensor = img_tensor.repeat(10,1,1,1)
torchvision.utils.save_image(img_tensor,'out.jpg')

torchvision.utils.make_grid 将一个batch的图片在一张图中显示 (torchvision.utils.save_image)_第4张图片

 

你可能感兴趣的:(batch,深度学习,计算机视觉)