2016-08-12 12 views
4

私は、今までのところ、テンソルフロー0.10をEl Captitan Macbook Pro(2013年後半、GeForce GT 750M)で実行しようとしていました。私はと、this onethis oneを含む多くの人々のアプローチを試しました。PythonのインポートでOSX segfaultsのTensorflow 0.10(CUDA)

参考までに、私はOSX 10.11.5でPython3、CUDA 7.5、およびtensorflow 0.10を使用しようとしています。

私はCUDAをインストールしており、私のGPUを認識しています。私は/Developer/NVIDIA/CUDA-7.5/samples/1_Utilities/deviceQuerydeviceQueryサンプルを正常にコンパイルできます。実行されたとき、その出力は:

./deviceQuery Starting... 

CUDA Device Query (Runtime API) version (CUDART static linking) 

Detected 1 CUDA Capable device(s) 

Device 0: "GeForce GT 750M" 
    CUDA Driver Version/Runtime Version   7.5/7.5 
    CUDA Capability Major/Minor version number: 3.0 
    Total amount of global memory:     2048 MBytes (2147024896 bytes) 
    (2) Multiprocessors, (192) CUDA Cores/MP:  384 CUDA Cores 
    GPU Max Clock rate:       926 MHz (0.93 GHz) 
    Memory Clock rate:        2508 Mhz 
    Memory Bus Width:        128-bit 
    L2 Cache Size:         262144 bytes 
    Maximum Texture Dimension Size (x,y,z)   1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) 
    Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers 
    Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers 
    Total amount of constant memory:    65536 bytes 
    Total amount of shared memory per block:  49152 bytes 
    Total number of registers available per block: 65536 
    Warp size:          32 
    Maximum number of threads per multiprocessor: 2048 
    Maximum number of threads per block:   1024 
    Max dimension size of a thread block (x,y,z): (1024, 1024, 64) 
    Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) 
    Maximum memory pitch:       2147483647 bytes 
    Texture alignment:        512 bytes 
    Concurrent copy and kernel execution:   Yes with 1 copy engine(s) 
    Run time limit on kernels:      Yes 
    Integrated GPU sharing Host Memory:   No 
    Support host page-locked memory mapping:  Yes 
    Alignment requirement for Surfaces:   Yes 
    Device has ECC support:      Disabled 
    Device supports Unified Addressing (UVA):  Yes 
    Device PCI Domain ID/Bus ID/location ID: 0/1/0 
    Compute Mode: 
    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > 

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GT 750M 
Result = PASS 

私はまたcudnn-7.5ライブラリとヘッダーをダウンロードして/usr/local/cuda/libincludeに正しい場所にそれらのファイルを入れています。 python3インタラクティブREPLで

、私は import tensorflowに入力した場合、I取得するには、次の出力:

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tensorflow 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.7.5.dylib locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.5.dylib locally 
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.7.5.dylib locally 
Segmentation fault: 11 

私の質問があり、私が成功したセグメンテーション違反せずにモジュールをインポートするために何が必要ですか?役に立った場合は、dtrussのコマンドの実行結果をpython3 REPL hereに掲載し、診断(クラッシュ)レポートの要点をstacktrace hereに掲載しました。

+0

は、あなたはそれを含めるために、[ここ](https://github.com/tensorflow/tensorflow/issues/3723#issuecomment-239175762) –

+0

編集をスタックトレースを取得することができます。 –

+0

このソリューションが機能するかどうかを確認できますか? https://github.com/tensorflow/tensorflow/issues/2940#issuecomment-238952433 –

答えて

3

問題はこのコメントで説明されていますhttps://github.com/tensorflow/tensorflow/issues/2940#issuecomment-238952433

「ロードlibcuda.dylibでバグがあります - デフォルトのCUDAのインストールはlibcuda.dylibを作成しますが、libcuda.1.dylibをロードするためにtensorflowしようとこれは失敗します。 libcuda.dylibをlibcuda.1.dylibにコピーすると、正常にロードされます。

プル要求と他の皆のためのクラッシュを修正するために、かなり簡単だろう - つまりヌル値を使用しようと、コード

にこのような何かを追加して、正確にどのラインを参照する -c dbgでコンパイルします説明したよう

if (mystring == NULL) { return; }

関連する問題