編譯 tensorflow2.0rc1 windows gpu

編譯的原因是現有的whl無法直接安裝,估計因爲CPU不支持AVX。

參考的文章很多,google的最有參考意義:

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

要點是必須安裝好MSYS環境,要手工安裝patch命令,否則會報錯的。

pacman -S unzip patch
pacman -S msys/patch
 

還有提前安裝CUDA10.1/CUDNN7.4.

bazel默認會在用戶主目錄創建 _bazel_{user_name}  臨時目錄,要預留20G~50G的空閒空間。

bazel版本太高不行,太低也不行,最後用25.3才能編譯。

VS2017可以成功,其他的版本不行。

首先執行

python configure.py

回答很多問題,此時AVX無法去掉。

等完畢後編輯剛剛生成的文件.tf_configure.bazelrc 去掉包含 AVX 的那行。

默認的vs2107 x64是支持SSE的,無須設置。

然後執行:

bazel build --config=opt --config=cuda --copt=-nvcc_options=disable-warnings //tensorflow/tools/pip_package:build_pip_package 
 

INFO: From Executing genrule //tensorflow/python/keras/api:keras_python_api_gen_compat_v2:
2019-09-23 22:26:53.288200: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
Target //tensorflow/tools/pip_package:build_pip_package up-to-date:
  C:/users/ai-k/_bazel_ai-k/6sxrqdxw/execroot/org_tensorflow/bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/build_pip_package
  C:/users/ai-k/_bazel_ai-k/6sxrqdxw/execroot/org_tensorflow/bazel-out/x64_windows-opt/bin/tensorflow/tools/pip_package/build_pip_package.exe
INFO: Elapsed time: 33838.052s, Critical Path: 13320.29s
INFO: 9767 processes: 9767 local.
INFO: Build completed successfully, 14868 total actions
INFO: Build completed successfully, 14868 total actions

生成whl文件

C:\qycache\tensorflow>bazel-bin\tensorflow\tools\pip_package\build_pip_package tensorflow_pkg
Mon Sep 23 23:03:23 2019 : === Preparing sources in dir: /tmp/tmp.mbgGkXm8hT
Unzipping simple_console_for_windows.zip to create runfiles tree...
Unzip finished.
/c/qycache/tensorflow /c/qycache/tensorflow
/c/qycache/tensorflow
/tmp/tmp.mbgGkXm8hT/tensorflow/include /c/qycache/tensorflow
/c/qycache/tensorflow
Mon Sep 23 23:07:16 2019 : === Building wheel
warning: no files found matching '*.pd' under directory '*'
warning: no files found matching '*.so.[0-9]' under directory '*'
warning: no files found matching '*.dylib' under directory '*'
warning: no files found matching '*.dll' under directory '*'
warning: no files found matching '*.csv' under directory '*'
warning: no files found matching '*.h' under directory 'tensorflow_core\include\tensorflow'
warning: no files found matching '*.h' under directory 'tensorflow_core\include\include'
warning: no files found matching '*' under directory 'tensorflow_core\include\third_party'
C:\Program Files\Python36\lib\site-packages\wheel\pep425tags.py:83: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
  warn=(impl == 'cp')):
C:\Program Files\Python36\lib\site-packages\wheel\pep425tags.py:88: RuntimeWarning: Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
  sys.version_info < (3, 8))) \
Mon Sep 23 23:08:05 2019 : === Output wheel file is in: /c/qycache/tensorflow/tensorflow_pkg

最終的結果:

C:\qycache\tensorflow\tensorflow_pkg>dir
 驅動器 C 中的卷是 ai_k
 卷的序列號是 7C70-90CB

 C:\qycache\tensorflow\tensorflow_pkg 的目錄

2019/09/23  23:08    <DIR>          .
2019/09/23  23:08    <DIR>          ..
2019/09/23  23:08        91,559,689 tensorflow-2.0.0rc2-cp36-cp36m-win_amd64.whl
               1 個文件     91,559,689 字節
               2 個目錄 459,725,352,960 可用字節

C:\qycache\tensorflow\tensorflow_pkg>

C:\qycache\tensorflow\tensorflow_pkg>pip install tensorflow-2.0.0rc2-cp36-cp36m-win_amd64.whl
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: tensorflow==2.0.0rc2 from file:///C:/qycache/tensorflow/tensorflow_pkg/tensorflow-2.0.0rc2-cp36-cp36m-win_amd64.whl in c:\program
 files\python36\lib\site-packages (2.0.0rc2)
Requirement already satisfied: astor>=0.6.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (0.8.0)
Requirement already satisfied: tf-estimator-nightly<1.14.0.dev2019080602,>=1.14.0.dev2019080601 in c:\program files\python36\lib\site-packages (from tensorflow=
=2.0.0rc2) (1.14.0.dev2019080601)
Requirement already satisfied: wheel>=0.26 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (0.33.6)
Requirement already satisfied: termcolor>=1.1.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.1.0)
Requirement already satisfied: protobuf>=3.6.1 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (3.9.1)
Requirement already satisfied: tensorboard<2.1.0,>=2.0.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (2.0.0)
Requirement already satisfied: opt-einsum>=2.3.2 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (3.0.1)
Requirement already satisfied: six>=1.10.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.12.0)
Requirement already satisfied: google-pasta>=0.1.6 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (0.1.7)
Requirement already satisfied: numpy<2.0,>=1.16.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.17.2)
Requirement already satisfied: grpcio>=1.8.6 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.23.0)
Requirement already satisfied: keras-applications>=1.0.8 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.0.8)
Requirement already satisfied: absl-py>=0.7.0 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (0.8.0)
Requirement already satisfied: gast==0.2.2 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (0.2.2)
Requirement already satisfied: wrapt>=1.11.1 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.11.1)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\program files\python36\lib\site-packages (from tensorflow==2.0.0rc2) (1.0.5)
Requirement already satisfied: setuptools in c:\program files\python36\lib\site-packages (from protobuf>=3.6.1->tensorflow==2.0.0rc2) (41.2.0)
Requirement already satisfied: werkzeug>=0.11.15 in c:\program files\python36\lib\site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow==2.0.0rc2) (0.16.0)
Requirement already satisfied: markdown>=2.6.8 in c:\program files\python36\lib\site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow==2.0.0rc2) (3.1.1)
Requirement already satisfied: h5py in c:\program files\python36\lib\site-packages (from keras-applications>=1.0.8->tensorflow==2.0.0rc2) (2.10.0)

C:\qycache\tensorflow\tensorflow_pkg>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
2019-09-23 23:12:37.791400: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
>>> tf.__version__
'2.0.0-rc2'
>>>

 

基於tensorlfow 2.0-rc2,編譯好的whl文件:

https://download.csdn.net/download/net_wolf/11808254

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章