Keras中 用Lambda层封装的矩阵乘法
keras中对于层的封装绝对是一个大坑,今天分享一些自己在写代码中遇到的bug。如果是对层进行矩阵乘法,假设输入层分别为A:(batch_size, 300, 64),B:(batch_size,300,64),我们需要对A进行转置再与B进行矩阵乘法,但是Keras中无法直接对tensor进行矩阵乘法,会报错,必须要对其进行封装。
# A:(batch_size, 300, 64),B:(batch_size,300,64)
A = Permute((2, 1))(A) # keras 的Permute与tensorflow 的tf.transpose相同作用
O = Lambda(