Swift TensorFlow REPL
Dockerized Swift for TensorFlow REPL
swift-tensorflow-repl
Dockerized Swift for TensorFlow REPL based on swift-tensorflow. This image is available now on Docker Hub at zachgray/swift-tensorflow-repl:4.2
.
Motivation
With this container, you can run the Swift for TensorFlow REPL with a single command.
Overview
This image will allow you to easily take the official Swift for TensorFlow for a test drive without worrying about installing dependencies, changing your path, and interfering with your existing Swift/Xcode config.
Run
Note: when running this interactive container with the standard -it
, we also must run without the default seccomp profile with --security-opt seccomp:unconfined
to allow the Swift REPL access to ptrace
and run correctly.
Run the swift-tensorflow-repl
container:
docker run --rm --security-opt seccomp:unconfined -it zachgrayio/swift-tensorflow-repl:4.2
Observe the output:
Welcome to Swift version 4.2-dev (LLVM 04bdb56f3d, Clang b44dbbdf44). Type :help for assistance.
1>
Interact with TensorFlow:
1> import TensorFlow
2> var x = Tensor([[1, 2], [3, 4]])
2018-04-27 04:30:17.505272: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
x: TensorFlow.Tensor<Double> = [[1.0, 2.0], [3.0, 4.0]]
3> x + x
$R0: TensorFlow.Tensor<Double> = [[2.0, 4.0], [6.0, 8.0]]
4> :exit
Run with Volume
To do real work with TensorFlow, you'll likely want to access your local disk. This is accomplished easily in Docker by mounting your current working directory into the container.
Run the swift-tensorflow-repl
container:
docker run --rm --security-opt seccomp:unconfined -itv ${PWD}:/usr/src \
zachgrayio/swift-tensorflow-repl:4.2
Files in your current working directory are now available; the file file.txt
will be accessible at path /usr/src/file.txt
.
Create a run script (optional)
nano tfrepl.sh
Paste:
#!/usr/bin/env bash
docker run --rm --security-opt seccomp:unconfined -itv ${PWD}:/usr/src \
zachgrayio/swift-tensorflow-repl:4.2
- Press Ctrl + O
- Press ENTER
- Press Ctrl + X
chmod +x ./tfrepl.sh
Run with ./tfrepl.sh
.
Advanced Usage
You should make use of the parent image swift-tensorflow and its deeper documentation for advanced use cases such as:
- Compiling executables
- Passing scripts to the interpreter
- Importing third-party libraries such as RxSwift into your REPL session
- Creating and building SPM projects
License
This project is MIT Licensed.
Repository Information
https://github.com/zachgrayio/swift-tensorflow-repl
Technologies