我有一个张量如下。张量的形状为[batch_size,feature_nm,k]。 k是潜在向量的预定长度。每个实例都有五个功能。
[[[-0.00255103 -0.00231744 0.00135863 0.00017766 0.00238743] #ins1feat1
[-0.00666027 -0.00032014 -0.00050641 0.00394873 -0.00182741] #ins1feat2
[ 0. -0. -0. -0. 0. ] #ins1feat3
[ 0. -0. -0. -0. 0. ] #ins1feat4
[ 0. -0. -0. -0. 0. ]] #ins1feat5
[[-0.00160996 0.00207079 0.00095345 0.00187595 -0.00091405] #ins2feat1
[ 0.00434908 -0.00408608 0.00463932 0.00424803 -0.00064993] #ins2feat2
[-0.00260858 0.00889932 -0.01180073 0.00346268 -0.00895796] #ins2feat3
[ 0. -0. -0. -0. 0. ] #ins2feat4
[ 0. -0. -0. -0. 0. ]]] #ins2feat5
在每个实例中,我想计算所有成对交互的总和,例如,对于实例1,我想要得到result1。
result1 = ins1feat1 * ins1feat2 + ins1feat1 * ins1feat3 + ins1feat1 * ins1feat4 + ins1feat1 * ins1feat5
+ ins1feat2 * ins1feat3 + ins1feat2 * ins1feat4 + ins1feat2 * ins1feat5
+ ins1feat3 * ins1feat4 + ins1feat3 * ins1feat5
+ ins1feat4 * ins1feat5
在这种情况下,给定张量,输出应为batch_size个实数值。每个值是相应实例中所有成对交互的总和。