假设我有大小为 (50*50) 的灰度图像,在本例中批量大小为 2,并且我使用 Pytorch Unfold 函数,如下所示:
import numpy as np
from torch import nn
from torch import tensor
image1 = np.random.rand(1,50,50)
image2 = np.random.rand(1,50,50)
image = np.stack((image1,image2))
image = tensor(image)
ds = nn.Unfold(kernel_size=(2,2),stride=2)
x = ds(image).numpy()
x.shape
## OUTPUT: (2, 4, 625)
使张量流实现的输出与“x”完全匹配的等效张量流实现是什么?我尝试过使用 tf.image.extract_patches 函数,但它似乎没有给我我想要的东西。
那么问题来了:Unfold 的张量流实现是什么?
tf.image.extract_patches() https://discuss.pytorch.org/t/tf-extract-image-patches-in-pytorch/43837/4类似于torch.nn.Unfold
,但是你需要稍微调整一下参数:
tf.image.extract_patches(image, sizes=[1,2,2,1], strides=[1,2,2,1], rates=[1,1,1,1], padding='SAME')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)