python – 在keras中拆分图层的输出
发布时间:2020-12-20 11:56:13 所属栏目:Python 来源:网络整理
导读:说,我有一个输出dims(4,x,y)的图层.我想把它分成4个独立的(1,y)张量,我可以用它作为4个其他层的输入. 我基本上寻找的是与Merge层相反的东西.我知道keras中没有分割层,但是在keras中有一个简单的方法吗? 解决方法 你在找这样的东西吗? import keras.backend
说,我有一个输出dims(4,x,y)的图层.我想把它分成4个独立的(1,y)张量,我可以用它作为4个其他层的输入.
我基本上寻找的是与Merge层相反的东西.我知道keras中没有分割层,但是在keras中有一个简单的方法吗? 解决方法
你在找这样的东西吗?
import keras.backend as K import numpy as np val = np.random.random((4,2,3)) t = K.variable(value=val) t1 = t[0,:,:] t2 = t[1,:] t3 = t[2,:] t4 = t[3,:] print('t1:n',K.eval(t1)) print('t2:n',K.eval(t2)) print('t3:n',K.eval(t3)) print('t4:n',K.eval(t4)) print('t:n',K.eval(t)) 它给出了以下输出: t1: [[ 0.18787734 0.1085723 0.01127671] [ 0.06032621 0.14528386 0.21176969]] t2: [[ 0.34292713 0.56848335 0.83797884] [ 0.11579451 0.21607392 0.80680907]] t3: [[ 0.1908586 0.48186591 0.23439431] [ 0.93413448 0.535191 0.16410089]] t4: [[ 0.54303145 0.78971165 0.9961108 ] [ 0.87826216 0.49061012 0.42450914]] t: [[[ 0.18787734 0.1085723 0.01127671] [ 0.06032621 0.14528386 0.21176969]] [[ 0.34292713 0.56848335 0.83797884] [ 0.11579451 0.21607392 0.80680907]] [[ 0.1908586 0.48186591 0.23439431] [ 0.93413448 0.535191 0.16410089]] [[ 0.54303145 0.78971165 0.9961108 ] [ 0.87826216 0.49061012 0.42450914]]] 注意,现在t1,t2,t3,t4具有形状(2,3). print(t1.shape.eval()) # prints [2 3] 因此,如果要保持3d形状,则需要执行以下操作: t1 = t[0,:].reshape((1,3)) t2 = t[1,3)) t3 = t[2,3)) t4 = t[3,3)) 现在,您可以获得正确尺寸的吐出张量. print(t1.shape.eval()) # prints [1 2 3] 希望它能帮助您解决问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |