Tensorflow计算维度

时间:2017-03-13 10:12:53

标签: tensorflow nlp

我正在尝试实施这篇论文:"与CNN"的多视角句子相似性建模。我在算法1和算法2中遇到了麻烦。 enter image description here enter image description here 这是我第一次编写TensorFlow代码。

        with tf.variable_scope("algo_1"):
        for i, pooling in enumerate([K.max, K.min, K.mean]):
            regM1, regM2 = None, None
            for j, ws in enumerate(self.wss):
                for k, atten_embed in enumerate(self.atten_embdding):
                    #conv ->(None, ws, 1, 300)    regM1/2  --> (None, 3,1,300)
                    conv = self.building_block_A(atten_embed, ws)
                    pool = pooling(conv, 1, keepdims=True)
                    #conv = tf.squeeze(conv, axis=[0, 2])
                    if j == 0:
                        if k == 0:
                            regM1 = pool
                        else:
                            regM2 = pool
                    else:
                        if k == 0:
                            regM1 = tf.concat([regM1, pool], 1)
                        else:
                            regM2 = tf.concat([regM2, pool], 1)

所以regM1和regM2是sentence1和sentence2的CNN结果。如何根据算法1和2来校准它们的相似性。

regM1 / 2的形状是[batch_size,3,1,300],其中3是ws的数量,300是过滤器的数量。我不知道如何调整两个Tensor与批次之间的余弦距离。

0 个答案:

没有答案