加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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]

希望它能帮助您解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读