Cannot convert a symbolic Tensor to a numpy array错误的解决

2023-05-16

最近写代码的时候发生了一件奇怪的错误

 NotImplementedError: Cannot convert a symbolic Tensor (bert/encoder/layer_0/attention/self/strided_slice:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported

这里的源代码内容是这样的

sh = self.get_shape_list(from_tensor)
#data = sh[:2]
mask = tf.ones(sh[:2],dtype=tf.int32)

其中原先的sh内容为:

sh = [<tf.Tensor.'bert/encoder/layer_0/attention/self/strided_slice:0',shape = (),dtype=int32>,128,768]

查看对应的get_shape_list的相应源码

@staticmethod
def get_shape_list(tensor):
    """ Tries to return the static shape as a list
    falling back to dynamic shape per dimension. """
    static_shape, dyn_shape = tensor.shape.as_list(), tf.shape(tensor)
    def shape_dim(ndx):
        return dyn_shape[ndx] if static_shape[ndx] is None else static_shape[ndx]

这里面本身调用的内容为

static_shape,dyn_shape = tensor.shape_aslist(),tf.shape(tensor)

此时这里调用出来的内容为

static_shape = [None,128,768]
dyn_shape = Tensor("bert/encoder/layer_0/attention/self/Shape:0",shape=(3,),dtype=int32)

然后进行调用shape_dim函数

def shape_dim(ndx):
    return dyn_shape[ndx] if static_shape[ndx] is None else static_shape[ndx]

这里的操作是分析对应的static_shape数组内容,对于第一个数值为None的时候调用dyn_shape中的第一个值,所以返回的值为

<tf.Tensor 'strided_slice:0' shape=() dtype = int32>

后面两个对应的值不为None,所以调用对应的128和768,因此最后返回的数组为

sh = [<tf.Tensor 'strided_slice:0' shape=() dtype=int32>,128,768]

然后此时将前两维度作为ones数组的形状调用进入会发生报错

mask = tf.ones(sh[:2],dtype=tf.int32)

将sh的前两维数组放入进去之后,会报以下的错误

 NotImplementedError: Cannot convert a symbolic Tensor (bert/encoder/layer_0/attention/self/strided_slice:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported

这个时候我想到另辟蹊径,直接放入对应的dyn_shape的tensor类型的数组,直接解决了这个对应的问题
dyn_shape的对应数值为

dyn_shape = Tensor("bert/encoder/layer_0/attention/self/Shape:0",shape=(3,),dtype=int32)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cannot convert a symbolic Tensor to a numpy array错误的解决 的相关文章

  • 使用 python 内置函数进行耦合 ODE

    如果您需要的话 这部分只是背景知识 我正在开发二阶 Kuramoto 模型的数值求解器 下面给出了我用来求 theta 和 omega 导数的函数 n dimensional change in omega def d theta omeg
  • Python Numpy TypeError:输入类型不支持 ufunc 'isfinite'

    这是我的代码 def topK dataMat sensitivity meanVals np mean dataMat axis 0 meanRemoved dataMat meanVals covMat np cov meanRemov
  • scipy 的 curve_fit 函数的尺寸问题

    我对 python 中的曲线拟合以及一般的 python 都很陌生 目前 我正在尝试使用 scipy 中的 curve fit 模块来拟合 4 个光谱峰 简而言之 我的文本文件中有两列数据 所以我的第一步是将数据导入到两个数组中 一个包含
  • 矩阵求逆 (3,3) python - 硬编码与 numpy.linalg.inv

    对于大量矩阵 我需要计算定义为的距离度量 尽管我确实知道强烈建议不要使用矩阵求逆 但我没有找到解决方法 因此 我尝试通过对矩阵求逆进行硬编码来提高性能 因为所有矩阵的大小均为 3 3 我预计这至少会是一个微小的改进 但事实并非如此 为什么
  • 如何获取由 1D NumPy 数组中的值表示的索引处值为 1 的 2D NumPy 数组 (Python)

    如何在 Python 中获取由 1D np array 中的值表示的索引处值为 1 的 2D np array Example 1 2 5 1 2 应转换为 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0
  • Python 中快速、小型且重复的矩阵乘法

    我正在寻找一种使用 Python Cython Numpy 快速将许多 4x4 矩阵相乘的方法 任何人都可以给出任何建议吗 为了展示我当前的尝试 我有一个需要计算的算法 A 1 A 2 A 3 A N 哪里每个 A i A j Python
  • 优化Python:大数组、内存问题

    我在运行 python numypy 代码时遇到速度问题 我不知道如何让它更快 也许其他人 假设有一个表面有两个三角剖分 一个是细三角剖分 fine 有 M 个点 一个是粗剖分 有 N 个点 此外 还有每个点的粗网格数据 N 个浮点数 我正
  • 将numpy字符串数组转换为int数组[重复]

    这个问题在这里已经有答案了 我有一个 numpy ndarray a 0 99 0 56 0 56 2 02 0 96 如何将其转换为int 输出 a 0 99 0 0 0 56 0 56 2 02 0 96 我想要 0 0 代替空白 im
  • 有没有办法使用 Mayavi 填充陀螺仪表面的一侧?

    我正在使用 Mayavi 绘制陀螺仪的等值面 我的问题是我需要通过填充两个生成区域的一侧来获得更坚固的结构 在下面的图片中 您可以看到我生成的等值面的外观以及填充一侧后的外观 我生成的等值面 它应该是什么样子 等值面可以通过以下方程生成 U
  • 如何从numpy数组中获取两个最小值

    我想从数组中取出两个最小值x 但是当我使用np where A B np where x x min 0 1 我收到此错误 ValueError 需要超过 1 个值才能解压 我该如何修复这个错误 我需要在数组中按升序排列数字吗 您可以使用n
  • 如何开始使用“scipy”

    我之前安装过 Python 3 4 2 和 3 5 2 在这两种情况下 我都可以在 Idle 中涉足编写和测试代码 这给了我两个窗口 一个用于代码的 运行 窗口 一个用于交互和测试的 Shell 窗口 输出 抱歉 不确定术语是否正确 现在我
  • Opencv matchTemplate 和 np.where():仅保留唯一值

    继带有马里奥硬币的 opencv 教程 https opencv python tutroals readthedocs io en latest py tutorials py imgproc py template matching p
  • 在Python中为什么ifrank:比ifrank!= 0更快:

    当我改变的时候 for i in range 0 100 rank ranks i if rank 0 pass to for i in range 0 100 rank ranks i if rank pass 我发现第二个代码效率更高
  • Python:球体的交集

    我对编程非常陌生 但我决定承担一个有趣的项目 因为我最近学会了如何以参数形式表示球体 当三个球体相交时 有两个不同的交点 除非它们仅在一个奇点处重叠 球体的参数表示 我的代码是根据答案修改的Python matplotlib 绘制 3d 立
  • 快速分类(分箱)

    我有大量条目 每个条目都是浮点数 这些数据x可以通过迭代器访问 我需要使用像这样的选择对所有条目进行分类10
  • 将 PyQt5 QPixmap 转换为 numpy ndarray

    我有像素图 pixmap self screen grabWindow 0 self x self y self width self height 我想将其转换为 OpenCV 格式 我尝试将其转换为numpy ndarray如上所述he
  • numpy 内部存储数组的大小吗?

    来自 numpy 数组的规范here http docs scipy org doc numpy 1 10 0 reference c api types and structures html c PyArrayObject typede
  • numpy 中的分层抽样

    在 numpy 中我有一个这样的数据集 前两列是索引 我可以通过索引将数据集分成多个块 即第一个块是 0 0 第二个块是 0 1 第三个块 0 2 然后是 1 0 1 1 1 2 等等 每个块至少有两个元素 索引列中的数字可能会有所不同 我
  • 如何使用 pandas 选择所有非 NaN 列和非 NaN 最后一列?

    如果标题有点令人困惑 请原谅我 假设我有test h5 下面是使用读取该文件的结果df read hdf test h5 testdata 0 1 2 3 4 5 6 0 123 444 111 321 NaN NaN NaN 1 12 2
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A

随机推荐

  • Ubuntu允许root远程登陆方法

    Ubuntu中允许root用户远程登录 编辑配置文件 xff1a sudo vim etc ssh sshd config 将PermitRootLogin prohibit password更改为 xff1a PermitRootLogi
  • 航模的遥控与电调

    遥控接收机解码出遥控器的信号 xff0c 有多少路的解多少路 xff0c 解出来的其实就是pwm的脉冲信号 xff0c T 61 20ms 脉宽是1 2ms xff0c 脉宽1ms时表示最小值 xff0c 脉宽2m时表示最大值 xff08
  • Flash某些错误解决

    运行是提示VerifyError 1014 无法找到类 修改文件后 xff0c 加载的总是旧文件 xff1f 清理IE缓存试试
  • Shell编程入门学习

    文章目录 Shell编程Shell脚本的执行方式Shell的变量Shell的变量的介绍shell变量的定义 设置环境变量位置参数变量介绍基本语法 预定义变量基本介绍基本语法 运算符基本语法 条件判断判断语句常用判断条件 流程控制if 判断c
  • module.exports与exports,export与export default之间的关系和区别

    module exports与exports xff0c export与export default之间的区别及使用 这里我就以最简单的方法 xff0c 举例说明 CommonJS xff1a 使用module exports与export
  • Recipe terminated with error. Retry building the project.

    Recipe terminated with error Retry building the project 在vscode中运行latex中出现此错误时 xff0c 但之前又输入正常 首先检查文件是否保存在有中文路径中 试着将文件更换一
  • 在命令窗口如何退出命令窗口的文本输入回到命令行

    退出文本编辑或运行的程序 第一种情况 进入命令窗口下的文本输入 xff0c 或正在执行的代码 情况如图1所示 xff1a 图1 在这种情况下则按Ctrl 43 C则可退出 xff01 xff01 第二种情况 使用vi命令进入文本编辑器时退出
  • Latex/Markdown中将字母上下方插入字母数字

    Latex Markdown中将字母上下方插入字母数字 演示在typora软件里面插入Latex公式 通常在字母前面加入 mathop将 中的字母数字当作数学符号使用 xff1b 都加 mathop xff1a 1 xff1a 不加 lim
  • Python实例5:身体质量指数BMI问题分析

    Python实例5 xff1a 身体质量指数BMI问题分析 问题需求 xff1a 1 xff09 输入 xff1a 给定体重和身高值 xff1b 2 xff09 输出 xff1a BMI指标分类信息 xff08 国际和国内 xff09 xf
  • Python实例7:七段数码管绘制

    Python实例7 xff1a 七段数码管绘制 基本思路 xff1a 绘制单个数字对应的数码管 xff1b 获得一串数字 xff0c 绘制对应的数码管 xff1b 获取当前系统时间 xff0c 绘制对应的数码管 xff1b 步骤 xff1a
  • Python实例13:体育竞技分析

    Python实例13 xff1a 体育竞技分析 8 1 1 问题分析 需求 xff1a 毫厘是多少 xff1f 如何科学分析体育竞技比赛 xff1f 输入 xff1a 球员的水平 xff1b 输出 xff1a 可预测的比赛成绩 xff1b
  • 解决anaconda虚拟环境连接不上jupyter的kernel的方法(无法连接服务)

    jupyter日志 xff1a ImportError cannot import name AsyncGenerator 问题 xff1a 在anaconda中创建conda虚拟环境后安装ipykernel xff0c 在jupyter中
  • Tensorflow代码学习-8-3下载google图像识别网络inception-v3并查看结构

    下载google图像识别网络inception v3并查看结构 课程 xff1a 炼数成金GITHUBCSDN知乎欢迎点亮star span class token keyword import span tensorflow span c
  • Tensorflow代码学习-10-3验证码识别

    验证码识别 课程 xff1a 炼数成金GITHUBCSDN知乎欢迎点亮star span class token comment coding utf 8 span span class token keyword import span
  • 腾讯云ubuntu远程桌面

    1 首先要连接上你的服务器 xff0c 然后安装vncserver xff0c 这个是用来远程连接用的 命令如下 apt get install vnc4server 2 安装图形界面 apt get install xfce4如果安装不上
  • 如何快速上手期刊、会议论文latex的小技巧

    来自学习经验 xff0c 如有更好可评论告知 xff01 适用于各种期刊 会议的小技巧 xff01 xff01 可节省非常多时间 xff01 xff01 知乎专栏 简单描述如下 xff1a 1 找一篇与要投的期刊一篇论文 2 去arxiv网
  • 解决 树莓派自带的VNC版本不能进行文件传输

    在树莓派4B上使用的VNCSERVER是可以进行文件传输的 xff0c 就想应该是树莓派3B 43 上的操作系统自带的VNC版本太旧 xff0c 因此就想直接用命令sudo apt upgrade tightvncserver更新 xff0
  • Git submodule - Git子模块简介

    目录 建立仓库 1 1 创建主仓库 1 2 创建子仓库提交内容 2 1 提交到主工程的仓库 2 2 提交到子模块的仓库克隆带子模块的仓库到本地更新子仓库总结参考文档 正文 软件开发中有一个DRY Don t Repeat yourself
  • IR2101驱动

    下面是datasheet上的内部框图及应用电路 xff1a 由内部框图及输入输出时序图可知 xff1a HIN输入高则HO输出高 xff0c 输入低则输出低 低端也一样 由典型应用电路图分析 xff1a 当HIN LIN同时输入高 xff0
  • Cannot convert a symbolic Tensor to a numpy array错误的解决

    最近写代码的时候发生了一件奇怪的错误 NotImplementedError Cannot convert a symbolic Tensor bert encoder layer 0 attention self strided slic