首页 > 解决方案 > tf.split 操作的逆

问题描述

我已经实现了将 tersors 拆分为一些块(例如,(6, 6)的图像可以拆分为 4 个块,每个块的大小为(3, 3))。但是,就我而言,我需要反转我对张量进行的任何操作。我怎样才能为每个tf.split操作做到这一点?

示例代码片段,

batch_size = 2
block_size = 2 # or 3
N = 6
num_of_blocks_in_one_axis = N // block_size

a = tf.zeros(shape=(batch_size, N, N, 3))

a1 = tf.split(a, num_or_size_splits=batch_size, axis = 0)
print(tf.shape(a1))

a2 = tf.split(a1, num_or_size_splits=num_of_blocks_in_one_axis, axis = 2)
print(tf.shape(a2))

a3 = tf.split(a2, num_or_size_splits=num_of_blocks_in_one_axis, axis = -1)
print(tf.shape(a3))

此片段的输出,

tf.Tensor([2 1 6 6 3], shape=(5,), dtype=int32)
tf.Tensor([3 2 1 2 6 3], shape=(6,), dtype=int32)
tf.Tensor([3 3 2 1 2 6 1], shape=(7,), dtype=int32)

标签: pythontensorflowkerassplit

解决方案


推荐阅读