turicreate icon indicating copy to clipboard operation
turicreate copied to clipboard

Publish a Docker image containing a runnable Turi Create

Open znation opened this issue 5 years ago • 5 comments

It should be possible to publish a minimal Docker image, consisting of Turi Create + its dependencies, for users to be able to more easily try out Turi Create (without needing to deal with Python environment/package management, satisfying runtime dependencies, etc.). It could potentially even serve as the base for other images.

znation avatar Mar 16 '19 05:03 znation

@znation

I was just going through the creation of a Docker image to run Turi Create and Jupyter notebook together without having to setup venv on everyone's machine.

  • I could not use Jupyter's official images such as jupyter/scipy-notebook because Turi Create is compatible with Python 3.6.x and Jupyter image seem to install the latest 3.7.x. So I used python:3.6.8 image to install Turi Create and that seemed to work fine.
  • I'm now wondering if venv is actually a better route for taking advantage of MacBook's GPU and Memory vs running it within Docker. I wouldn't want to introduce latency in model training for the sake of containerization. Thoughts?

elishaterada avatar Mar 21 '19 23:03 elishaterada

@elishaterada When running on macOS as the host OS, the macOS-native version of Turi Create running inside a virtualenv will definitely be the way to go. In this case, Turi Create has full access to the host OS, including frameworks like Metal Performance Shaders for fast neural network routines on the GPU. If you are running inside of Docker, it will be more difficult to take full advantage of the hardware when the host OS is macOS.

If the host OS is Linux, in theory Docker should be able to take full advantage of the host OS's hardware including GPU, though this may require some extra setup and I haven't tried it.

znation avatar Mar 21 '19 23:03 znation

@znation thank you for your insight! I think we'll use virtualenv instead to take full advantage of macOS as the host OS.

elishaterada avatar Mar 21 '19 23:03 elishaterada

is it created ?

ikshansh avatar May 18 '20 17:05 ikshansh

@znation

I was just going through the creation of a Docker image to run Turi Create and Jupyter notebook together without having to setup venv on everyone's machine.

  • I could not use Jupyter's official images such as jupyter/scipy-notebook because Turi Create is compatible with Python 3.6.x and Jupyter image seem to install the latest 3.7.x. So I used python:3.6.8 image to install Turi Create and that seemed to work fine.
  • I'm now wondering if venv is actually a better route for taking advantage of MacBook's GPU and Memory vs running it within Docker. I wouldn't want to introduce latency in model training for the sake of containerization. Thoughts?

pip install turicreate in venv doesn't work in Windows 8.x. Not an issue for me since I'm running Linux, it's my friend who's still on 8.1

DanEscasa avatar Nov 11 '20 01:11 DanEscasa