gpt4 book ai didi

swift - Tensorflow 中张量的可微积

转载 作者:行者123 更新时间:2023-11-30 10:32:58 25 4
gpt4 key购买 nike

我正在尝试在 Swift 中为 Tensorflow 创建余弦相似度层,以创建词嵌入。

我尝试根据维基百科的定义通过张量函数来实现它。

@differentiable
func cosineSimilarity(_ input: Tensor<Float>) -> Tensor<Float> {
// https://en.wikipedia.org/wiki/Cosine_similarity

let numerator = input.product(squeezingAxes: 1).sum(squeezingAxes: 1)
let denominator = sqrt(input.squared().sum(squeezingAxes: 1)).product(squeezingAxes: 1)

return numerator / denominator
}

但它会导致编译错误:

error: expression is not differentiable
let denominator = sqrt(input.squared().sum(squeezingAxes: 1)).product(squeezingAxes: 1)

具有突出的产品功能。因为乘积只是乘法之和,所以我希望它能起作用。如果我尝试在 for 循环中手动创建产品,它可以工作,但速度非常慢。

最佳答案

因此,Swift for Tensorflow 中并未实现产品差异化。带有实现的拉取请求当前已在https://github.com/tensorflow/swift-apis/pull/550处开放.

关于swift - Tensorflow 中张量的可微积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58725888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com