使用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环境下去分布式运行。

相关文章
相关标签/搜索