|author||TensorFlow SyncBot <firstname.lastname@example.org>||Fri Sep 11 20:16:56 2020 +0000|
|committer||TensorFlow SyncBot <email@example.com>||Fri Sep 11 20:16:56 2020 +0000|
imerge 'github/tensorflow': automatic merge 147-9
|Ubuntu 16.04||Swift.org CI|
|Amazon Linux 2||x86_64|
Swift Community-Hosted CI Platforms
|Amazon Linux 2||AArch64|
|Windows 2019 (VS 2017)||x86_64|
|Windows 2019 (VS 2019)||x86_64|
Swift TensorFlow Community-Hosted CI Platforms
|Ubuntu 16.04 (GPU)||x86_64|
Swift for TensorFlow is a new programming language for TensorFlow. It is a copy of the compiler for the Swift Programming Language that adds first-class compiler and language support for machine learning.
This repository covers the compiler and standard libraries. Please visit the documentation repository for more information about the project, including a project overview, technical details, and guidelines for contributing. To use Swift for TensorFlow out of the box, follow the installation instructions. To build from source, follow the instructions below.
Swift is a high-performance system programming language. It has a clean and modern syntax, offers seamless access to existing C and Objective-C code and frameworks, and is memory safe by default.
Although inspired by Objective-C and many other languages, Swift is not itself a C-derived language. As a complete and independent language, Swift packages core features like flow control, data structures, and functions, with high-level constructs like objects, protocols, closures, and generics. Swift embraces modules, eliminating the need for headers and the code duplication they entail.
To learn more about the programming language, visit swift.org.
Contributions to Swift are welcomed and encouraged! Please see the Contributing to Swift guide.
To be a truly great community, Swift.org needs to welcome developers from all walks of life, with different backgrounds, and with a wide range of experience. A diverse and friendly community will have more great ideas, more unique perspectives, and produce more great code. We will work diligently to make the Swift community welcoming to everyone.
To give clarity of what is expected of our members, Swift has adopted the code of conduct defined by the Contributor Covenant. This document is used across many open source communities, and we think it articulates our values well. For more, see the Code of Conduct.
If you are interested in:
Swift for TensorFlow toolchains are created using the script build-toolchain-tensorflow. This script is used by swift.org's CI to produce snapshots and can allow for one to locally reproduce such builds for development or distribution purposes. A typical invocation looks like the following:
$ ./swift/utils/build-toolchain-tensorflow $BUNDLE_PREFIX
$BUNDLE_PREFIX is a string that will be prepended to the build date to give the bundle identifier of the toolchain's
Info.plist. For instance, if
com.example, the toolchain produced will have the bundle identifier
com.example.YYYYMMDD. It will be created in the directory you run the script with a filename of the form:
Beyond building the toolchain,
build-toolchain-tensorflow also supports the following (non-exhaustive) set of useful options:
--dry-run: Perform a dry run build. This is off by default.
--test: Test the toolchain after it has been compiled. This is off by default.
--pkg(macOS only): Build a toolchain installer package (
.pkg). This is off by default.
More options may be added over time. Please pass
build-toolchain-tensorflow to see the full set of options.
On macOS if one wants to install such a toolchain into Xcode:
$ sudo tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz -C / $ tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz -C ~/
The script also generates an archive containing debug symbols which can be installed over the main archive allowing symbolication of any compiler crashes.
$ sudo tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx-symbols.tar.gz -C / $ tar -xzf swift-LOCAL-YYYY-MM-DD-a-osx-symbols.tar.gz -C ~/
Try the suggestions in Troubleshooting build issues.
Make sure you are using the correct release of Xcode.
If you have changed Xcode versions but still encounter errors that appear to be related to the Xcode version, try passing
When a new version of Xcode is released, you can update your build without recompiling the entire project by passing the
Be sure to look at the documentation index for a bird's eye view of the available documentation. In particular, the documents titled Debugging the Swift Compiler and Continuous Integration for Swift are very helpful to understand before submitting your first PR.