Light-lda部署安装过程

来源:互联网 发布:sql server 按照工作日 编辑:程序博客网 时间:2024/05/31 19:23

一、下载light-lda源码

1、wget  https://github.com/Microsoft/lightlda

2、unzip lightlda-master.zip  ,cd lightlda-master

3、修改 build.sh中,将

git clone -b multiverso-initial git@github.com:Microsoft/multiverso.git替换为:

git clone -b multiverso-initial https://github.com/Microsoft/multiverso.git

拉取multiverso

Smultiverso(DMTK):是一个标准c++lib库,是一个基于框架的参数服务器,用来在多台机器上训练大数据的机器学习模型,提供了友好的api接口,使用者不必考虑分布式模型存储和操作,内部线程和内部进程间的交互,多线程的管理,只需要专注于机器学习的逻辑:数据,模型和训练。

Libzmq:zeroMq轻量级的消息内核继承了标准的socket接口,具有定制化消息中间件产品的特点,zeroMQ socke提供了异步消息队列,多消息模式,消息过滤的抽象,无缝对接多种传输协议。

mpich-3.0.4:是一个高性能便携式Message Passing Interface标准的实现,将线程的管理和交互分离。

 


二、检查gcc的版本

gcc的版本要求是gcc-4.8.5,更新升级gcc的方法如下:

1、下载源码

wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

2、编译安装 GCC 需要依赖 mpc,mpfr,gmp包。好在 GCC 源码里自带脚本可以轻松下载依赖包。

tar zxf gcc-4.8.5.tar.gz

cd gcc-4.8.5

./contrib/download_prerequisites

3、配置

mkdir gcc-build-4.8.5

cd gcc-build-4.8.5

../configure  --prefix=/usr  --enable-checking=release  --enable-languages=c,c++  --disable-multilib

gcc 编译参数说明:

(1)--prefix 为了避免安装后系统里出现多个版本的 GCC,这里直接将编译安装的目录指定为 /usr,如果不指定–prefix,则会默认安装到 /usr/local 下。

(2) --enable-languages        //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java

(3)--disable-multilib          //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。

4、编译安装

make –j4  &&  make install

5、完成后,看看使用gcc的哪个目录下的,解决冲突的方法

which  gcc 如果显示的是/usr/bin/gcc

mv /usr/bin/gcc  /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc(新gcc)   /usr/bin/gcc

另外,g++, cc, c++这几个命令也要改

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++(新)  /usr/bin/g++

mv /usr/bin/cc  /usr/bin/cc4.4.7

ln -s /usr/local/bin/cc(新)   /usr/bin/cc

mv  /usr/bin/c++    /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++(新)   /usr/bin/c++

三、安装light-lda

cd lightlda-master

执行sh build.sh

完成后,将libzmq.so.5加入链接路径中,具体操作:

(1)进入到 etc 下  cd /etc

(2)编辑 ld.so.conf ,sudo vim ld.so.conf

(3)加入 libzmq.so 的路径  lightlda-master/multiverso/third_party/lib下

保存之后 再执行命令ldconfig

测试light-lda方法:

(1)cd example

(2)sh nytimes.sh

0 0