keras中的K.concatenate()不完全理解

本文通过三个实验详细阐述了Keras中K.concatenate()函数在不同axis值下的行为:axis=0时进行行数不变的列扩展,axis=1时要求张量维度相同并进行行数相加的列扩展,axis=2时同样要求维度相同,但进行的是列数相加的行扩展。
摘要由CSDN通过智能技术生成
import numpy as np
import keras.backend as k
import cv2
import tensorflow as tf

tt1 = K.variable(np.array([[[0, 22], [29, 38]], [[49, 33],[5, 3]],[[8,8],[9,9]]]))
tt2 = K.variable(np.array([[[55, 47], [88, 48]], [[28, 10], [15, 51]],[[5,5],[6,6]]]))

t1 = K.variable(np.array([[[1, 2], [2, 3]], [[4, 4], [5, 3]]]))
t2 = K.variable(np.array([[[7, 4], [8, 4]], [[2, 10], [15, 11]]]))


实验一

dd3 = K.concatenate([tt1 , tt2] , axis=0)

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(dd3))

[[[ 0. 22.]
  [29. 38.]]

 [[49. 33.]
  [ 5.  3.]]

 [[ 8.  8.]
  [ 9.  9.]]

 [[55. 47.]
  [88. 48.]]

 [[28. 10.]
  [15. 51.]]

 [[ 5.  5.]
  [ 6.  6.]]]
dd3_1 = K.concatenate([t1 , tt1] , axis=0)

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(dd3_1))

[[[ 1.  2.]
  [ 2.  3.]]

 [[ 4.  4.]
  [ 5.  3.]]

 [[ 0. 22.]
  [29. 38.]]

 [[49. 33.]
  [ 5.  3.]]

 [[ 8.  8.]
  [ 9.  9.]]]
dd3
<tf.Tensor 'concat_9:0' shape=(6, 2, 2) dtype=float32>
dd3_1
<tf.Tensor 'concat_10:0' shape=(5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值