Keras相当于Tensorflow的matmul功能

时间:2018-04-07 11:06:49

标签: tensorflow machine-learning keras

我是Keras的新手,我似乎无法找到与Pytorchs bmm函数或Tensorflows matmul函数等效的函数。

在Keras中与此最接近的是什么?

3 个答案:

答案 0 :(得分:0)

keras.backend.dot

来自文档:

  

将2个张量(和/或变量)相乘并返回张量。

答案 1 :(得分:0)

后端函数只是指向它们的tensorflow / theano源,不能按原样使用。要使用它们,您需要将它们包装到Lambda层中:

from keras.layers import Lambda
from keras import backend as K
# this is simply defining the function
matmul = Lambda ( lambda x: K.dot(x[0], x[1]) 
# this is applying the function
tensor_product = matmul([tensor1, tensor2])

不将后端函数包装到Lambda图层中将导致TypeError。或者,您可以使用Dot图层来计算您选择的轴上的点积:

from keras.layers import Dot
tensor_product = Dot(axes=-1)([tensor1, tensor2])

答案 2 :(得分:0)

从技术上讲。.我认为与tf.matmul直接等效的是 K.batch_dot 。这样,您就不会使用批次尺寸。