无法在 TensorFlow 中获取卷积算法错误

无法在 TensorFlow 中获取卷积算法错误

我严格按照 tensorflow.org 上的说明安装了 Cuda、cudann 和 TensorFlow。安装过程中,我将 ubuntu 切换到 Nvidia 卡。验证安装后,我切换回了英特尔。现在,在编译代码时,我在终端中收到此消息:

2019-11-26 19:24:24.781299:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcuda.so.1
2019-11-26 19:24:24.830457:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 从 SysFS 成功读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:24.831899:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]找到具有以下属性的设备 0:
名称:GeForce MX150 主频:6 次频:1 内存时钟频率(GHz):1.5315
pciBusID:0000:01:00.0
2019-11-26 19:24:24.983890:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.0
2019-11-26 19:24:25.001409:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcublas.so.10.0
2019-11-26 19:24:25.009430:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcufft.so.10.0
2019-11-26 19:24:25.030189:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcurand.so.10.0
2019-11-26 19:24:25.048404:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusolver.so.10.0
2019-11-26 19:24:25.067131:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusparse.so.10.0
2019-11-26 19:24:25.095875:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudnn.so.7
2019-11-26 19:24:25.096289:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.099040:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.100673:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746]添加可见的 gpu 设备:0
2019-11-26 19:24:25.101394:I tensorflow/core/platform/cpu_feature_guard.cc:142]您的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX2 FMA
2019-11-26 19:24:25.135574:I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU频率:1800000000 Hz
2019-11-26 19:24:25.137917:I tensorflow/compiler/xla/service/service.cc:168] XLA 服务 0x5619ea60e930 正在平台 Host 上执行计算。设备:
2019-11-26 19:24:25.137997:I tensorflow / compilation / xla / service / service.cc:175] StreamExecutor 设备(0):主机,默认版本
2019-11-26 19:24:25.270223:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 从 SysFS 成功读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.271459:I tensorflow/compiler/xla/service/service.cc:168] XLA 服务 0x5619ebdb8290 在平台 CUDA 上执行计算。设备:
2019-11-26 19:24:25.271500:I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor 设备(0):GeForce MX150,计算能力 6.1
2019-11-26 19:24:25.271757:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.272737:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]找到具有以下属性的设备 0:
名称:GeForce MX150 主频:6 次频:1 内存时钟频率(GHz):1.5315
pciBusID:0000:01:00.0
2019-11-26 19:24:25.272802:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.0
2019-11-26 19:24:25.272831:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库 libcublas.so.10.0
2019-11-26 19:24:25.272858:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcufft.so.10.0
2019-11-26 19:24:25.272882:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcurand.so.10.0
2019-11-26 19:24:25.272913:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusolver.so.10.0
2019-11-26 19:24:25.272940:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcusparse.so.10.0
2019-11-26 19:24:25.272966:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudnn.so.7
2019-11-26 19:24:25.273065:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.274126:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 从 SysFS 成功读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.275065:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746]添加可见的 gpu 设备:0
2019-11-26 19:24:25.275131:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudart.so.10.0
2019-11-26 19:24:25.277086:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] 设备互连StreamExecutor强度为1的边缘矩阵:
2019-11-26 19:24:25.277112:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1165] 0
2019-11-26 19:24:25.277124:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:N
2019-11-26 19:24:25.277325:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.278329:I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] 成功从 SysFS 读取的 NUMA 节点具有负值(-1),但必须至少有一个 NUMA 节点,因此返回 NUMA 节点零
2019-11-26 19:24:25.279323:I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] 创建了 TensorFlow 设备(/job:localhost/replica:0/task:0/device:GPU:0,内存为 1323 MB)-> 物理 GPU(设备:0,名称:GeForce MX150,pci 总线 ID:0000:01:00.0,计算能力:6.1)

那么我的 GPU 是否正常工作,还是我需要做其他事情?谢谢您的回答,但我在尝试运行卷积层时似乎遇到了新的问题。错误显示:

2019-11-29 20:59:03.481920:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcublas.so.10.0
2019-11-29 20:59:06.074691:I tensorflow/stream_executor/platform/default/dso_loader.cc:44]成功打开动态库libcudnn.so.7
2019-11-29 20:59:06.171580:E tensorflow / stream_executor / cuda / cuda_dnn.cc:329]无法创建 cudnn 句柄:CUDNN_STATUS_NOT_INITIALIZED
2019-11-29 20:59:06.171825: E tensorflow/stream_executor/cuda/cuda_dnn.cc:337] 可能是驱动程序版本不足:418.87.1
2019-11-29 20:59:06.171902:E tensorflow / stream_executor / cuda / cuda_dnn.cc:329]无法创建 cudnn 句柄:CUDNN_STATUS_NOT_INITIALIZED
2019-11-29 20:59:06.171993:E tensorflow/stream_executor/cuda/cuda_dnn.cc:337] 可能是驱动程序版本不足:418.87.1
2019-11-29 20:59:06.172777: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort 未知:无法获取卷积算法。这可能是因为 cuDNN 初始化失败,因此请尝试查看上面是否打印了警告日志消息。
     [[{{节点顺序/conv2d/Conv2D}}]]
   32/50000 [..............................] - ETA:2:43:50回溯(最近一次调用最后一次):
  文件“sample3.py”,第 54 行,位于
    验证数据=(测试图像,测试标签)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py”,第 728 行,适合
    使用多重处理=使用多重处理)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py”,第 324 行,适合
    总时期=时期)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py”,第 123 行,位于 run_one_epoch 中
    batch_outs = 执行函数(迭代器)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py”,第 86 行,位于execution_function中
    分布式函数(输入函数)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py”,第 457 行,位于 __call__
    结果 = self._call(*args,**kwds)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py”,第 520 行,在 _call 中
    返回 self._stateless_fn(*args,**kwds)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py”,第 1823 行,位于 __call__
    返回 graph_function._filtered_call(args,kwargs)# pylint:disable=protected-access
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py”,第 1141 行,位于 _filtered_call
    自我捕获的输入)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py”,第 1224 行,位于 _call_flat
    ctx,args,取消管理器=取消管理器)
  文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py”,第 511 行,正在调用
    ctx=ctx)
  quick_execute 中的文件“/home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/eager/execute.py”,第 67 行
    six.raise_from(core._status_to_exception(e.code,message),无)
  文件“”,第 3 行,在 raise_from 中
tensorflow.python.framework.errors_impl.UnknownError: 无法获取卷积算法。这可能是因为 cuDNN 初始化失败,因此请尝试查看上面是否打印了警告日志消息。
     [[node Sequence/conv2d/Conv2D(定义于 /home/encrypto/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1751)]] [Op:__inference_distributed_function_1055]

函数调用堆栈:
分布式函数

请告诉我该怎么办?

答案1

根据您在终端中收到的消息,即:

I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: 
name: GeForce MX150 major: 6 minor: 1 memoryClockRate(GHz): 1.5315  

TensorFlow 正在使用您的 Nvidia 显卡。
此外:运行pip freeze(如果您使用的是 Python3,请使用pip3而不是pip)以查看您是否已安装 tensorflow-gpu只有使用 Nvidia 显卡时才会运行

相关内容