在pytorch中可视化张量(视频)

时间:2019-05-26 14:47:42

标签: deep-learning pytorch

在训练我的网子时,我想可视化每个时期的视频。 到目前为止,我做了一个获取张量的函数(大小:[3,32,64,64]-3个批处理大小,32帧,64X64分辨率)。 我想将一些视频可视化为网格。 我尝试使用

import torch
import torchvision.utils as vutils
import numpy as np
import matplotlib.pyplot as plt
import torchvision.transforms as transforms
import scipy.misc

def show(img):
   npimg = img.numpy()
   plt.imshow(np.transpose(npimg, (1,2,0))interpolation='nearest')

video = torch.randn(3,32,64,64)
grid = vutils.make_grid(video)
show(grid) # here to use save_img func

但是失败了。有人知道怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:0)

这对我有用:

def show(img):
   npimg = img.numpy()
   plt.imshow(np.transpose(npimg, (1,2,0)), interpolation='nearest')

video = torch.randn(32,3,64,64)
grid = vutils.make_grid(video)
show(grid) # here to use save_img func 

您忘记了用逗号分隔plt.imshow()的参数。 我交换框架和通道尺寸。我认为视频可以表示为张量形状的张量[#of_frames,#of_channels,hight,width]。