• 机器学习/深度学习/其他开发环境搭建记录


    摘要:

      python源码安装

      python虚拟环境(py2.7 virtualenv)

      python下mysql支持

      pyspark环境

      xgboost4.0安装

      tensorflow安装(cpu,gpu)

      keras安装

      libffm安装

      python-mysql安装

      lightGBM安装

      mongodb安装

      python打包egg

    内容:

    =======================================python源码安装===================================================

    在项目部署的过程中发现公司centos系统中没有bz2编解码支持,从而python引用bz2失败,不得已只好重新装了一遍python

    下载安装包:https://www.python.org/downloads/release/python-352/

    tar xvf Python-3.5.2.tgz

    cd Python-3.5.2

    mkdir /usr/local/python3.5

    ./configure --prefix=/usr/local/python3.5

     make;make install

    如果报错:Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS,则yum install openssl-devel

    =======================================python虚拟环境(py2.7 virtualenv)===================================================

    场景介绍:部署python应用的时候总会碰到版本的问题,python不像java 有meavn这种自动构建和打包的工具,所以是通过在项目下安装虚拟环境解决的;

    那么我遇到的问题是服务器中大部分版本是python2.6,而我需要一个至少python2.7的环境。所以既需要安装python包,又需要安装虚拟环境

    1.python源码安装(如上)

    2.安装virtualenv

    pip install virtualenv   #py2安装

    virtualenv --no-site-packages --python=/usr/local/python2.7/bin/python py27venv

    启动虚拟环境

    source $py27venv_home/bin/activate

    关闭虚拟环境

    source $py27venv_home/bin/deactivate

    =======================================python下mysql支持===================================================

    1.下载对应的connecter包,下载链接:https://dev.mysql.com/downloads/connector/python/

    2.编译器编辑代码,识别了mysql.connector包

    centos7下py3安装

    在以上链接没有找到相应系统,相应python版本的驱动包,所以改用pymysql这个类库。这个直接pip就可以了

    pip install PyMySQL

    =======================================pyspark环境安装===================================================

     1.所需安装包:spark官网下载链接:http://spark.apache.org/downloads.html

     2.解压spark包,将spark下pythonpyspark目录拷贝到python安装目录的Lib/site-packages下

     3.pip install Py4J

     顺便百度了下这是啥玩意:

      

     4.编译器编辑代码,识别了pyspark包

    =======================================xgboost4.0安装===================================================

    1.所需工具

      我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgboost源码(0.4版本),java 环境还需要maven(Win)

      附:Visual Studio 2012下载 xgboost源码(0.4版本)链接:http://pan.baidu.com/s/1i4Kem5B 密码:ieox

       

    2.详细过程

      在windows文件里面打开sln文件 , 选release  x64 编译

      

      4个项目都得生成一下

      会报错,修改为Sleep

         

      对应文件点击生成

       

      正确输出如下

       

      检查”…/xgboost-master/windows/x64/Release/”问件夹下是否含有“xgboost_wrapper.dll”如果含有,就表示前面两步都成功了,下面进入最后一步安装的过程。

      

       python 安装

       打开”…/xgboost-master/python-package/”

       打开git bash,输入”python setup.py install”即可

       

      

      java 安装

      复制xgboost_wrapper.dll   xgboostjavawrapper.dll粘贴到xgboost-masterJava 里面 

      通过maven下载commons-lang3-3.1.jar(不懂的搜下maven的commons-lang3-3.1.jar依赖)

      也放到xgboost-masterjava 里面

      在xgboost-masterjava 里面,下载一下这个代码,链接:http://pan.baidu.com/s/1dEWxABv 密码:d6cs   替换掉xgboost4j 里面的代码

        然后xgboost-masterjavaxgboost4jsrcmain esourceslib 的dll文件删掉,用你前面编译好的xgboostjavawrapper.dll替换

      之后java文件里面应该是这样的:

    命令行 cd  到xgboost-masterjavaxgboost4j 里面  mvn package(git bash 推荐)

    如果结果是这样表示生成jar包成功,把jar包添加到工程里面就ok了。

    3.验证

      python 环境验证

      

       java 环境验证

      将xgboost4j-1.1.jar add 到自己的library

      引包正常

    4.使用指南
      参数:http://blog.csdn.net/bryan__/article/details/52056112

    5.参数调优

      http://blog.csdn.net/wzmsltw/article/details/50994481

      http://xgboost.readthedocs.io/en/latest/parameter.html#general-parameters

      http://xgboost.readthedocs.io/en/latest/python/python_api.html

     6.linux安装

      在XGboost根路径运行:cp make/config.mk config.mk 
      修改config.mk:

      vim config.mk 

      添加gcc和g++路径

      export CC = /data/gcc-4/bin/gcc 
      export CXX = /data/gcc-4/bin/g++

      保存,然后运行: 
      make -j4

      cd python-package

      python setup.py install

    =======================================tensorflow(1.0.0版本)安装===========================================

      1.所需工具 python3.5.x  numpy-1.11.3 (win7_64bit)

      2.详细过程

       本文采用离线安装方式:

      先安装依赖numpy:

      

      最后安装tensorflow:

      

      3.验证

     

     以下是gpu版安装

       所需环境:

     python3.5.x 

     Visual Studio 2012

       gpu(确认你的显卡支持 CUDA,这里确认) 

       cuda

       cuDNN

       安装顺序:

       先安装Visual Studio 2012,然后安装cuda,下载解压cuDNN

       之后将一定将cuda添加到path环境变量中,然后将cuDNN的目录拷贝到cuda的安装目录中

    cuDNN解压目录:

     

    cuda默认安装目录:

         添加环境变量:

     最后用pip3安装tensorflow

    pip3 install --upgrade tensorflow-gpu

    测试:

     =======================================keras 安装===================================================

    pip install keras

    win10安装的时候报错:No Lapack/Blas Resources Found

    解决下载自己对应py版本和win版本的scipy的包,再pip install 对应whl的scipy即可,然后安装keras 成功 

    =======================================libffm1.14.0 安装===================================================

    系统:centos7_64

    所需工具:gcc(推荐4.8.0以上)

    下载 libffm-master.zip

    unzip libffm-master.zip
    cd libffm-master
    编译:make
    测试:ffm-train bigdata.tr.txt model

     ======================================= mysql-python 安装===================================================

     系统:win7_64bit

    所需工具:

    编译工具:VCforPython27 ,

    mysql驱动:

    64位:MySQL-python-1.2.3.win-amd64-py2.7.exe 
    32位: MySQL-python-1.2.5.win32-py2.7.exe

    最后:pip install mysql

    参考链接:http://blog.csdn.net/lcr_happy/article/details/73252819        http://blog.csdn.net/w2cschool/article/details/40520233

    ========================================= lightGBM安装 ======================================================

    系统:CentOS release 6.5_x86_64 (Final)

    工具:GCC-4.8.4 

    mpfr-2.4.2 
    gmp-4.3.2 
    mpc-0.8.1 
    LightGBM-Github

    cmake-3.9.0-Linux-x86_64.tar.gz(注意系统位数)

    安装过程:

    安装gmp

    1. tar jxvf gmp-4.3.2.tar.bz2
    2. cd gmp-4.3.2
    3. mkdir build;cd build
    4. ../configure --prefix=/data/gmp
    5. make -j4
    6. make install

    注意 --prefix= 一定要配置到/data目录,因为其他目录没有写权限的哦!--prefix=就是配置安装路径的意思

    安装mpfr

    1. tar jxvf mpfr-2.4.2.tar.bz2
    2. cd mpfr-2.4.2
    3. mkdir build;cd build
    4. ../configure --prefix=/data/mpfr --with-gmp=/data/gmp
    5. make -j4
    6. make install

    记得一定要加--with-gmp=/data/gmp

    安装mpc

    1. tar xzf mpc-0.8.1.tar.bz
    2. cd mpc-0.8.1
    3. mkdir build;cd build
    4. ../configure --prefix=/data/mpc --with-gmp=/data/gmp --with-mpfr=/data/mpfr
    5. make -j4
    6. make install

    安装GCC

    先将以上安装的依赖库添加到环境变量

    1. echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/mpc/lib:/data/gmp/lib:/data/mpfr/lib' >> ~/.bashrc
    2. source ~/.bashrc

    再回到/data,进行安装GCC

    1. tar jxvf gcc-4.8.4.tar.bz2
    2. cd gcc-4.8.4
    3. mkdir build;cd build
    4. ../configure --prefix=/data/gcc-4 -enable-threads=posix -disable-checking -disable-multilib --enable--long-long -enable-languages=c,c++,java --with-gmp=/data/gmp --with-mpfr=/data/mpfr --with-mpc=/data/mpc
    5. make -j4
    6. make install

    其中make的过程估计要等40分钟左右,然后到此GCC就编译安装成功啦

    安装cmake

    1. tar zxvf cmake-3.9.0-Linux-x86_64.tar.gz
    2. echo 'export PATH=$PATH:/data/cmake-3.9.0-Linux-x86_64/bin' >> ~/.bashrc
    3. source~/.bashrc

    安装LightGBM

    此时,如果你想把gcc添加到/usr/local/bin里面是不行的,因为没有写权限,所以我们配置一下LightGBM编译时调用的GCC即可。LigthGBM是先通过Cmake生成的,所以编辑CMakeLists.txt即可。

    1. cd LigthGBM
    2. vim CMakeLists.txt
    3. # 添加以下代码在文件开头
    4. SET(CMAKE_C_COMPILER "/data/gcc-4/bin/gcc")
    5. SET(CMAKE_CXX_COMPILER "/data/gcc-4/bin/g++")
    6. # 保存退出后,就跟着官网教程,默认方式安装即可
    7. mkdir build ; cd build
    8. cmake ..
    9. make -j4
    10. python ../python-package/setup.py install

    附:win下pip 可以直接安装 

    ======================================================mongodb安装================================================================================

    安装包:下载地址:https://www.mongodb.com/download-center#community

    下文以mongodb的主目录是为例,建立data,logs,和logs/mongo.log.

    在主目录添加配置文件如下:

    dbpath=D:MongoDBServer3.4data #数据库路径  
    logpath=D:MongoDBServer3.4logsmongo.log #日志输出文件路径  
    logappend=true #错误日志采用追加模式  
    journal=true #启用日志文件,默认启用  
    quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false  
    port=27017 #端口号 默认为27017  

    启动服务

    mongod --config "D:MongoDBServer3.4mongo.conf" --install --serviceName "MongoDB"  
    net start MongoDB  

    验证服务

    ======================================================python打包egg================================================================================ 

    背景:在pyspark开发的过程中driver程序需要引用其他的python模块,所以这里需要用python打成egg供spark worker中调用

    新建一个setup.py文件,例子如下:

     1 from setuptools import setup,find_packages
     2 setup(
     3     name='your_mod',
     4     version='1.0',
     5     url='',
     6     license='',
     7     author='arachis',
     8     author_email='arachis@xxxx.cn',
     9     description='',
    10     packages = find_packages(),
    11 )

    然后运行python setup.py bdist_egg,如下是运行之后生成的三个目录:

    而dist目录下就是我们需要的egg包:

    安装egg包

    easy_install your_mod-1.0-py2.7.egg

  • 相关阅读:
    spring的@Transactional注解详细用法
    解决:No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency
    SpringBoot2 启动报错 Failed to auto-configure a DataSource
    SpringBoot2 全局异常处理
    Intellij IDEA 将工程转换成maven工程 详解
    js性能优化
    JDK故障处理工具箱
    编写高性能的jquery代码
    maven工程解决jar包冲突依赖问题
    spring aop中xml配置文件中标签和属性对应的类
  • 原文地址:https://www.cnblogs.com/arachis/p/XGBOOST.html
Copyright © 2020-2023  润新知