我是Keras的新手,我似乎无法找到与Pytorchs bmm函数或Tensorflows matmul函数等效的函数。
在Keras中与此最接近的是什么?
答案 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 。这样,您就不会使用批次尺寸。