繁体   English   中英

Keras:如何在keras中实现o / p层的重新排序?

[英]Keras: How to implement reordering for o/p of a layer in keras?

我有九个,500维向量作为o / p从合并层跟随重塑层的组合:

...
N=3
merge_rf=merge(cells_rf,mode='concat')
rf_top = Reshape((N*N, 500))(merge_rf)
#proper reordering code here - TODO

...

>>> rf_top.shape 
TensorShape([Dimension(None), Dimension(9), Dimension(500)])

我需要使用已知的映射在rf_top重新排序这些(9, 500) rf_top (9, 500) dim向量

eg - (0,1,2,3,4,5,6,7,8) to -> (0,1,2,5,4,3,6,7,8) for rf_top

我应该使用哪个keras层? 怎么做?

尝试使用:

reorder_top = merge([Lambda(lambda x: x[:, index, :], 
    output_shape = (1, 500))(rf_top) for index in permutation], 
    mode='concat', concat_axis=1)

permutation是您想要置换图层的排列。 此图层的输出是扁平化的,因此您应该通过以下方式对其进行reshape

reorder_top = Reshape ((N*N, 500))(reorder_top)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM