计算Tensorflow中每对行的交互

时间:2018-07-11 14:55:44

标签: python tensorflow

我有一个张量如下。张量的形状为[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个实数值。每个值是相应实例中所有成对交互的总和。

0 个答案:

没有答案