快速運行TensorFlow的6種方式

快速運行TensorFlow的6種方式

TensorFlow(http://tensorflow.org)是一個深度學習計算引擎,天然是能夠直接安裝運行的,並且能獲得最佳的性能。可是,考慮到機器學習須要安裝大量的軟件,之間必然會帶來軟件管理和版本兼容性問題,並且在集羣中運行更爲複雜,所以不推薦這種方式。python

這裏將介紹幾種能夠在隔離環境中運行TensorFlow的方式,包括:Anaconda、Docker、Jupyter、Kubernetes POD、Kubeflow、Spark DL on MLlib,將更容易管理和擴展到集羣中運行。linux

一、Anaconda

經過Anaconda來運行Tensorflow的Python調用代碼,優勢是能夠提供一個相對隔離的Python運行環境,避免與其它的python任務產生版本衝突。雖然也能夠經過VirtualEnv完成相似的任務,但Anaconda自帶包管理功能,用起來更爲方便。git

下載和安裝Anaconda:github

echo ""
echo "====================================================================="
echo "Downloading Anaconda3 5.1.0 to ~/openthings..."
echo ""

cd ~/openthings
wget -c https://repo.anaconda.com/archive/Anaconda3-5.1.0-Linux-x86_64.sh

echo "====================================================================="
echo "Finished.Latest version at https://repo.continuum.io/archive/"
echo "More practice at https://my.oschina.net/u/2306127/blog"
echo "====================================================================="
echo ""

下載和安裝Miniconda:docker

echo ""
echo "====================================================================="
echo "Downloading Miniconda3 4.5.1 to ~/openthings..."
echo ""

cd ~/openthings
wget -c https://repo.continuum.io/miniconda/Miniconda3-4.5.1-Linux-x86_64.sh

echo "====================================================================="
echo "Finished.Latest version at https://repo.continuum.io/miniconda/"
echo "More practice at https://my.oschina.net/u/2306127/blog"
echo "====================================================================="
echo ""

安裝TensorFlow on Anaconda:shell

echo ""
echo "================================================================="
echo "Create conda env for Tensorflow, python 3.6.5 ..."
conda create --yes -n tensorflow pip python=3.6.5
source activate tensorflow
echo ""

echo ""
echo "================================================================="
echo "Install Tensorflow 1.8.0 with GPU support."
pip install --ignore-installed --upgrade \
	https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp36-cp36m-linux_x86_64.whl
echo "================================================================="
echo "More practice at https://my.oschina.net/u/2306127/blog"
echo "More info,Visit https://www.tensorflow.org/install/install_linux "
echo "================================================================="
echo ""

而後運行:api

source activate tensorflow

這樣切換Python運行環境,就能夠在Anaconda環境下經過Python執行Tensorflow調用代碼了,固然也能夠安裝Jupyter Notebook之類的組件,而後在瀏覽器裏編寫和運行tensorflow計算任務。瀏覽器

二、Docker

將TensorFlow放到Docker容器中執行,安裝部署都更爲方便,不污染宿主機環境,快速實驗多種版本。bash

echo ""
echo "================================================================="
echo "Running Tensorflow in Docker with bash shell."
echo "More practice at https://my.oschina.net/u/2306127/blog"
echo "Please Visit https://www.tensorflow.org/install/install_linux "
echo "================================================================="
echo ""

nvidia-docker run -it tensorflow/tensorflow:latest-gpu bash

三、Jupyter

在Docker中安裝Anaconda和Jupyter。架構

echo ""
echo "================================================================="
echo "Running Tensorflow in Docker with jupyter notebook."
echo "More practice at https://my.oschina.net/u/2306127/blog"
echo "Please Visit https://www.tensorflow.org/install/install_linux "
echo "================================================================="
echo ""

nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu

而後按照提示的地址,到瀏覽器打開網址 http://localhost:8888,就可使用了。

四、Kubernetes POD

若是使用Kubernetes/Minikube或者OpenShift,能夠將Tensorflow部署到K8S集羣中,參見:

五、Kubeflow

經過Kubernetes創建TensorFlow機器學習集羣的更佳方式是使用KubeFlow,目前該項目啓動時間不長,還須要進一步完善。使用參考:

六、Spark DL on MLlib

因爲TensorFlow只是完成計算功能,經過Spark ML創建深度學習流水線,從而能夠充分利用Spark的分佈式內存和數據處理、數據IO、交互分析等功能,而後進一步將其運行在Kubernetes集羣之中統一調度。

相關文章
相關標籤/搜索