At the TensorFlow Developer Summit in March, we announced and demo’d the Swift for TensorFlow project. Now, we’re excited to launch Swift for TensorFlow as an open-source project on GitHub!

Swift for TensorFlow provides a new programming model that combines the performance of graphs with the flexibility and expressivity of Eager execution, with a strong focus on improved usability at every level of the stack. This is not just a TensorFlow API wrapper written in Swift — we added compiler and language enhancements to Swift to provide a first-class user experience for machine learning developers.

Our approach is a new and different way to use TensorFlow, opening new design opportunities and new avenues for solving existing problems. Though the project is in early development, we’ve decided to open-source it and move our design discussions to a public mailing list so anyone interested in the project can get involved. We’ve written some detailed documents to outline our approach and explain how things work, all accessible from our project README.

A good place to start is the Swift for TensorFlow Design Overview, which explains the major components of the project and how they fit together. After that, we have a few documents which dive deeper into important areas of the project.

A cornerstone of our design is an algorithm we call Graph Program Extraction, which allows you to write in an eager execution-style programming model while retaining all of the benefits of graphs. Our design also includes support for advanced automatic differentiation built directly into Swift. Read more from…

thumbnail courtesy of