Swift For TensorFlow を Mac に インストールして Xcodeで使えるようにしてみた

概要

以下の環境で確認しています。

macOS High Sierra 10.13.4
Xcode 9.3

Swift For TensorFlowがオープンソースGithubに公開されたそうです。

github.com

[公式サイトのInstall方法] (https://github.com/tensorflow/swift/blob/master/Installation.md)を参考にしてインストールしてみました。

Swift for TensorFlow について

Swift for TensorFlow is a new way to develop machine learning models. It gives you the power of TensorFlow directly integrated into the Swift programming language. With Swift, you can write the following imperative code, and Swift automatically turns it into a single TensorFlow Graph and runs it with the full performance of TensorFlow Sessions on CPU, GPU and TPU.

機械学習の新しい手法として発表されたものです。

It gives you the power of TensorFlow directly integrated into the Swift programming language. とあるように Swift の中に ビルドされた TensorFlowが直接組み込まれていて、以下 レポジトリの tensorflow ブランチで開発が行われています。

f:id:ikkitang1211:20180430122750p:plain

なんというか、 Apple社 の swiftレポジトリをフォークして Googleが開発を行っている、ってのが感慨深いですよねー。(雑)

Install 方法

さて、本題です。

必要環境

macOS 10.12.4 (以上)
Xcode 9.0 (以上)

Pre-built Packages をダウンロードする.

tensorflow/swift #Pre-built Packages にリンクがあります。

ダウンロードしてください。

.pkg の指示に従ってインストールをする。

スクショ取るの忘れちゃった笑
指示に従ってインストールしてください。

正常にインストールされると、以下のように /Library/Developer/Toolchains/ に 入ります。

f:id:ikkitang1211:20180430104125p:plain

下の swift-tensorflow-DEVELOPMENT-2018-04-26-a.xctoolchain がそれです。

.xctoolchain って・・?

公式サイト によると、

An Xcode toolchain (.xctoolchain) includes a copy of the compiler, lldb, and other related tools needed to provide a cohesive development experience for working in a specific version of Swift.

ってありました。

まあ、swiftのバージョンに応じた依存関係を良いように解決する為のパッケージ的な認識で良いんだろうか?

今回インストールしたものは ビルドされたTensorFlowがインストールされたSwift なので、 この ビルドされたTensorFlowがインストールされたSwift を動かす為の依存関係が定義されてる、といった感じでしょうかね。

Xcode で使用する Swift を変更する

Xcode を起動して、 左上の Xcode > Preferences を選択します。

f:id:ikkitang1211:20180430105121p:plain

Preferences を表示した後、 Components > ToolChains を選択してください。

f:id:ikkitang1211:20180430105218p:plain

現在は ToolChain が Xcode9.3 になっているので、これを Swift For TensorFlow Development Snapshot に変更します。

これで このXcodeに限り、 ビルドされたTensorFlowが入ったSwift で動作(コンパイル)するようになります。

もし、 コマンドライン上で使用するSwiftのバージョン等を変更したい場合は パスを変更する事でそれを変更します。

(公式サイトより引用)

$ export PATH=/Library/Developer/Toolchains/swift-latest/usr/bin:"${PATH}"

これでインストール方法については終わりです。

次回の予定

次回は以下の公式サイトを参考にして、 playground で 動かしてみたいと思います。

github.com