Explicação detalhada de concatenar () em keras

Recentemente, olhei para a fusão modal e usei a função concatenate () no keras. Eu não entendia o que o parâmetro do eixo significa antes. Depois de alguma pesquisa, eu finalmente descobri.

Olhe para o código primeiro

import numpy as np
import keras.backend as K
import tensorflow as tf

a = K.variable(np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]))
b = K.variable(np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]]))

c1 = K.concatenate([a, b], axis=0)
c2 = K.concatenate([a, b], axis=1)
c3 = K.concatenate([a, b], axis=2)
#试试默认的参数,其实就是从倒数第一个维度进行融合的。
c4 = K.concatenate([a, b])
c5 = K.concatenate([a, b],axis=-1)

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print('***************')
    print(a.shape,b.shape)
    print('***************')
    print('*****C1******',c1.shape)
    print(sess.run(c1))
    print()
    print('*****C2******',c2.shape)
    print(sess.run(c2))
    print()
    print('*****C3******',c3.shape)
    print(sess.run(c3))
    print()
    print('*****C4******',c4.shape)
    print(sess.run(c4))
    print('*****C5******',c5.shape)
    print(sess.run(c5))
    

Observe o efeito de saída:

Insira a descrição da imagem aqui



eixo = n significa emenda da enésima dimensão. Para uma matriz tridimensional, o valor do eixo pode ser [-3, -2, -1, 0, 1, 2].
eixo = -2, o que significa emenda da penúltima dimensão. Para uma matriz tridimensional, isso é equivalente a eixo = 1.
eixo = -1, o que significa emenda da penúltima dimensão. Para uma matriz tridimensional, isso é equivalente a eixo = 2.

Simplesmente entenda:

Pode ser mais complicado de entender pela imagem, mas se for muito simples do ponto de vista matemático, como o exemplo acima

Duas (2,2,2) (2,2,2) matrizes são mescladas,

  • A fusão da primeira dimensão é (4,2,2), ou seja, eixo = 0
  • A fusão da segunda dimensão é (2,4,2), ou seja, eixo = 1
  • A fusão da terceira dimensão é (2,2,4), ou seja, eixo = 2

referências

[1] https://blog.csdn.net/leviopku/article/details/82380710
[2] https://zhuanlan.zhihu.com/p/58672698

Acho que você gosta

Origin blog.csdn.net/zhaozhao236/article/details/109434254
Recomendado
Clasificación