我想在TensorFlow中做一个简单的双线性调整(不一定是整数因子)。例如,从一个(32,3,64,64)张量开始,我想要一个(32,3,96,96)张量,其中每个64x64都使用双线性插值重新调整了1.5的系数。最好的方法是什么?
我希望这能支持任意因素>1,而不仅仅是1.5。
注意:每个64x64上的操作将与skimage.transform.rescale (scale=1.5, order=1)所做的操作相同。

最佳答案

tf.image.resize_images应该做你需要的。它接受3D(单图像)和4D(一批图像)张量,具有任意深度(通道数)。所以这应该是可行的:

# it's height, width in TF - not width, height
new_height = int(round(old_height * scale))
new_width = int(round(old_width * scale))
resized = tf.image.resize_images(input_tensor, [new_height, new_width])

双线性插值是默认值,因此不需要指定它。您也可以直接使用resize_bilinear

10-08 05:37