Swift for TensorFlow

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Reaction score
405
Location
For anyone that's interested in TensorFlow, or Swift might be interested in the following development announced early hours of this morning.

Google: TensorFlow Dev Summit 2018 said:
Chris Lattner and Richard Wei unveil Swift for TensorFlow (TFiwS) as an early stage open source project. It has many design advantages, and will be released with technical whitepaper, code, and an open design approach in April of this year. TFiwS means TensorFlow integrated with Swift but we are officially calling it Swift for TensorFlow. Stay tuned for more announcements from the TensorFlow team regarding the support of Swift!

Highlights:
Current approaches to machine learning frameworks typically involve a choice between building:
  1. Graphs: explicit graph build and execution
    • Best for performance
    • Sacrifices usability e.g. no standard language control flows.
  2. Eager execution: interpreted code
    • A lot easier to use because it's built using standard language control flow
    • Problem is we sacrifice performance when compared with a graph
These constraints behind this are however specific to Python / Interpreter based languages, constraints which are not inherent to Swift because of how it integrates with custom optimisers and it's integration with LLVM.

Summary of benefits Swift Tensorflow over Python; it provides:
  • Performance of graphs
  • Native language control flow
  • Automatic differentiation
  • Ability to detect errors before running
  • Full python interoperability without the need for wrapper classes (Swift support for Dynamic Member Lookup) -- This is however not limited to Python and can fairly easily be extended to other script based languages: Ruby, Javascript, etc.
Basically the Swift TensorFlow compiler optimiser automatically partitions more naturally written language control flow into a combination of graph and eager execution to ensure that we not only benefit from easier usability (writing code) without compromising performance, and this scales all the way from tiny Raspberry Pi processors up to the cloud based TPU supercomputers.

Screen Shot 2018-03-31 at 10.55.27 AM.png

Release schedule:
Open source (early stage) release in April.

[video=youtube_share;Yze693W4MaU]https://youtu.be/Yze693W4MaU[/video]

FYI, There was many other interesting topics and releases announced yesterday. Full playlist can be found here: https://www.youtube.com/playlist?list=PLQY2H8rRoyvxjVx3zfw4vA4cvlKogyLNN

For the Javascript guys; have a look at this session: https://youtu.be/YB-kfeNIPCE
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X