2016-05-14 5 views
1

イメージ分類アプリケーションのために、AWSサーバー(AMI ID:Deep Learning(ami-77e0da1d))にテンソルフローを持つFlask Webアプリケーションをデプロイしようとしています。FlaskでWebサーバーにTensorflowをデプロイ

私は、サーバーにtensorflow使用する場合、それは正常に動作しますが、私はアプリでそれを使用しようとすると、私が取得:

No data received ERR_EMPTY_RESPONSE

のerror.logファイルの最後には、私が持っています:

F tensorflow/stream_executor/cuda/cuda_dnn.cc:204] could not find cudnnCreate in cudnn DSO; dlerror: /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so: undefined symbol: cudnnCreate [Sat May 14 11:30:54.124034 2016] [core:notice] [pid 1332:tid 139695334930304] AH00051: child pid 2999 exit signal Aborted (6), possible coredump in /etc/apache2

マイCuDNNバージョン:4.0.7

必要

+0

あなたの 'LD_LIBRARY_PATH'環境変数の値は何ですか? TensorFlowがCUDAライブラリを見つけることができないようです... – mrry

+0

それは/ usr/local/cuda/lib64です – Mostafa

答えて

0

私の場合、私はより多くの詳細を提供することができますGPUの代わりにCPUにデプロイすることで私の問題を解決しました。それだけで十分でした。

1

セキュリティ上の理由から、Webアプリケーションを開始する前にLD_LIBRARY_PATHの値がクリアされています。たとえばthis questionを参照してください。これは、Flaskアプリケーション内でos.environ['LD_LIBRARY_PATH']の値が空であることを示していますが、Apacheを起動したときに設定されている可能性があります。

オプションのカップルが少なくともあります

  • あなたのフラスコアプリに伝播されている環境変数を設定するApacheのmod_envを使用することができます。 this answerに基づいて

  • は、あなたがsubprocess呼び出しを実行するスクリプトを変更し、サブプロセスのために/usr/local/cuda/lib64LD_LIBRARY_PATHを設定することができます。

関連する問題