我正在尝试在AWS服务器上部署带有tensorflow的Flask Web应用程序(AMI ID:深度学习(ami-77e0da1d)),用于图像分类应用程序。
当我在服务器中使用tensorflow时,它可以正常工作,但是当我尝试将它与应用程序一起使用时,我得到:
没有收到数据ERR_EMPTY_RESPONSE
在error.log文件的末尾,我有:
F tensorflow / stream_executor / cuda / cuda_dnn.cc:204]在cudnn DSO中找不到cudnnCreate; dlerror:/usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so:undefined symbol:cudnnCreate [6月14日星期六11:30:54.124034 2016] [核心:通知] [pid 1332:tid 139695334930304] AH00051:子pid 2999退出信号中止(6),/ etc / apache2中可能的coredump
我的CuDNN版本:4.0.7
如有必要,我可以提供更多详细信息
答案 0 :(得分:1)
出于安全原因,在启动Web应用程序之前,LD_LIBRARY_PATH
的值已被清除。请参阅示例this question,它注意到Flask应用内的os.environ['LD_LIBRARY_PATH']
值为空,即使它可能在您启动Apache时设置。
至少有几个选择:
您可以使用Apache的mod_env
来设置传播到Flask应用程序的环境变量。
根据this answer,您可以修改脚本以执行subprocess
调用,并为子流程设置LD_LIBRARY_PATH
为/usr/local/cuda/lib64
。
答案 1 :(得分:0)
我通过在CPU而不是GPU上部署来解决我的问题,这对我来说已经足够了。