zoukankan      html  css  js  c++  java
  • TensorFlow源码安装

    前言

    TensorFlow如果能二进制包安装,我真的不想选择自己编译,但是情况不由人,好不容易找到一台服务器,CPU不支持AVX指令集,安装的release版本运行到import tensorflow as tf 就会报指令异常。网上建议源码安装才能解决,于是无奈,想着应该是非常繁琐的事情,但事实上除了耗时外,其他都还好,这里记录一下,以备后用。

    编译安装过程

    安装版本构建工具 bazel

    bazel是google的版本构建工具,网上褒贬不一,直接下载安装包进行安装:

    wget https://github.com/bazelbuild/bazel/releases/download/0.13.0/bazel-0.13.0-installer-linux-x86_64.sh
    chmod +x ./bazel-0.13.0-installer-linux-x86_64.sh
    ./bazel-0.13.0-installer-linux-x86_64.sh

    这个步骤没有碰到问题。

    安装工具包

    sudo apt install python-numpy swig python-dev python-wheel

    numpy是python的科学计算库,swig是C库外部语言封装调用接口库,后面几个应该与python包管理相关,不细究。

    下载TensorFlow源码

    使用git来克隆TensorFlow代码仓库:

    git clone --recurse-submodules https://github.com/tensorflow/tensorflow

    比较耗时的操作,文件比较多。

    配置TensorFlow

    进入tensorflow目录,然后执行./configure,开始配置,除了jemalloc选项外,我都选了N

    编译TensorFlow

    执行以下命令,启动编译,过程非常慢,要耐心等待:

    bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

    创建PIP安装包

    完成编译后,将tensowflow制作成pip安装包:

    bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/

    安装TensorFlow包

    最后,通过pip命令来安装前一步生成的安装包,如果没有先安装python-pip:

    pip install ~/tensorflow-1.8.0-cp27-cp27mu-linux_x86_64.whl 

    增加编译选型以支持额外CPU指令

    自己编译的版本可以正常使用,但运行时出现了如下的命令行提示:

    原来这款CPU虽然不支持AVX,但是支持SSE,于是决定重新编译,在编译时增加了额外的编译选项,如下:

    build -c opt --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip_package:build_pip_package

    重新打包,安装。

    暂时结束

     至此,整个源码安装TensorFlow过程全部结束,暂无发现问题,待后续有问题时再补充。

  • 相关阅读:
    ARP 协议
    3GPP 5G UPF
    OpenStack v.s. Kubernetes
    C#- FTP递归下载文件
    C#- WinForm获取 当前执行程序路径的几种方法
    C#- 布署WinForm程序
    Delphi- 连接MySQL数据库BDE
    Delphi- 内置数据库的使用例子BDE
    CSS- 兼容样式记录
    Delphi- DLL操作
  • 原文地址:https://www.cnblogs.com/billux/p/9040700.html
Copyright © 2011-2022 走看看