Skip to content
This repository was archived by the owner on Mar 30, 2022. It is now read-only.

Commit e1e6a17

Browse files
authored
v0.3 release. (#175)
- Add RELEASES.md: release notes (new features, acknowledgements, link to known issues). - Add KNOWN_ISSUES.md: curated list of issues. - Update README.md. - Minor edits, add links to new docs.
1 parent 5b588c2 commit e1e6a17

File tree

5 files changed

+332
-175
lines changed

5 files changed

+332
-175
lines changed

Installation.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,25 @@ To install Swift for TensorFlow, download one of the packages below and follow t
88

99
## Releases
1010

11+
| Download | Version | Date |
12+
|----------|---------|------|
13+
| [Xcode 10](https://storage.googleapis.com/swift-tensorflow-artifacts/releases/v0.3/rc1/swift-tensorflow-RELEASE-0.3-osx.pkg) | v0.3 | April 23, 2019 |
14+
| [Ubuntu 18.04 (CPU Only)](https://storage.googleapis.com/swift-tensorflow-artifacts/releases/v0.3/rc1/swift-tensorflow-RELEASE-0.3-ubuntu18.04.tar.gz) | v0.3 | April 23, 2019 |
15+
| [Ubuntu 18.04 (CUDA 10.0)](https://storage.googleapis.com/swift-tensorflow-artifacts/releases/v0.3/rc1/swift-tensorflow-RELEASE-0.3-cuda10.0-cudnn7-ubuntu18.04.tar.gz) | v0.3 | April 23, 2019 |
16+
| [Ubuntu 18.04 (CUDA 9.2)](https://storage.googleapis.com/swift-tensorflow-artifacts/releases/v0.3/rc1/swift-tensorflow-RELEASE-0.3-cuda9.2-cudnn7-ubuntu18.04.tar.gz) | v0.3 | April 23, 2019 |
17+
18+
<details>
19+
<summary>Older Packages</summary>
20+
1121
| Download | Version | Date |
1222
|----------|---------|------|
1323
| [Xcode 10](https://storage.googleapis.com/s4tf-kokoro-artifact-testing/versions/v0.2/rc3/swift-tensorflow-RELEASE-0.2-osx.pkg) | v0.2 | March 1, 2019 |
1424
| [Ubuntu 18.04 (CPU Only)](https://storage.googleapis.com/s4tf-kokoro-artifact-testing/versions/v0.2/rc3/swift-tensorflow-RELEASE-0.2-ubuntu18.04.tar.gz) | v0.2 | March 1, 2019 |
1525
| [Ubuntu 18.04 (CUDA 10.0)](https://storage.googleapis.com/s4tf-kokoro-artifact-testing/versions/v0.2/rc3/swift-tensorflow-RELEASE-0.2-cuda10.0-cudnn7-ubuntu18.04.tar.gz) | v0.2 | March 1, 2019 |
1626
| [Ubuntu 18.04 (CUDA 9.2)](https://storage.googleapis.com/s4tf-kokoro-artifact-testing/versions/v0.2/rc3/swift-tensorflow-RELEASE-0.2-cuda9.2-cudnn7-ubuntu18.04.tar.gz) | v0.2 | March 1, 2019 |
1727

28+
</details>
29+
1830
## Development Snapshots
1931

2032
| Download | Date |

KNOWN_ISSUES.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Swift for TensorFlow Known Issues
2+
3+
This is a curated list of known Swift for TensorFlow issues. With every release,
4+
new issues are added and resolved issues are updated.
5+
6+
Please see the [JIRA issue tracker](https://bugs.swift.org/projects/TF/issues)
7+
for a full list of known issues.
8+
9+
## Version 0.3
10+
11+
### TensorFlow Library
12+
13+
* [ ] `Tensor` advanced indexing and striding are not supported on GPU.
14+
15+
## Version 0.2
16+
17+
### Notebook Environments (Colab and Jupyter)
18+
19+
* [ ] When a runtime error occurs or when you interrupt cell execution,
20+
resources (e.g. host memory, GPU memory) do not get released. This can
21+
lead to OOMs. ([TF-338](https://bugs.swift.org/browse/TF-338))
22+
* Workaround: Restart the runtime (`Runtime > Restart Runtime` in the Colab
23+
menu bar) to release all the resources.
24+
* [ ] If the last statement on a cell evaluates to a struct that was defined in
25+
the notebook, then you get an error ("use of undeclared type") instead of
26+
seeing the value of the statement.
27+
([TF-125](https://bugs.swift.org/browse/TF-125))
28+
* Workaround: Wrap the last statement in `print()`.
29+
* [ ] Using extensions to conform a type to a protocol (e.g. `extension MyType:
30+
MyProtocol { ... }`), often causes duplicate conformance errors.
31+
([TF-162](https://bugs.swift.org/browse/TF-162))
32+
* Workaround: Add the conformance in the same cell where the type is defined.
33+
* [ ] If a cell that declares a type executes twice, then it creates two
34+
different types with the same name. Mixing these types can lead to
35+
confusing error messages like `cannot convert value of type 'MyType' to
36+
expected argument type 'MyType'`.
37+
([TF-156](https://bugs.swift.org/browse/TF-156))
38+
* Workaround: Re-run all cells that use the declared type, so that they use the
39+
new type.
40+
* [ ] The autocomplete UI should show types and documentation. It should
41+
position your cursor in the first argument when you complete a function
42+
call.
43+
44+
### Swift Standard Library Enhancements
45+
46+
* [ ] The
47+
[`Differentiable`](https://www.tensorflow.org/swift/api_docs/Protocols/Differentiable)
48+
protocol's `allDifferentiableVariables` requirement should not have a
49+
setter. Do not use this directly through a generic type with a
50+
`Differentiable` conformance constraint.
51+
([TF-208](https://bugs.swift.org/browse/TF-208))
52+
53+
### Swift for TensorFlow Deep Learning Library
54+
55+
* [ ] Many Keras layers remain to be implemented, help wanted!
56+
([swift-apis#54](https://github.com/tensorflow/swift-apis/issues/54))
57+
* [ ] There is no built-in API for parameter sharing.
58+
* [ ] The
59+
[`Parameter`](https://www.tensorflow.org/swift/api_docs/Classes/Parameter)
60+
class does not conform to `Differentiable` yet, and is not recommended for
61+
general use.
62+
* [ ] The compiler errors displayed when a user-defined layer struct fails to
63+
fully satisfy the requirements of the `Layer` protocol are unclear.
64+
65+
### Automatic Differentiation
66+
67+
* [ ] Differentiation does not yet support functions with control flow.
68+
([TF-356](https://bugs.swift.org/browse/TF-356))
69+
* [ ] Differentiating functions with respect to an `inout` parameter is not yet
70+
supported. ([TF-357](https://bugs.swift.org/browse/TF-357))
71+
* [ ] The compiler will only synthesize conformance requirements for
72+
`Differentiable` in `struct` types.
73+
([TF-37](https://bugs.swift.org/browse/TF-37))
74+
* [ ] The `@differentiable` attribute incorrectly passes type-checking in some
75+
cases, when an error should be produced. This leads to compiler crashes.
76+
([TF-449](https://bugs.swift.org/browse/TF-449))
77+
* [x] ~~The `@differentiating` attribute leads to a compiler crash when the
78+
derivative function is defined in a generic context that is more
79+
constrained than the original function's generic context.
80+
([TF-358](https://bugs.swift.org/browse/TF-358))~~
81+
* Resolved (v0.3). The `@differentiating` attribute can register derivatives
82+
with a generic context that is more constrained than the original function's
83+
generic context.
84+
* [ ] Referring to a `@differentiable` function using key paths leads to a
85+
compiler crash. ([TF-123](https://bugs.swift.org/browse/TF-123))
86+
87+
### Python Interoperability
88+
89+
* [ ] When the execution of a Python expression raises an exception, the stack
90+
trace will not show the Python call stack.
91+
* [ ] When an argument to a Python function cannot be converted to a Python
92+
object, the compiler wrongly claims that the function is of non-function
93+
type rather than pointing out that the argument doesn't conform to
94+
`PythonConvertible` ([TF-220](https://bugs.swift.org/browse/TF-220)).
95+
* [ ] Python TensorFlow cannot be imported because of various issues (binary
96+
incompatibility, symbol conflicts).

README.md

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,24 @@
77
> Swift for TensorFlow: No boundaries.
88
99
Swift for TensorFlow is a next-generation platform for machine learning,
10-
incorporating the latest research across: machine learning, compilers,
11-
differentiable programming, systems design, and beyond. This project is at
12-
version _0.2_; it is neither feature-complete nor production-ready. But it is
13-
ready for _pioneers_ to try it for your own projects, give us feedback, and help
14-
shape the future!
10+
incorporating the latest research across machine learning, compilers,
11+
differentiable programming, systems design, and beyond. This is an early-stage
12+
project: it is not feature-complete nor production-ready, but it is ready for
13+
_pioneers_ to try in projects, give feedback, and help shape the future!
1514

1615
The Swift for TensorFlow project is currently focusing on 2 kinds of users:
1716

18-
1. **Advanced ML researchers** who are limited by current ML frameworks.
19-
Swift for TensorFlow's advantages include a seamless integration with a modern general-purpose
20-
language, allowing for more dynamic and sophisticated models. Fast
21-
abstractions can be developed "in user-space" (as opposed to in C/C++
22-
aka "framework-space"), resulting in modular APIs that can be easily
23-
customized.
17+
1. **Advanced ML researchers** who are limited by current ML frameworks. Swift
18+
for TensorFlow's advantages include a seamless integration with a modern
19+
general-purpose language, allowing for more dynamic and sophisticated models.
20+
Fast abstractions can be developed "in user-space" (as opposed to in C/C++
21+
aka "framework-space"), resulting in modular APIs that can be easily
22+
customized.
2423

25-
2. **ML learners** who are just getting started with machine learning. Thanks
26-
to Swift's support for quality tooling (e.g. context-aware autocomplete),
27-
Swift for TensorFlow can be one of the most productive ways to get started
28-
learning the fundamentals of machine learning.
24+
2. **ML learners** who are just getting started with machine learning. Thanks to
25+
Swift's support for quality tooling (e.g. context-aware autocomplete), Swift
26+
for TensorFlow can be one of the most productive ways to get started learning
27+
the fundamentals of machine learning.
2928

3029
## Getting started
3130

@@ -59,6 +58,8 @@ Tutorial | Last Updated |
5958

6059
- [Models and Examples](https://github.com/tensorflow/swift-models)
6160
- [TensorFlow Swift API Reference](https://www.tensorflow.org/api_docs/swift/Structs/Tensor)
61+
- [Release Notes](RELEASES.md)
62+
- [Known Issues](KNOWN_ISSUES.md)
6263
- [Frequently Asked Questions](FAQ.md)
6364

6465
### Forums
@@ -74,7 +75,7 @@ gives you the power of
7475
[TensorFlow](https://www.tensorflow.org) directly integrated into the
7576
[Swift programming language](https://swift.org/about). We believe that
7677
machine learning paradigms are so important that they deserve
77-
**first-class language and compiler support**.
78+
**first-class language and compiler support**.
7879

7980
A fundamental primitive in machine learning is gradient-based optimization:
8081
computing function derivatives to optimize parameters. With Swift for
@@ -169,9 +170,10 @@ Additional code repositories that make up the core of the project include:
169170
- [Deep learning library](https://github.com/tensorflow/swift-apis): high-level
170171
API familiar to Keras users.
171172

172-
> Swift for TensorFlow is **not** intended to remain a long-term fork of the official
173-
> Swift language. New language features will eventually go through the Swift evolution process
174-
> as part of being considered for being pulled into master.
173+
> Swift for TensorFlow is **not** intended to remain a long-term fork of the official
174+
> Swift language. Language additions are designed to fit with the direction of
175+
> Swift and will go through the [Swift
176+
> Evolution](https://github.com/apple/swift-evolution) process.
175177
176178
### Jupyter Notebook support
177179

@@ -197,7 +199,8 @@ For the most part, the core team's development is also tracked in
197199

198200
### Contributing
199201

200-
We welcome contributions from everyone. Read the [contributing guide](Contributing.md) for information on how to get started.
202+
We welcome contributions from everyone. Read the [contributing
203+
guide](Contributing.md) for information on how to get started.
201204

202205
### Code of conduct
203206

0 commit comments

Comments
 (0)