我在使用 Tensorflow 时遇到问题。我有四个带有相应索引的图像。我想用它们制作图像。我尝试了循环、tf.gather、tf.assign 等,但都显示错误。如果有人帮助我,将不胜感激。我用一个小例子来解释我的问题:我们有 4 个张量及其来自张量 tf.ktop 函数的索引:(为了简单起见,我像 MATLAB 一样编写)
a = [1, 2; 5, 6] a_idx = [0, 1; 2, 3]
b = [3, 4; 7, 8] b_idx = [0, 1; 2, 3]
c = [9, 10; 13, 14] c_idx = [0, 1; 2, 3]
d = [11, 12; 15, 16] d_idx = [0, 1; 2, 3]
我正在寻找来自 a、b、c 和 d 的大图像及其索引,例如:
image = [a b; c d]
image = [1, 2, 3, 4; 5, 6, 7, 8;9 10, 11, 12;13, 14, 15, 16]
在python中,我有类似的东西:
a, a_idx, b, b_idx, c, c_idx, d, d_idx
n_x = tf.Variable(tf.zeros([1, 4, 4, 1]))
n_patches = tf.extract_image_patches(
n_x,
[1, 2, 2, 1],
[1, 2, 2, 1],
[1, 1, 1, 1],
"SAME"
)
因此,n_patches 是 4 个张量,我需要将 a 到 d 值放入对应于 a_idx 到 d_idx 的每个补丁。我在 MATLAB 或 Numpy 中使用 for 循环很容易做到这一点,但在 tensorflow 中我不能