• Centos 编译TensorFlow C/C++库 libtensorflow.so libtensorflow_framework.so


    • 安装依赖

    yum -y install automake libtool libsysfs libxslt-devel libffi libffi-devel python-devel gcc openssl openssl-devel sqlite-devel

    pip install six numpy wheel coverage mock

    • 安装CMake

    从https://cmake.org/download/选择最新的版本

    wget https://github.com/Kitware/CMake/releases/download/v3.14.0-rc4/cmake-3.14.0-rc4-Linux-x86_64.tar.gz

    tar -xvf cmake-3.14.0-rc4-Linux-x86_64.tar.gz

    mv cmake-3.14.0-rc4-Linux-x86_64 /usr/local/share/cmake

    ln -s /usr/local/share/cmake/bin/ccmake /usr/bin/ccmake

    ln -s /usr/local/share/cmake/bin/cmake /usr/bin/cmake

    ln -s /usr/local/share/cmake/bin/ctest /usr/bin/ctest

    • 安装java

    yum -y install java-1.8.0-openjdk*

    • 安装Bazel

    从https://github.com/bazelbuild/bazel/releases选择合适的版本,具体版本对应关系在https://tensorflow.google.cn/install/source,tensorflow r1.12对应的应是bazel 0.15.0

    wget https://github.com/bazelbuild/bazel/releases/download/0.15.0/bazel-0.15.0-installer-linux-x86_64.sh

    sh bazel-0.15.0-installer-linux-x86_64.sh --prefix=/usr/local/share/bazel

    ln -s /usr/local/share/bazel/bin/bazel /usr/bin/bazel

    • 下载TensorFlow

    git clone https://github.com/tensorflow/tensorflow

    或者

    git clone https://jhc888007%40163.com:[password]@github.com/tensorflow/tensorflow

    cd tensorflow

    git checkout r1.12

    ./configure

    接下来有一系列设置(这步好像不是必须的?),不懂的可以用默认值

    • 编译C库

    cd tensorflow

    bazel build :libtensorflow.so

    在../bazel-bin/tensorflow/生成libtensorflow.so和libtensorflow_framework.so

    • 编译C++库

    cd tensorflow

    bazel build :libtensorflow_cc.so

    在../bazel-bin/tensorflow/生成libtensorflow_cc.so和libtensorflow_framework.so

    • 安装依赖

    cd contrib/makefile

    ./build_all_linux.sh

    • 安装Eigen

    cd downloads/eigen

    mkdir build

    cd build

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/share/eigen ..

    make install

    cd /usr/local/include

    ln -s ../share/eigen/include/eigen3/Eigen

    ln -s ../share/eigen/include/eigen3/unsupported

    • 安装Protobuf(实践证明对于1.12版本不兼容,行不通)

    cd downloads/protobuf

    ./autogen.sh

    ./configure --prefix=/usr/local/share/protobuf

    make && make install

    如果不成功则make clean,再重新make

    vim /etc/profile

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/share/protobuf/lib
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/share/protobuf/lib
    export PATH=$PATH:/usr/local/share/protobuf/bin
    export PKG_CONFIG_PATH=/usr/local/share/protobuf/lib/pkgconfig/
    • 安装Protobuf(手动)

    在https://github.com/protocolbuffers/protobuf/releases找到合适版本

    wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.0/protobuf-all-3.6.0.tar.gz

    tar -xvf protobuf-all-3.6.0.tar.gz

    cd protobuf-3.6.0/ 

    ./configure --prefix=/usr/local/share/protobuf

    make && make check && make install

    vim /etc/profile

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/share/protobuf/lib
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/share/protobuf/lib
    export PATH=$PATH:/usr/local/share/protobuf/bin
    export PKG_CONFIG_PATH=/usr/local/share/protobuf/lib/pkgconfig/
    •  如果已经有相同系统环境编译好的tensorflow包,则只需要安装依赖环境,然后将已安装的Eigen拷贝到新机器对应位置,然后将编译好的tensorflow包拷贝到python安装目录lib目录下

    Centos 安装TensorFlow

    Centos 编译TensorFlow C/C++库 libtensorflow.so libtensorflow_framework.so

    Centos C/C++库 libtensorflow.so libtensorflow_framework.so 测试

    参考文献:

    https://www.cnblogs.com/hrlnw/p/7007648.html

    https://www.jianshu.com/p/d46596558640

    https://blog.csdn.net/qq_37674858/article/details/81095101

    http://www.cnblogs.com/zjutzz/p/10182099.html

    https://blog.csdn.net/u010700335/article/details/69422282/

    https://www.cnblogs.com/hrlnw/p/7383951.html

    https://blog.csdn.net/qq_29936933/article/details/82107861

    https://blog.csdn.net/laowulong350/article/details/79001511

    https://tensorflow.google.cn/install/source_windows

  • 相关阅读:
    Python数据结构-链表
    面试题4:替换空格
    面试题3:二维数组中的查找
    2019.12.17基佬出的一道题
    2019.12.17霍格沃兹测试学院一道题
    python_ck01(虚拟环境管理)
    api_DZFPKJ & api_DZFPCX(get_AES_url代码优化)
    cwyth(自动核销代码)
    api_DZFPKJ & api_DZFPCX
    字符串返回数组并排序(算法题)
  • 原文地址:https://www.cnblogs.com/jhc888007/p/10518425.html
Copyright © 2020-2023  润新知