我是tensorflow的新手,正在尝试弄清楚tensorflow中的自动区分功能是否可以解决我的问题。所以我有两个网络,每个网络输出一个潜在的向量。因此,假设我的网络A输出潜在向量-La(Hxr) -其中(H,r)表示输出潜在向量La的维度。类似地,net B输出Lb(Wxr)。因此,我的目标函数将这两个延迟都作为输入,并将它们组合在一起,如(La.Lb') where (.)是点积,(')表示转置。我将使用交叉熵来优化这个目标函数。现在我的问题是
我正在重新实现,关键操作是双线性张量积。我几乎不知道这是什么意思,但这篇论文有一个很好的小图形,我理解它。
关键操作是e_1 *W* e_2,我想知道如何在tensorflow中实现它,因为剩下的应该很容易。基本上,给定3D张量W,将其切片为矩阵,对于第j个切片(矩阵),将其每边乘以e_1和e_2,得到一个标量,这是结果向量(此操作的输出)中的第j个条目。所以我想计算d维向量e_1,d x d x k张量,W,和</e
我想在同一CNN层的特征映射之间找到内积(矩阵积)。我已经创建了一个自定义层来完成这个操作,并试图在层之间应用“matmul”操作,但是我最终得到了错误。请协助我做些什么。、200、240、128、2且具有计算的输入张量: input1 = <-2 -1>的’input1_Product2__test_16/ExpandDims‘(op:'ExpandDims')的单一值的张量InnerProduct not supported for Theano")
我有两个张量X和Z,形状为(100,),我想创建一个张量X x Z,它将产生一个(100, 100)的形状。对于这个矩阵中的每一对元素,我想要应用一些我已经定义的函数,即fn(x,z),用于矩阵中的每个可能的组合。我是TensorFlow新手,习惯于按顺序思考,在处理numpy数组时,每个向量上有两个for循环。
我如何在TensorFlow中做到这一点?非常感谢。