使用Anaconda集成IPython、Spark和TensorFlow、Orange

使用Anaconda集成IPython、Spark和TensorFlow、Orange,造成統一管理的分佈式機器學習研究環境。能夠將流程設計、算法評估、神經網絡、分佈式計算和包管理集成到一塊兒等,以及能夠將其與git/jenkins/sonarqube等集成到一塊兒,實現完整的大規模數據處理與分析的DevOps。不過,目前這些項目仍是各自爲陣的狀態,集成度和自動化程度都還不高。python

爲了方便管理,將其安裝在由conda管理的獨立虛擬環境中。git

一、Anaconda,python集成環境

https://www.continuum.io開發。集成了不少優秀的python項目,包括conda虛擬運行環境管理和軟件包管理軟件,能夠部分替代virtualenv和pip的做用。github

https://www.continuum.io/downloads 下載而且安裝。算法

#建立python虛擬環境。
conda create -n tensor python=3
source activate tensor

二、IPython,高級Python運行環境

現已改名爲Jupyter(http://jupyter.org/),支持經過notebook進行算法模型的共享。sql

Spark,高性能並行計算環境shell

https://conda.anaconda.org/anaconda-cluster 能夠訪問到集成的Spark版本。canvas

安裝:網絡

conda install -n tensor -c https://conda.anaconda.org/anaconda-cluster spark

三、TensorFlow,機器學習引擎

TensorFlow是由Google開源的基於神經網絡的機器學習引擎,從 https://www.tensorflow.org/ 訪問詳細信息。機器學習

安裝:分佈式

conda install -n tensor -c https://conda.anaconda.org/jjhelmus tensorflow

四、Orange,可視化機器學習環境

網站:http://orange.biolab.si/

原始項目爲安裝在virtualenv裏的指南,這裏將安裝在conda環境下。

#安裝基礎支持庫
sudo apt-get update
sudo apt-get -y install git python-pip python-virtualenv python-qt4-dev python3-pyqt4  libqt4-dev
sudo apt-get -y python3-sip-dev python3-dev python3-numpy python3-scipy 

#首先安裝Anaconda
./Anaconda3-2.5.0-Linux-x86_64.sh
#退出控制檯窗口,從新進入,以讓路徑設置生效。
#輸入conda list,能夠查看anaconda安裝的包,檢查安裝是否成功。

#建立python虛擬環境。
conda create -n tensor python=3

#激活所建立的python虛擬環境,後續的軟件將安裝在該環境中。
source activte tensor

#複製orange源代碼。
git clone https://github.com/biolab/orange3

#安裝Orange的依賴庫代碼
cd orange3
pip install -r requirements-core.txt
pip install -r requirements-dev.txt
pip install -r requirements-doc.txt
pip install -r requirements-gui.txt
pip install -r requirements-sql.txt
python setup.py develop
cd ..

#安裝擴展庫
git clone https://github.com/biolab/orange-bio
cd orange-bio
python setup.py develop
cd ..

#退出虛擬環境
source deactivate

運行,將下面代碼保存到start.sh,而後啓動便可:

#運行
source activate tensor
python -m Orange.canvas

Orange安裝完畢,運行與官方的安裝結果徹底同樣,只是python擴展包如今交由conda而不是virtualenv管理。

下一步就須要考慮如何將TensorFlow和Spark等結合起來,在分佈式環境下使用。以及將Orange的widget代碼放到Spark環境下去分佈式運行。

相關文章
相關標籤/搜索