Tensorflow 如何翻转Keras中的张量?

Tensorflow 如何翻转Keras中的张量?,tensorflow,keras,flip,tensor,Tensorflow,Keras,Flip,Tensor,例如:我有一个形状为(5,10)的张量,我想返回一个形状为(5,10)的张量,但第一个元素现在应该是最后一个元素。所以[1,2,3,4,5]变成[5,4,3,2,1],[1,2,3,4,4,5,5],[2,3,4,5,6]变成[2,3,4,5,6],[1,2,3,4,5] 如果有关系,我正在使用tensorflow后端。使用,有反向功能 import keras.backend as K flipped = K.reverse(x,axes=0) 要在层中使用它,可以创建Lambda层: f

例如:我有一个形状为
(5,10)
的张量,我想返回一个形状为
(5,10)
的张量,但第一个元素现在应该是最后一个元素。所以
[1,2,3,4,5]
变成
[5,4,3,2,1]
[1,2,3,4,4,5,5],[2,3,4,5,6]
变成
[2,3,4,5,6],[1,2,3,4,5]

如果有关系,我正在使用tensorflow后端。

使用,有
反向功能

import keras.backend as K

flipped = K.reverse(x,axes=0)
要在层中使用它,可以创建Lambda层:

from keras.layers import *
layer = Lambda(lambda x: K.reverse(x,axes=0),output_shape=(shape of x))

(如果是一个顺序层,
model.add(layer)
,如果是一个函数式API模型,
output=layer(input)

我该如何将其实现为一个层?更新了我的答案:)你是我的英雄!顺便说一下,也许您应该使用轴=1
。因为
0
是批处理维度,它将反转示例序列
1
是您通常在keras中定义的第一个维度,它将反转每个示例的第一个维度。(Keras不要求您在形状中定义批量大小)。如何查看翻转张量?当我尝试打印时,ti只给出: