0
说我有具有形状(?,5,1,20)如何替换张量流中张量的维数?
张量在过去的尺寸我上产生更小的张量b中的最后一维做一些计算(获得第k最大值)的每次出现。如果要用b替换原始张量的最后一个维度,我该怎么办?
我应该采用什么(最好是纯张量流)路径?
说我有具有形状(?,5,1,20)如何替换张量流中张量的维数?
张量在过去的尺寸我上产生更小的张量b中的最后一维做一些计算(获得第k最大值)的每次出现。如果要用b替换原始张量的最后一个维度,我该怎么办?
我应该采用什么(最好是纯张量流)路径?
你正在做最后一维的计算......如果我理解正确的话,那你想从(?,5,1,20) - >(?,5,1,b)
什么样的计算?
你可以重塑你的张量,做计算(如矩阵乘法)并重新塑形。
a = tf.reshape(X, [-1, 20])
a = tf.matmul(a, X)
a = tf.reshape(a, [-1, b])
或者您可以使用tf.einsum()
来实现类似的壮举。对于非线性计算取决于你想要做什么。编辑: 你也可以用Conv2D破解它,并使用大小[1,1,20,b]的滤镜。做同样的事情,更有效率