vanh
March 6, 2019, 11:58pm
1
Reading block post about swift coming to fastai I wonder why swift instead of Julia which to me seems to be better equip than swift.
2 Likes
adrian
(adrian)
March 7, 2019, 11:53am
2
See the âWhy Swift for Tensorflowâ document which has an overview at least from the TF teamâs perspective.
# Why *Swift* for TensorFlow?
* Date: April 2018
The core [graph program extraction algorithm](GraphProgramExtraction.md), [automatic differentiation](AutomaticDifferentiation.md), and [Python language interoperability](PythonInteroperability.md) features of Swift for TensorFlow can be implemented for other programming languages, and we are occasionally asked why we didnât use some other one for this project.
The engineers on the project were previously familiar with Swift (and several other languages), but the choice was guided by the goals of our project, which imposed specific technical requirements (explained below). This choice was also discussed extensively, debated with coworkers and other interested engineers, and we concluded that Swift was the best direction. In this document we're sharing our deliberation process with the community to help explain our decisions.
That said, while our choice of language was guided by our specific project goals, we would love to see wider application of these techniques and ideas in the context of other programming languages! If you are interested in pursuing a similar project, please reach out to us and we will happily share our expertise.
### How we got here
As discussed in the [design overview document](DesignOverview.md) our project goal is to improve usability of TensorFlow. We quickly realized that our core [static analysis-based Graph Program Extraction algorithm](GraphProgramExtraction.md) would not work well for Python given its highly dynamic nature. This led us down the path of having to pick another language to work with, and we wanted to approach this methodically. As such, we defined goals for the project, explored which properties of a programming language are important to achieve those goals, and then evaluated a lot of languages against these properties. You already know the outcome--we eventually settled on Swift.
Below we explain [our project goals](#project-goals), discuss the [programming language properties](#properties-of-programming-languages) that contribute to these goals, provide a short [evaluation of specific languages](#which-languages-fit-our-project-requirements) against those goals, and discuss the [pros and cons of Swift](#evaluating-swift-against-our-language-properties) specifically.
## Project goals
TensorFlow is a world-class machine learning framework used by a wide range of different people for lots of different things. Our project goal is to provide a new interface to TensorFlow that builds on TensorFlowâs power and capabilities, while taking its usability to a whole new level. Our aim is to make machine learning researchers (both theoretical and applied), production engineers deploying at scale, and anyone else using TensorFlow more productive and joyful without sacrificing anything that already makes TensorFlow great.
This file has been truncated. show original
1 Like
Because there are Apple and Google behind Swift?
Gotta checkout Gilbert Strangâs impression for Julia, Swift is such a beautiful languageâŚ
vanh
March 9, 2019, 1:24am
5
Does this mean that fastai will also support tensorflow?
So now you can pick whether to use tensorfow or pytorch when running your model?
vanh
March 9, 2019, 1:27am
6
Thank adrian for the info. It turn out the tensorflow team pick swift because of Chris Lattner is on their team!
@vanh Just to add, in case you missed it there was also a presentation and announcement for TensorFlow.jl. You can check out the codebase for it at the link below.
vanh
March 9, 2019, 2:23am
8
Look very interesting I wonder if fastai would be interested?
Interesting âŚ
came across swift-jupyter https://github.com/google/swift-jupyter
I think this is also available by default in your colab environment but havenât tried it yet though
rother
(Kristian Rother)
March 22, 2019, 1:20pm
10
Some pretty cool developments in Julia-land recently (debugger): https://julialang.org/blog/2019/03/debuggers
vanh
April 10, 2019, 3:52am
11
I have not try it yet. Donât know how well it works.
komuher
(kom)
July 7, 2019, 12:20pm
12
Also think Julia will be better choice i know google get Swift creator thats why they are doing it but here at fast.ai i was hoping for usage of âbestâ tools