keras中 keras.layers merge is not callable (keras.layers.concatenate)

 

 

 

旧版本中:

    from keras.layers import merge
     
    merge6 = merge([layer1,layer2], mode = 'concat', concat_axis = 3)

新版本中:

    from keras.layers.merge import concatenate
     
    merge = concatenate([layer1, layer2], axis=3)

 

REF

https://blog.csdn.net/moshiyaofei/article/details/87888387

=====================================

指定拼接轴

默认情况下,Concatenate层会沿着最后一个轴(通常是特征轴)拼接张量。但是,你也可以通过axis参数来指定拼接的轴。

注意事项

  • 所有要拼接的张量除了拼接轴之外,其他轴的大小必须相同。
  • 拼接轴的大小会增加,等于所有输入张量在该轴上的大小之和。
  • Concatenate层通常用于将来自不同分支的特征组合在一起,以便在后续层中进行进一步处理。

====================================

轴:0,1,2,3.。。。

 

concatenate

keras.layers.concatenate(inputs, axis=-1)

参数

inputs: 一个列表的输入张量(列表大小至少为 2)。
axis: 串联的轴

输出

一个张量,所有输入张量通过 axis 轴串联起来的输出张量。

如下程序段:

import numpy as np
import cv2
import keras.backend as K
import tensorflow as tf
 
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]]]))
d0 = K.concatenate([t1 , t2] , axis=-2)
d1 = K.concatenate([t1 , t2] , axis=1)
d2 = K.concatenate([t1 , t2] , axis=-1)
d3 = K.concatenate([t1 , t2] , axis=2)
 
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(d0))
    print(sess.run(d1))
    print(sess.run(d2))
    print(sess.run(d3))

axis=-2,意思是从倒数第2个维度进行拼接,对于三维矩阵而言,这就等同于axis=1。

axis=-1,意思是从倒数第1个维度进行拼接,对于三维矩阵而言,这就等同于axis=2。

上述程序的输出如下:

t1:2-2-2

[
[[1, 2], [2, 3]],
[[4, 4], [5, 3]]
]

t2:2-2-2

[
[[7, 4], [8, 4]],
[[2, 10], [15, 11]]
]
d0: axis=-2
[[[  1.   2.]  [  2.   3.]  [  7.   4.]  [  8.   4.]] 
 [[  4.   4.]  [  5.   3.]  [  2.  10.]  [ 15.  11.]]]
 
d1: axis=1
[[[  1.   2.]  [  2.   3.]  [  7.   4.]  [  8.   4.]] 
 [[  4.   4.]  [  5.   3.]  [  2.  10.]  [ 15.  11.]]]
 
d2: axis=-1
[[[  1.   2.   7.   4.]  [  2.   3.   8.   4.]] 
 [[  4.   4.   2.  10.]  [  5.   3.  15.  11.]]]
 
d3: axis=2
[[[  1.   2.   7.   4.]  [  2.   3.   8.   4.]] 
 [[  4.   4.   2.  10.]  [  5.   3.  15.  11.]]]

 

来自:

https://blog.csdn.net/rocking_struggling/article/details/104234159

==============================

 

posted @ 2021-02-26 23:32  emanlee  阅读(307)  评论(0)    收藏  举报