による
https://www.tensorflow.org/install/install_mac 注:バージョン1.2以降、TensorFlowはMac OS XでGPUサポートを提供しなくなりました。OSXのGPUサポートは提供されなくなりました。
ただし、Thunderbolt 3を介して1080 tiでakitioノードのようなe-gpuセットアップを実行したいと思います。
このセットアップを機能させるにはどのような手順が必要ですか?今まで知っている
が必要です。 CUDA/tensorflowを動作させるには他に何が必要ですか?
macOSでGPUをサポートするTensorFlow 1.2をコンパイルする について小さなチュートリアルを書きました。関連する部分をSOにコピーするのが慣習だと思うので、ここで説明します。
pip install tensorflow-gpu
を実行できるTensorFlow 1.0または1.1ですべてをセットアップすることをお勧めします。 TensorFlowをコンパイルすると、CUDAのセットアップも機能するようになります。外部GPUを使用している場合、YellowPillowの答え(または mine )を使用すると、設定が簡単になります。git checkout r1.0
をgit checkout r1.2
に置き換えてください。 ./configure
を実行するときは、Pythonライブラリパスに注意してください。誤ったパスが提案されることがあります。 Pythonライブラリパス、CUDAサポート、計算能力を除くほとんどの場合、デフォルトのオプションを選択しました。 ClangをCUDAコンパイラとして使用しないでください。これにより、「Inconsistent crosstool configuration;」というエラーが表示されます。 CPU 'darwin'の 'local_darwin'に対応するツールチェーンが見つかりません。 /usr/bin/gcc
をコンパイラとして使用すると、macOS/XCodeに付属のClangが実際に使用されます。以下は私の完全な構成です。tensorflow/third_party/gpus/cuda/BUILD.tpl
の98行目をコメントアウトしました。これはcontained linkopts = [“-lgomp”]
です(ただし、行の場所は明らかに変更される可能性があります)。一部の人々 zmuldefsに問題がありました ですが、それは以前のバージョンにあったと思います。これらの行をコメントアウトしてもよいと指摘してくれたudnaanに感謝します。pythonライブラリパスの使用:/Users/m/code/3rd/conda/envs/p3gpu/lib/python3.6/site-packages
MKLをサポートするTensorFlowを構築しますか? [y/N] N
TensorFlowのMKLサポートは有効になりません
Bazelオプション "--config = opt"が指定されている場合、コンパイル時に使用する最適化フラグを指定してください[デフォルトは-march = native]:
Google Cloud PlatformサポートでTensorFlowを構築しますか? [y/N]
TensorFlowに対してGoogle Cloud Platformサポートは有効になりません
Hadoop File Systemサポートを使用してTensorFlowを構築しますか? [y/N]
TensorFlowのHadoopファイルシステムサポートは有効になりません
XLAジャストインタイムコンパイラ(実験的)でTensorFlowをビルドしますか? [y/N]
TensorFlowのXLAサポートは有効になりません
VERBSサポートを使用してTensorFlowを構築しますか? [y/N]
TensorFlowのVERBSサポートは有効になりません
OpenCLをサポートするTensorFlowを構築しますか? [y/N]
TensorFlowのOpenCLサポートは有効になりません
CUDAをサポートするTensorFlowを構築しますか? [y/N] y
TensorFlowのCUDAサポートが有効になります
ClangをCUDAコンパイラとして使用しますか? [y/N]
nvccはCUDAコンパイラとして使用されます
使用するCUDA SDKバージョンを指定してください。 7.0。 [システムのデフォルトを使用するには空のままにします]:
CUDAツールキットがインストールされている場所を指定してください。詳細については、README.mdを参照してください。 [デフォルトは/ usr/local/cuda]:
Nvccがホストコンパイラとして使用するgccを指定してください。 [デフォルトは/ usr/bin/gcc]:
使用するcuDNNバージョンを指定してください。 [システムのデフォルトを使用するには空のままにします]:
CuDNNライブラリがインストールされている場所を指定してください。詳細については、README.mdを参照してください。 [デフォルトは/ usr/local/cuda]:
構築するコンマ区切りのCuda計算機能のリストを指定してください。
デバイスのコンピューティング機能は、 https://developer.nvidia.com/cuda-gpus で確認できます。
計算機能を追加するたびに、ビルド時間とバイナリサイズが大幅に増加することに注意してください。
[デフォルト: "3.5,5.2"]:6.1
情報:クリーンを開始しています(これには時間がかかる場合があります)。クリーンアップに数分以上かかる場合は、-asyncの使用を検討してください。
構成が完了しました
すでにeGPUボックスをセットアップし、eGPUからTB3ポートにTB3ケーブルを接続していると仮定します。
1。 automate-eGPUスクリプトをダウンロードして実行します
curl -o ~/Desktop/automate-eGPU.sh
https://raw.githubusercontent.com/goalque/automate-eGPU/master/automate-eGPU.sh
&& chmod +x ~/Desktop/automate-eGPU.sh && cd ~/Desktop && Sudo
./automate-eGPU.sh
次のエラーが表示される場合があります。
「リカバリパーティションを起動して、csrutil disable」と入力します
ここで必要なのは、コンピューターを再起動し、再起動するときにcmd + R
を押して回復モードを有効にすることです。次に、リカバリモードでターミナルを見つけて、次のように入力します。
csrutil disable
その後、コンピューターを再起動し、automate-eGPU.sh
スクリプトを再実行します
2:CUDAのダウンロードとインストール
cuda_8.0.61_mac.dmg
ファイルを実行し、インストールフェーズを進めます。その後、パスを設定する必要があります。
ターミナルに移動して、次を入力します。
vim ~/.bash_profile
または、環境変数を保存してから、次の3行を追加したかどうか:
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
3。 cuDNNのダウンロードとインストール
CuDNNをダウンロードするには、Nvidiaの開発者になるためにサインアップする必要があり、その後ダウンロードできます。 Tensorflow v1.1が期待するものであるため、必ずcuDNN v5.1 Library for OSX
をダウンロードしてください。Mac用のGPUサポートがないため、Tensorflow v1.2は使用できないことに注意してください:((
[![ここに画像の説明を入力] [1]] [1]
ここで、cudnn-8.0-osx-x64-v5.1.tgz
というZipファイルをダウンロードして解凍し、cuda
というファイルを作成し、ターミナルを使用してcdします。フォルダーがダウンロードにあると仮定します
ターミナルを開いて入力します:
cd ~/Downloads/cuda
次に、cuDNN
ファイルをCUDA
が保存されている場所にコピーする必要があります。
Sudo cp include/* /usr/local/cuda/include/
Sudo cp lib/* /usr/local/cuda/lib/
4。 conda/virtualenvにTensorflow-GPU v1.1をインストールします
私はconda
を使用しているので、ターミナルを使用して新しい環境を作成しました。
conda create -n egpu python=3
source activate egpu
pip install tensorflow-gpu # should install version 1.1
5。動作することを確認します
最初にコンピューターを再起動する必要があります:
ターミナルでpython
と入力し、次を入力します。
import tensorflow as tf
with tf.device('/gpu:0'):
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)
with tf.Session() as sess:
print (sess.run(c))
GPUを使用している場合、これは問題なく実行されるはずです。問題がある場合は、スタックトレース(多数のエラーメッセージ)を取得する必要があります。
ノード 'MatMul'にデバイスを割り当てることができません:明示的なデバイス仕様 '/ device:GPU:0'を満たせませんでした。そのプロセスにその仕様に一致するデバイスが登録されていないためです
そうでなければ、おめでとうございます!私は今日私のものをセットアップしましたが、完璧に機能しています:)
私は最終的に次のセットアップで動作させることができました
手順の要点を書きました:
https://Gist.github.com/jganzabal/8e59e3b0f59642dd0b5f2e4de03c7687
これは、Macにe-gpuをインストールするための私のソリューションです。 Tensorflowはtensorflow-gpuをサポートしなくなったため、動作させるためのより良いアプローチが間違いなくあります。
私の設定:
Windowsブートキャンプインストールの利点:
Howto:
コマンド:
pip install tensorflow-gpu==1.5.0rc0
インストールを確認してください
画面をGTX 1080 tiカードに接続できる場合、ディスプレイドライバーは正しくインストールされています。
C:\ Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exeを呼び出して、CUDAでビデオカードが使用可能かどうかを確認します。
次のtensorflowコマンドを実行して、使用可能なデバイスを確認します。
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
トラブルシューティングとヒント:
Ubuntuソリューション:
実用的なソリューションが見つかりませんでしたが、いくつかのアプローチを次に示します。
GTX 680(iMac)とGTX 1080 tiが一緒に動作しないようです。 Ubuntuは、apt-getを介してディスプレイドライバをインストールした後、もう起動できませんでした: buntu not starting anmore 。 NVIDIAダウンロードページ から公式ディスプレイドライバーをダウンロードしてみてください。
OSXソリューション:Tensorflow GPUは、tensorflow 1.1までのみサポートされます。新しいバージョンをインストールしようとしましたが、CUDAをサポートしたtensorflow-gpuをビルドできませんでした。以下にいくつかのアプローチを示します。
結論:WindowsのインストールはOSXやUbuntuのインストールよりも簡単です使用するソフトウェアのバージョンを常に確認してください。は正確に一致する必要があります。
これがお役に立てば幸いです!