栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

NotImplementedError: Cannot convert a symbolic Tensor (strided

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NotImplementedError: Cannot convert a symbolic Tensor (strided

这个问题一般是三个原因,降低/升高numpy的版本,降低/升高tensorflow的版本,这个很容易找到,这里介绍的是一种不需要版本更新的方法。

注:最下方的github中包含多种解决方法。

通过修改array_ops.py解决bug

1. 找到通过pip安装tensorflow的位置,如果不知道的话,就直接 pip install tensorflow,系统会提示tensorflow已经安装了,找到这个路径。

# 找到 array_ops.py 的路径
cd C:UsersUSERNAMEanaconda3Libsite-packagestensorflowpythonops

2. 修改 array_ops.py文件(记得备份源文件)

cp array_ops.py  array_ops_copy.py
vi array_ops.py 

3. 在最开头的import部分,添加下面内容,导入这个包

from tensorflow.python.ops.math_ops import reduce_prod

然后搜索下面的这个方法 def _constant_if_small,并用下面的内容替换原来的方法,在vim中搜索为按 ESC,然后 按 /,然后输入搜索的内容 

def _constant_if_small(value, shape, dtype, name):
  try:
    if reduce_prod(shape) < 1000:
      return constant(value, shape=shape, dtype=dtype, name=name)
  except TypeError:
    # Happens when shape is a Tensor, list with Tensor elements, etc.
    pass
  return None

参考:

NotImplementedError: Cannot convert a symbolic Tensor (strided_slice:0) to a numpy array. · Issue #9706 · tensorflow/models · GitHub

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号