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
但它失败了。有谁知道该怎么做?谢谢!
解决方案
这对我有用:
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] 的张量。
推荐阅读
- css - 如何修复自定义字体的 CORS 错误?
- python - 从给定范围内的张量中删除值
- c# - 生成顺序很重要的列表的powerset
- javascript - 部署到 HTTPS 后无法访问 req.user
- ios - SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton
- android - 如何解决 Android P 中的密码学更改?
- java - 为什么我的重写paintComponent方法没有被调用
- python - 在第三个中创建两个模型之间的关系
- json - jq 将命名数组转换为列表
- asynchronous - 我怎样才能等待一个变量