tensorflow / swift

Swift for TensorFlow
https://tensorflow.org/swift
Apache License 2.0
6.13k stars 606 forks source link

Resurrect S4TF #623

Closed philipturner closed 2 years ago

philipturner commented 2 years ago

@compnerd some time after I finish reviving the Swift kernel for Google Colab (link), I’m making a PR to this repo with major changes to the README. Since this would be going against Google's decision to archive it, I expect that you can't approve of the commit yourself. Is there any way we could contact people leading TensorFlow to get them to approve of un-archiving?

@BradLarson @rxwei @dan-zheng @lattner also pinging you, although @compnerd is the only person who seems to be able to make commits now.

philipturner commented 2 years ago

For starters, the update date of the differentiable programming manifesto and implementation overview are out of date. Also, the guidance to try vanilla Swift in a broken Colab notebook is inaccurate.

philipturner commented 2 years ago

We should wait to postpone merging the PR until after autodiff is stable enough to build swift-apis again. Also, I'll need to verify that GPU and TPU acceleration work on Google Colab. I don't see the need to wait for MetalXLA completion to do the un-archiving though.

Even though the PR has no chance of being merged right away, it's a good idea to work on a draft for a new README and on updating the Colab tutorials. It could happen on a branch or fork of S4TF, but I would like you to give feedback just as if it's merging into main.

philipturner commented 2 years ago

On the Testing section of Swift-Colab's README, most tutorials that don't directly depend on TensorFlow are salvageable. It's just Custom Differentiation that's the problem (it was also discussed when transforming the Differentiable Programming Implementation into Markdown).

Since side-loading Swift on Google Colab requires a release toolchain, it requires importing my Differentiation package and replacing all instances of _Differentiation with Differentiation. Until autodiff is officially part of the Swift compiler, work on swift-apis may need to be done in a branch or fork.