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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM