Python 无法获取卷积算法。在张量流图像识别中的应用

Python 无法获取卷积算法。在张量流图像识别中的应用,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,我正在尝试建立一个使用tensorflow模型进行图像识别的对象检测器,但由于这个错误,我无法让它工作。 我是GPU新手,非常感谢您的详细帮助 ----> 2 show_inference(detection_model, image_path) <ipython-input-15-e474e557b383> in show_inference(model, image_path) 4 image_np = np.array(Image.open(image

我正在尝试建立一个使用tensorflow模型进行图像识别的对象检测器,但由于这个错误,我无法让它工作。 我是GPU新手,非常感谢您的详细帮助

----> 2   show_inference(detection_model, image_path)
<ipython-input-15-e474e557b383> in show_inference(model, image_path)
      4   image_np = np.array(Image.open(image_path))
      5   # Actual detection.
----> 6   output_dict = run_inference_for_single_image(model, image_np)
      7   # Visualization of the results of a detection.
      8   vis_util.visualize_boxes_and_labels_on_image_array(
<ipython-input-14-4110867dcb70> in run_inference_for_single_image(model, image)
      7 
      8   # Run inference
----> 9   output_dict = model(input_tensor)
     10 
     11   # All outputs are batches tensors.
D:\python\lib\site-packages\tensorflow_core\python\eager\function.py in __call__(self, *args, **kwargs)
   1549       TypeError: For invalid positional/keyword argument combinations.
   1550     """
-> 1551     return self._call_impl(args, kwargs)
   1552 
   1553   def _call_impl(self, args, kwargs, cancellation_manager=None):
D:\python\lib\site-packages\tensorflow_core\python\eager\function.py in _call_impl(self, args, kwargs, cancellation_manager)
   1589       raise TypeError("Keyword arguments {} unknown. Expected {}.".format(
   1590           list(kwargs.keys()), list(self._arg_keywords)))
-> 1591     return self._call_flat(args, self.captured_inputs, cancellation_manager)
   1592 
   1593   def _filtered_call(self, args, kwargs):
D:\python\lib\site-packages\tensorflow_core\python\eager\function.py in _call_flat(self, args, captured_inputs, cancellation_manager)
   1690       # No tape is watching; skip to running the function.
   1691       return self._build_call_outputs(self._inference_function.call(
-> 1692           ctx, args, cancellation_manager=cancellation_manager))
   1693     forward_backward = self._select_forward_and_backward_functions(
   1694         args,
D:\python\lib\site-packages\tensorflow_core\python\eager\function.py in call(self, ctx, args, cancellation_manager)
    543               inputs=args,
    544               attrs=("executor_type", executor_type, "config_proto", config),
--> 545               ctx=ctx)
    546         else:
    547           outputs = execute.execute_with_cancellation(
D:\python\lib\site-packages\tensorflow_core\python\eager\execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     65     else:
     66       message = e.message
---> 67     six.raise_from(core._status_to_exception(e.code, message), None)
     68   except TypeError as e:
     69     keras_symbolic_tensors = [
~\AppData\Roaming\Python\Python37\site-packages\six.py in raise_from(value, from_value)
UnknownError: 2 root error(s) found.
  (0) Unknown:  Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[node FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/mul_1 (defined at <ipython-input-7-f8a3c92a04a4>:11) ]]
     [[Postprocessor/BatchMultiClassNonMaxSuppression/mul/_54]]
  (1) Unknown:  Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[node FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/mul_1 (defined at <ipython-input-7-f8a3c92a04a4>:11) ]]
0 successful operations.
0 derived errors ignored. [Op:__inference_pruned_16996]
Function call stack:
pruned -> pruned
--->2显示推理(检测模型、图像路径)
在显示推理中(模型、图像路径)
4 image\u np=np.array(image.open(image\u路径))
5#实际检测。
---->6输出\u dict=运行\u推断\u用于单个\u图像(模型,图像\u np)
7#检测结果的可视化。
8 vis_util.visualize_box_和_标签_在_image_数组上(
针对单个图像(模型、图像)的运行中推理
7.
8#运行推理
---->9输出dict=模型(输入张量)
10
11#所有输出均为批次张量。
D:\python\lib\site packages\tensorflow\u core\python\eager\function.py in\uuuuuu调用(self,*args,**kwargs)
1549 TypeError:用于无效的位置/关键字参数组合。
1550     """
->1551返回自我。\u调用\u impl(args,kwargs)
1552
1553 def_call_impl(self、args、kwargs、cancellation_manager=None):
D:\python\lib\site packages\tensorflow\u core\python\eager\function.py in\u call\u impl(self、args、kwargs、cancellation\u manager)
1589 raise TypeError(“关键字参数{}未知。应为{}.”格式(
1590列表(kwargs.keys()),列表(self.\u arg\u关键字)))
->1591返回自。\呼叫\u平面(参数、自捕获\u输入、取消\u管理器)
1592
1593 def_筛选_调用(self、args、kwargs):
D:\python\lib\site packages\tensorflow\u core\python\eager\function.py在调用平面中(self、args、捕获的输入、取消管理器)
1690#没有磁带在观看;请跳到运行该函数。
1691返回self.\u构建\u调用\u输出(self.\u推断\u函数.call(
->1692 ctx,参数,取消管理器=取消管理器)
1693向前\向后=自身。\选择\向前\和\向后\功能(
1694 args,
调用中的D:\python\lib\site packages\tensorflow\u core\python\eager\function.py(self、ctx、args、cancellation\u manager)
543输入=args,
544属性=(“执行器类型”,执行器类型,“配置协议”,配置),
-->545 ctx=ctx)
546其他:
547输出=execute.execute_与_取消(
D:\python\lib\site packages\tensorflow\u core\python\eager\execute.py在quick\u execute中(op\u name、num\u outputs、inputs、attrs、ctx、name)
65.其他:
66 message=e.message
--->67六、从(核心状态)提升到异常(如代码、消息),无
68除e以外的类型错误:
69 keras_符号_张量=[
raise\U from中的~\AppData\Roaming\Python\Python37\site packages\six.py(值,from\u值)
未知错误:找到2个根错误。
(0)未知:无法获取卷积算法。这可能是因为cuDNN未能初始化,因此请尝试查看上面是否打印了警告日志消息。
[[node FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/BatchNorm/mul_1(定义于:11)]]
[[Postprocessor/BatchMultiClassNonMaxSuppression/mul/_54]]
(1) 未知:无法获取卷积算法。这可能是因为cuDNN未能初始化,因此请尝试查看上面是否打印了警告日志消息。
[[node FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/BatchNorm/mul_1(定义于:11)]]
0成功的操作。
忽略0个派生错误。[Op:uu推断_u修剪_16996]
函数调用堆栈:
修剪->修剪
我有tesorflow版本:2.1.0

Cuda版本:10.2


CUDNN版本:7.6.5

我也遇到了这个问题。我不确定原因,但我怀疑这与GPU内存有关。我注意到,当我运行太多python实例时,会出现这个错误。当我杀死其他python实例时,错误就会消失。因此,请仅使用运行python的单个实例进行尝试。I当我使用pip安装Tensorflow 2时也遇到类似问题。如果错误仍然存在,请卸载Tensorflow 2,然后使用Conda重新安装。Conda会自动安装所有GPU依赖项CUDA和CUDNN。

我也遇到过此问题。我不确定原因,但我怀疑与GPU内存有关。我注意到e当运行太多python实例时,我会出现此错误。当我杀死其他python实例时,错误就会消失。因此,请仅在运行单个python实例时尝试此错误。当我使用pip安装Tensorflow 2时,我也遇到类似问题。如果错误仍然存在,请卸载Tensorflow 2,然后使用Conda重新安装。Conda安装all GPU依赖项CUDA和CUDNN自动启动。

尝试了这两种建议,但都不起作用。另一方面,当我使用condadoes安装tensorflow时,我开始发现tensorflow不存在。tensorflow显示在您环境的已安装模块列表中?一些有用的安装信息位于我让tensorflow再次工作,但仍然有效同样的错误我认为问题在于你使用的是Cuda版本10,2。如果我没记错的话,你需要使用10.1。转到这个链接获取文档。尝试了这两个建议,但都不起作用。另一方面,当我使用condadoes tensorflow安装它时,我开始发现tensorflow不存在。tensorflow显示在安装模块列表中您的环境?一些有用的安装信息位于我让tensorflow再次工作,但仍然存在相同的错误我认为问题在于您使用的是Cuda版本10,2。如果我没有记错,您需要使用10.1。请转到此链接获取文档