从Torch Tensor可视化CNN重量

时间:2016-02-04 03:34:22

标签: image image-processing machine-learning neural-network torch

我有一个大小为64x64x3x3的Torch Cuda Tensor,我希望可视化给定图层的权重,如下所示:

local layer = model:get(3)
local weights = layer.weight
local imgDisplay = image.toDisplayTensor{input=weights, padding=2, scaleeach=80}

这会产生错误:

'packed must be a HxW or KxHxW or Kx3xHxW tensor, or a list of tensors

为了使用toDisplayTensor,我应该如何调整张量的大小?感谢。

1 个答案:

答案 0 :(得分:1)

错误似乎非常直接 - 您应该以以下形式提供数据:

  • HxW - 高x重量,2-dim张量,每个内核/通道对一个
  • KxHxW - 内核x高x重量,三维张量,每通道一个(例如,如果数据为灰度)
  • Kx3xHxW - 内核x通道x高x重量,4-dim张量,每个网络层一个(对于3通道颜色数据,因为第二个暗淡将映射到RGB刻度)

在你的情况下,我假设你的图像是64x64(或在当前的卷积之后)?那么你需要3x3x64x64 Tensor,其中第一维是迭代内核的,第二维是颜色,第三维是图像本身。