Differentiable programming: Difference between revisions

Content deleted Content added
Add see also
Add description of the Swift for TensorFlow framework.
Line 12:
 
A more recent framework in the [[Julia (programming language)|Julia]] programming language — [https://github.com/FluxML/Zygote.jl Zygote] — resolves the issues that earlier attempts faced by treating the language's syntax as the graph; the [[intermediate representation]] for arbitrary Julia code can then be differentiated directly, [[compiler optimization|optimized]], and compiled.<ref name="flux" /><ref>{{cite arxiv|last=Innes|first=Michael|date=2018-10-18|title=Don't Unroll Adjoint: Differentiating SSA-Form Programs|eprint=1810.07951|class=cs.PL}}</ref> An in-development differentiable programming language called [[Myia (programming language)|Myia]] also uses a similar approach.<ref name="myia1" />
 
Another recent project is [https://forums.swift.org/t/pre-pre-pitch-swift-differentiable-programming-design-overview/25992 differentiable programming in Swift] which integrates differentiability as part of a general-purpose, [[Type system#Static%20type%20checking|statically typed]] programming language. It is being developed by [[Google]] as part of their [https://www.tensorflow.org/swift Swift for TensorFlow] machine learning framework. Differentiable programming in Swift extends the type system to make differentiable functions first-class values, and is implemented as a compiler transformation on the Swift intermediate language ([https://github.com/apple/swift/blob/tensorflow/docs/SIL.rst SIL]). It leverages [[Protocol (object-oriented programming)|protocol-oriented programming]] ([[Type class|type classes]]) to allow custom differentiable data structures. The authors will propose it as a possible fully integrated feature of the Swift language as part of a future release<ref>{{Cite web|url=https://forums.swift.org/t/pre-pre-pitch-swift-differentiable-programming-design-overview/25992|title=Pre-pre-pitch: Swift Differentiable Programming Design Overview|date=2019-06-17|website=Swift Forums|language=en-US|access-date=2019-06-18}}</ref>.
 
==See also==