similarity_layers.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:document-qa 作者: allenai 项目源码 文件源码
def _distance_logits(self, x, keys):
        init = get_keras_initialization(self.init)
        key_w = tf.get_variable("key_w", shape=(keys.shape.as_list()[-1], self.projected_size), initializer=init, dtype=tf.float32)
        key_logits = tf.tensordot(keys, key_w, axes=[[2], [0]])  # (batch, key_len, projected_size)

        if self.shared_project:
            x_w = key_w
        else:
            x_w = tf.get_variable("x_w", shape=(x.shape.as_list()[-1], self.projected_size), initializer=init, dtype=tf.float32)

        x_logits = tf.tensordot(x, x_w, axes=[[2], [0]])  # (batch, x_len, projected_size)

        summed = tf.expand_dims(x_logits, axis=2) + tf.expand_dims(key_logits, axis=1)  # (batch, key_len, x_len, poject_size)

        summed = get_keras_activation(self.activation)(summed)

        combine_w = tf.get_variable("combine_w", shape=self.projected_size, initializer=init, dtype=tf.float32)

        return tf.tensordot(summed, combine_w, axes=[[3], [0]])  # (batch, key_len, x_len)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号