zoukankan      html  css  js  c++  java
  • Tensorflow源码编译,解决tf提示未使用SSE4.1 SSE4.2 AVX警告【转】

    本文转载自:https://blog.csdn.net/iTaacy/article/details/72799833

    版权声明:欢迎转载,转载请注明出处! https://blog.csdn.net/iTaacy/article/details/72799833

    TensorFlow CPU环境 SSE/AVX/FMA 指令集编译

    sess.run()出现如下Warning

    # 通过pip install tensorflow 来安装tf在 sess.run() 的时候可能会出现
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
    W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这说明你的machine支持这些指令集但是TensorFlow在编译的时候并没有加入这些指令集,需要手动编译TensorFlow才能够加入这些指令集。

    # 1. 下载最新的 TensorFlow
    $ git clone https://github.com/tensorflow/tensorflow
    
    # 2. 安装 bazel
    # mac os 
    $ brew install bazel
    
    # ubuntu 
    $ sudo apt-get update && sudo apt-get install bazel
    
    # Windows
    $ choco install bazel
    
    # 3. Install TensorFlow Python dependencies
    # 如果使用的是Anaconda这部可以跳过
    
    # mac os
    $ pip install six numpy wheel 
    $ brew install coreutils # 安装coreutils for cuda
    $ sudo xcode-select -s /Applications/Xcode.app # set build tools
    
    # ubuntu
    sudo apt-get install python3-numpy python3-dev python3-pip python3-wheel
    sudo apt-get install libcupti-dev
    
    # 4. 开始编译TensorFlow
    
    # 4.1 configure
    $ cd tensorflow # cd to the top-level directory created
    # configure 的时候要选择一些东西是否支持,这里建议都选N,不然后面会包错,如果支持显卡,就在cuda的时候选择y
    $ ./configure # configure
    
    # 4.2 bazel build
    # CUP-only 
    $ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
    
    # GPU support
    bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
    
    # 5 安装刚刚编译好的pip 包
    # 这里安装的时候官方文档使用的是sudo命令,如果是个人电脑,不建议使用sudo, 直接pip即可。
    $ pip install /tmp/tensorflow_pkg/tensorflow-{version}-none-any.whl
    
    # 6 接下来就是验证你是否已经安装成功
    $ python -c "import tensorflow as tf; print(tf.Session().run(tf.constant('Hello, TensorFlow')))"
    # 然后你就会看到如下输出
    b'Hello, TensorFlow'
    
    # 恭喜你,成功编译了tensorflow,Warning也都解决了!
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    报错解决

    Do you wish to build TensorFlow with MKL support? [y/N] y
    MKL support will be enabled for TensorFlow
    Do you wish to download MKL LIB from the web? [Y/n] y
    Darwin is unsupported yet
    # 这里MKL不支持Darwin(MAC),因此要选择N
    
    ERROR: /Users/***/Documents/tensorflow/tensorflow/core/BUILD:1331:1: C++ compilation of rule '//tensorflow/core:lib_hash_crc32c_accelerate_internal' failed: cc_wrapper.sh failed: error executing command external/local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG ... (remaining 32 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
    clang: error: no such file or directory: 'y'
    clang: error: no such file or directory: 'y'
    
    # 这里是因为在configure的时候有些包不支持但是选择了y,因此记住一点所有的都选n
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Reference

    [1]: https://www.tensorflow.org/install/install_sources

  • 相关阅读:
    前台的ID不能与后台的变量重命名,否则发布后会出现 Ambiguous match found.
    Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划
    Scala入门指南
    大数据的关键技术
    大数据技术的发展趋势
    大数据——大价值、大机遇、大变革(全彩)
    大数据与云计算
    Android系统源代码情景分析
    Android硬件抽象层(HAL)概要介绍和学习计划
    Android进程间通信(IPC)机制Binder简要介绍和学习计划
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/9669314.html
Copyright © 2011-2022 走看看