在keras自定义层中找到两个3D张量的内积

时间:2019-03-07 06:15:48

标签: python tensorflow keras inner-product

在我的keras自定义层中,我必须找到两个3D张量的内积。例如,x =(?, 80,150,12)是该层的输入,内部乘积必须与所有4个内核切片(80,150,12,4)一起使用,其中4个是切片尺寸。我正在尝试使用K.dot做到这一点,但是我遇到了尺寸不匹配错误。代码段是-

kernel1_unpacked = tf.unstack(self.kernel1,axis=3)                
     all_probs = []

     for t in kernel1_unpacked:
         t=K.permute_dimensions(t,[2,0,1])
         B3=K.sum(K.dot(x,t),[1,2,3])
         B3=K.expand_dims(B3,1)
         print(B3)
         all_probs.append(B3)

     B4=tf.concat(all_probs[:],axis=1)

     print(B4)

输出应具有尺寸(?,4)。请帮助

0 个答案:

没有答案