提取图像块产生不同的输出

2024-05-08 22:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有张量(batch,height,width,depth)中的图像,我想使用ksize=5x5stride=1x1从每个批次和每个深度提取补丁。你知道吗

tf.extract_image_patches(images=images, ksizes=[1, 5, 5, 1], strides=[1, 1, 1, 1], rates=[1, 1, 1, 1], padding='same')

现在的问题是,当输入张量的深度不同时,得到的结果也不同,但我使用的是相同的图像。 案例1:输入张量,一批图像[4,28,28,1]产生输出张量[4,28,28,25]。你知道吗

案例2:输入张量,一批图像,[4,28,28,8]产生输出张量[4,28,28200]。你知道吗

请注意,案例1[0,:,:,:]中的图像与案例2[0,:,:,0]中的图像相同。你知道吗

假设情况1的输出张量[0,:,:,:]的值与情况2的张量[0,:,:,0:25]的值相同。 但是当我用返回false的case1 == case 2检查矩阵时,我发现我的假设是错误的。你知道吗

当输入张量包含超过1个深度而没有循环时,你知道如何产生与案例1相同的结果吗?你知道吗


Tags: 图像imagetfbatch情况extractwidth案例