Получил фатальную ошибку, сказав, что «JVP не существует. API-интерфейсы дифференциально-первого дифференцирования являются экспериментальными и не должны использоваться». - PullRequest
1 голос
/ 05 апреля 2020

Я установил набор инструментов TensorFlow в XCode и попытался запустить пример фрагмента со страницы S4TF GitHub. Я получил следующую ошибку:

JVP does not exist. Differential-first differentiation APIs are experimental and should not be used.

Затем я попытался сделать то же самое в Google Colab и получил ту же ошибку. Вот фрагмент кода, который я пытаюсь запустить:

@differentiable
func f(_ x: Float) -> Float {
    x * x
}
let dfdx = derivative(of: f)
dfdx(3) // 6

Я понимаю, что я впервые запускаю S4TF, и я не знаю многих вещей, так что это может оказаться глупым ошибка с моей стороны:)

1 Ответ

1 голос
/ 14 апреля 2020

Вы видите эту ошибку, потому что пытаетесь получить производную прямого режима, и поддержка этого еще не была реализована в автоматизированной системе дифференциации c Swift. Текущая реализация поддерживает дифференцирование в обратном режиме, поэтому вы можете использовать вместо этого оператор gradient, чтобы получить желаемый результат:

@differentiable
func f(_ x: Float) -> Float {
    x * x
}
let dfdx = gradient(of: f)
dfdx(3) // 6

Поддержка дифференцирования в прямом режиме находится в разработке, но в настоящее время основное внимание уделяется на восходящей реализации обратного режима и уточнения этого в первую очередь. Как заявление об отказе от ответственности, я работаю в команде Swift for TensorFlow.

...