Lesson 13 (2019) discussion and wiki

Lesson resources

Software requirements

  • You need to install swift for TensorFlow and swift-jupyter, see Jeremy’s install guide.
  • s4tf download
  • For help installing s4tf, please ask on the above thread. Don’t ask install questions in this lesson discussion thread please!

Swift resources

  • The swift book
  • A swift tour (download in playground on an iPad or a Mac if you can).
  • The harebrain forum category. This is where to ask your S4TF questions.

Other resources

Notes

8 Likes

@clattner What are your thoughts to Jeremy’s explorations and reflections on swift? Taken from the warts section.

I cherry picked and summarized a few that I felt are important for a noob like me. Please read that actual blog post since I am not doing justice by distilling it.

  • Installation of Swift is a mess. Mac’s Swift is tied to Xcode version in a confusing and awkward way and different version require different installers. Works on Linux but only Ubuntu.
  • Swift Package Manager (SPM) is not good as conda. Users requires to manage prerequisites, doesn’t let you describe how to build the packages, dependencies is handled awkwardly, and any features like conda is probably not in SPM.
  • Swift community teaches you bad habits? because most solutions will be done in the style of Objective-C or advice on how to get Xcode to do things for you, rather than writing the code yourself
  • Swift can’t interface with C++ at all while many of the most useful numeric libraries today are written in C++ (I believe Chris mention that Google? will be converting a lot of packages to swift and is gonna post tutorial on how to do this) But there are a lot of packages.
10 Likes

Note: over the course of this week, Colab will be updated to Swift for TensorFlow v0.3, and we will update the notebooks at that time.

7 Likes

Last time I checked, it wasn’t possible to choose Swift in Colab drop down menu, the only way to get it in Colab was to clone an existing Swift Colab notebook. Is that going to be fixed?

5 Likes

Great question! This is something we will fix soon. :slight_smile:

3 Likes

I’m curious, how many people are working full time on S4TF at Google right now?

3 Likes

We have about 8 people on my team, but there are a number of very close friends across Alphabet. :slight_smile:

4 Likes

A follow-up question from Jeremy’s comments at the end of last class:

Why has fast.ai chosen Swift over Julia??

5 Likes
3 Likes

Here is the blog post Jeremy is mentioning.

2 Likes

i get the impression v4 of the course (or 2020 version) will be in Swift 4 TF…

3 Likes

How long will fastai support PyTorch?

google needs it … its says all … so Swift is the way forward

1 Like

There is no short term plan to discontinue support for PyTorch. The idea is to have fastai sitting on different languages.

7 Likes

Google have a long write up on why they chose it:

4 Likes

From the class lecture:

Julia is too mature; Swift is new and maleable

S4TF is support by Google, so they have to make sure it works.

Jeremy likes the direction S4TF is going better than the direction Julia is going

4 Likes

Will S4TF support other than Nvidia GPUs?
like AMD Radeon 7, which has 2x the memory of 2080 which costs similar money.

Do you already see other big OS projects / groups like Google start to work on Swift / S4TF as well? Or are Google and fastai the only ones right now?

Here is Jeremy’s post that Chris just quoted: https://www.fast.ai/2019/01/10/swift-numerics/

7 Likes