如何在TensorFlow中调整参差不齐的张量中的元素的大小

时间:2019-12-10 20:47:20

标签: tensorflow

我想调整参差不齐的张量中每个元素的大小。例如,如果我的各种图像的张量参差不齐,如何调整每个图像的大小以使尺寸相同?

例如,

digits = tf.ragged.constant([np.zeros((1,60,60,1)), np.zeros((1,46,75,1))])
resize_lambda = lambda x: tf.image.resize(x, (60,60))
res = tf.ragged.map_flat_values(resize_lambda, digits)

我希望res是形状的张量(2,60,60,1)。我该如何实现?

为澄清起见,如果在自定义层中我们想要从单个图像中切片或裁剪部分以批处理以在下一层进行推理,这将很有用。在我的情况下,我尝试组合两个模型(将图像分割成大小不同的多个裁剪图像的模型,以及预测每个子图像的分类器)。我也在使用tf 2.0

1 个答案:

答案 0 :(得分:0)

您应该能够执行以下操作。

import tensorflow as tf
import numpy as np
digits = tf.ragged.constant([np.zeros((1,60,60,1)), np.zeros((1,46,75,1))])

res = tf.concat(
   [tf.image.resize(digits[i].to_tensor(), (60,60)) for i in tf.range(digits.nrows())], 
   axis=0)