Windowsでtensorflow-gpuチュートリアルをコンパイル


この2つも見てみましょう.
https://zhuanlan.zhihu.com/p/29029860
https://zhuanlan.zhihu.com/p/34942873
Windowsでtensorflow-gpuチュートリアルをコンパイル
公式ドキュメント:1.Windowsの下にtensorflow 2をインストールします.Windowsでtensorflow(cmake)をコンパイルする
まずシステム構成です.
OS:Windows Server 2012 R 2(Windows 8相当)GPU:NVIDIA Quadro K1200
次は、さまざまなソフトウェアバージョンです.
git 2.14
Visual Studio 2015
CUDA 8.0.61
cuDNN 6.0
Anaconda 3-4.2.0(このバージョンは最新バージョンではないが、デフォルトpythonバージョンが3.5.2であるため)cmake 3.9.1
swig 3.0.12
一、CUDAを取り付ける
0.まず、コンピュータのGPUがcudaプログラミングをサポートしているかどうかをcuda-gpusでチェックし、Compute Capability 3.0以上を要求する.
1.Visual Studio 2015をインストールする(CUDAの前にインストールする必要がある)
2.CUDA toolkit 8.0のインストール(オフラインバージョンのダウンロードを推奨)
3.ダウンロードしたcuDNNを解凍し、そのうちのbinincludelibをCUDAのインストールディレクトリに上書きする
二、tensorflow-gpuのインストール
1.anacondaのインストール
2.python 3に入ります.5環境では、tensorflow-gpuを以下のコマンドでインストールします.pip install --ignore-installed --upgrade tensorflow-gpu
3.様々なlib、dllが欠落している問題が発生した場合は、pathに対応するパスを追加することで解決してみましょう.
CUDA_でPATHの後にbinとlibx 64パスを追加
cudnn 64_7 cudnn 64_に変更6
4.テストコード
次のようになります.
#Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
#Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
#Runs the op.
print sess.run(c)

三、コンパイルtensorflow-gpu
いくつかの説明:pipやanacondaなどの方法でインストールされたプリコンパイルされたtensorflowはAVX 2命令セットの加速がなく、手動コンパイルによってGPUをよりよく利用することができる.しかしAVXやGPUがなければ手動コンパイルはほとんどメリットがありません.
公式にはUbuntuとMac OS Xのコンパイルサポートのみが提供されており、WindowsではBazelとCMakeの2つの方法でコンパイルできますが、「highly experimental」だけで、さまざまなエラーが発生する可能性があります.以下、CMakeを使用してコンパイルを行います.
0.コンパイルを行う前にソフトウェアをインストールします.
Cmake 3.5以上Git
swig
swigのインストール方法:
1.Swig for Windowsをダウンロードする:http://www.swig.org/download.html
2解凍zipファイルをディレクトリに移動します.たとえば、D:backupsoftware
3環境変数をpathに追加します.たとえば、D:backupsoftwareswing-2.0.9
4環境変数JAVA_を追加INCLUDEとJAVA_BIN
JAVA_INCLUDE : Set this to the directory containing jni.hJAVA_BIN : Set this to the bin directory containing javac.exe
Example using JDK1.3:JAVA_INCLUDE: D:\jdk1.3\includeJAVA_BIN: D:\jdk1.3\bin
Note:D:backupsoftwareswig-2.0.9下にswigがあります.exeファイル、このディレクトリに注意してください.
インストールが成功したかどうかを簡単にテストします.
Dosを開き、コマンドラインでswig--helpを実行し、Target Language Optionsを表示すると、インストールに成功したことを示します.
Windowsの追加要件:
Visual Studio 2015
Python 3.5
Numpy 1.11.0 or later
1.環境変数の設定
コマンドライン実行:set PreferredToolArchitecture=x 64
ディレクトリC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\に入り、コマンドvcvarsall amd64を実行し、64ビットコマンドラインから64ビットのターゲットプラットフォームにコンパイルする.これを実行すると、コンパイル中にメモリ不足のエラーが発生することを回避できます.
環境変数:にCUDA dllsとcuDN dllを追加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin cudnn-8.0-windows7-x64-v7\cuda\bin
Cmakeとgitを環境変数CMake\bin に追加
2.Tensorflowソースコードをダウンロードし、バージョンr 1を選択する.6、そしてダウンロードして、
そのうちのtensorflow\tensorflow\contrib\cmakeディレクトリの下にbuildディレクトリを新設し、コンパイル結果を格納します.
D:\temp> git clone https://github.com/tensorflow/tensorflow.git
D:\temp> cd tensorflow\tensorflow\contrib\cmake
D:\temp\tensorflow\tensorflow\contrib\cmake> mkdir build
D:\temp\tensorflow\tensorflow\contrib\cmake> cd build
D:\temp\tensorflow\tensorflow\contrib\cmake\build>

3.cmakeを呼び出してVisual Studio solutionとproject filesを生成する.
D:\...\build> cmake .. -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release ^
-DSWIG_EXECUTABLE=D:/soft/swigwin-3.0.12/swig.exe ^
-DPYTHON_EXECUTABLE=D:/ProgramData/Miniconda3/python.exe ^
-DPYTHON_LIBRARIES=D:/ProgramData/Miniconda3/libs/python36.lib ^
-Dtensorflow_ENABLE_GPU=ON ^
-DCUDNN_HOME="D:\soft\python\cudnn7"

     ,       :-Dtensorflow_BUILD_SHARED_LIB=ON

NVIDIAグラフィックスカードがあり、cuDNNがインストールされている場合は、次のパラメータを追加できます.
More? -Dtensorflow_ENABLE_GPU=ON ^
More? -DCUDNN_HOME="D:\...\cudnn"


4.MSBiuldを呼び出してTensorflowをコンパイルする
以下のコマンドを使用して生成する.whlファイル
D:\...\build> MSBuild /p:Configuration=Release tf_python_build_pip_package.vcxproj

もう1つのコマンド:MSBuild/p:Configuration=Release/p:Platform=x 64 tf_python_build_pip_package.vcxproj
コンパイルに成功した後、whlパス;
D:\soft\tensorflow-r1.6\tensorflow\contrib\cmake\build\tf_python\dist
問題:
をクリックしてソリューションを生成して、コンパイルする時間はとても長くて、私のノートパソコンは1回およそ3~4時間コンパイルして、コンパイルして最後まで普通はすべて間違いを報告します
fatal error C1060: compiler is out of heap space    ,            (             )

error C 2001:newline in constant対応するファイルを開くと文字化けしが発生し、googleはlocaleを英語(米国)に変更することで解決できることを発見した.
コンパイル中にダウンロードに失敗したかgit cloneスローコマンドnslookupを使用して失効ip(github.global.ssl.fastly.net,storage.googleapis.comなど)を検索し、hostファイルを修正します.終わってからipconfig /flushdnsです.もちろん、対応するディレクトリに手動でダウンロードしてみることもできます.
私のところの新聞は間違っています.
C:Program Files(x 86)Microsoft Visual Studio 14.0VCincludecinttypes(20):errorC 2039:「imaxdiv_t」:「`global namespace'」ではないメンバー[D:soft pythontensorflow-mastertensorfcontribcmakebuildgrpcgrpcgrpc_unsecure.vcxproj][D:soft pythontensorlow-f f--D:soft pythontensorlowtensorf-f----b\\:sososososofttensorpythontemastertensorflowcontribcmakebuildgrpc.vcxproj]C:Program Files(x 86)Microsoft Visual Studio 14.0VCincludecinttypes(20):errorC 2873:"imaxdiv_t":記号はusing宣言では使用できない[D:soft pythontensorf-mastertensorf lowcontribcmakebuildgrpcgrpcgrpc_unsecure.vcxproj][D:soft pythontensorw-mastertensorf lowtentenrflowcontribcmakebuakebubububbcontribcmcmbuakebubbbubbbuk ebubuildgrpc.vcxproj]C:Program Files(x 86)Microsoft Visual Studio 14.0VCincludecinttypes(22):error C 2039:「imaxabs」:「`global namespace'」のメンバーではない[D:soft pythontensorflw-mastertensorflwcontribcmakebuildgrpcsrc grpcgrpc_unsecure.vcxproj][D:soft pythontensorflw-mastertensorflwcontribcmakebuildgrpc.vcxproj]C:Program Files(x 86)Microsoft ViVisual Studual Studlowcccc c c c c c c c c c c c.vcxproj]C:c:io14.0VCincludecinttypes(22):error C 2873:「imaxabs」:記号はusing宣言では使用できません[D:soft pythontensorflow-mastertensorflowcontribcmakebuildgrpcsrcgrpcgrpc_unsecure.vcxproj][D:soft pythontensorflw-mastertensorflwcontribcmakebuildgrpc.vcxproj]C:Program Files(x 86)MicrosoftVisual Studio 14.0VCincludecinttypes(22):cinttypes(22):error C 2039:「imaxdiv」:「`global namespace'」のメンバーではありません
サーバ上jdk_includeが追加されました.エラー:
D:\soft\tensorflow-master\tensorflow\c\python_api.cc(19):fatal error C 1083:ファイルを含むファイルを開くことができません:“tensorflow/python/framework/cpp_shape_inference.pb.h”:No such file or directory[D:softtensorflow-mastertensorflowcontribcmakebuildtf_c_python_api.vcxproj]