tensorflow map_fn TensorArray 形状不一致

2024-04-18

我正在使用 map_fn 函数,并注意到它输出一个 TensorArray,这应该意味着它能够输出“锯齿状”张量(其中内部张量具有不同的第一维度)。

我尝试使用以下代码查看此操作:

import tensorflow as tf
import numpy as np

NUM_ARRAYS = 1000
MAX_LENGTH = 1000

lengths = tf.placeholder(tf.int32)
tArray = tf.map_fn(lambda x: tf.random_normal((x,), 0, 1),
                   lengths,
                   dtype=tf.float32) # Should return a TensorArray.

# startTensor =  tf.random_normal((tf.reduce_sum(lengths),), 0, 1)
# tArray = tf.TensorArray(tf.float32, NUM_ARRAYS)
# tArray = tArray.split(startTensor, lengths)
# outArray = tArray.concat()


with tf.Session() as sess:
    outputArray, l = sess.run(
        [tArray, lengths],
        feed_dict={lengths: np.random.randint(MAX_LENGTH, size=NUM_ARRAYS)})
    print outputArray.shape, l

但是得到了错误:

“TensorArray 的形状不一致。索引 0 的形状为:[259],但索引 1 的形状为:[773]”

这当然让我感到惊讶,因为我的印象是 TensorArrays 应该能够处理它。我错了吗?


虽然tf.map_fn() https://www.tensorflow.org/api_docs/python/tf/map_fn确实使用tf.TensorArray https://www.tensorflow.org/api_docs/python/tf/TensorArray物体内部, and a tf.TensorArray可以容纳不同大小的物体,这个程序不能按原样工作,因为tf.map_fn()转换其tf.TensorArray结果返回到tf.Tensor通过将元素堆叠在一起,但此操作失败了。

但是,您可以实施tf.TensorArray基于使用较低的杠杆tf.while_loop() https://www.tensorflow.org/api_docs/python/tf/while_loop代替:

lengths = tf.placeholder(tf.int32)
num_elems = tf.shape(lengths)[0]
init_array = tf.TensorArray(tf.float32, size=num_elems)

def loop_body(i, ta):
  return i + 1, ta.write(i, tf.random_normal((lengths[i],), 0, 1))

_, result_array = tf.while_loop(
    lambda i, ta: i < num_elems, loop_body, [0, init_array])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tensorflow map_fn TensorArray 形状不一致 的相关文章

  • 为什么 Python zipfile 不提供与命令行 zip 相同的输出 .zip 文件大小?

    这是生成的文件的大小zip seq 10000 gt 1 txt zip 1 1 txt adding 1 txt deflated 54 ls og 1 zip rw r r 1 22762 Aug 29 10 04 1 zip 这是一个
  • 使用列中的日期范围扩展 pandas 数据框

    我有一个 pandas 数据框 其日期和字符串与此类似 Start End Note Item 2016 10 22 2016 11 05 Z A 2017 02 11 2017 02 25 W B 我需要将其扩展 转换为以下内容 在之间填
  • 有没有纯Python的表类?

    我正在构建一个需要分析表格数据的应用程序 我想执行一些列操作 例如重命名列 删除列以及根据现有列的值计算新列的能力 我的第一选择是 Pandas 之类的东西 但是一个限制是这个项目必须是跨平台的并且非常容易在 virtualenv 中部署
  • 使用组合时如何解决循环依赖?

    我遇到了如下所示的情况 其中每个类都需要另一个类 并且它创建了循环依赖关系 我在使用 ctypes 包装一些 C 代码时遇到了这种情况 已经有很多关于这个主题的帖子 但我发现它们没有帮助 我需要一些例子 Module A from B im
  • Python 中的密码子生成

    我有这段代码 用于将 DNA 字符串转换为密码子列表 然后将此列表转换为具有各自氨基酸的字符串 然而 当我运行代码并且 DNA 字符串以一对核苷酸 例如 CT 而不是三联体结尾时 代码不会生成氨基酸序列 正如您在输出中看到的 from co
  • LSTM - 一段时间后预测相同的常数值

    我有一个变量 我想预测未来 30 年的情况 不幸的是我没有很多样品 df pd DataFrame FISCAL YEAR 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 199
  • ValueError:无法将 DatetimeIndex 转换为 dtype datetime64[us]

    我正在尝试为 S P 500 ETF 创建一个包含 30 分钟数据的 PostgreSQL 表 spy30new 用于测试新插入的数据 来自具有 15 分钟数据的多个股票的表 全部 15 个 all15 在 dt 时间戳 和 instr 股
  • python:如何检查一行是否为空行

    试图弄清楚如何编写一个 if 循环来检查一行是否为空 该文件有许多字符串 其中之一是一个空行 用于与其他语句分隔开 不是 我认为是一个回车符后面跟着另一个回车符 new statement asdasdasd asdasdasdasd ne
  • lxml/python 使用 CDATA 部分读取 xml

    在我的 xml 中我有一个CDATA部分 我想保留 CDATA 部分 然后剥离它 有人可以帮忙解决以下问题吗 默认不起作用 from io import StringIO from lxml import etree xml
  • 与 GridSearchCV 的并行错误,与其他方法一起工作正常

    我使用 GridSearchCV 时遇到以下问题 它在使用时给我一个并行错误n jobs gt 1 同时n jobs gt 1与 RadonmForestClassifier 等单一模型配合良好 下面是一个显示错误的简单工作示例 train
  • 创建 Pyomo 约束的性能

    我正在用 pyomo 设置一个更大的能量优化问题 正如其他中提到的 设置花费了不合理的时间问题 https stackoverflow com questions 43413067 performance of pyomo to gener
  • 在 Tensorflow 中每行选择一个元素的优雅方法

    Given 一个矩阵A形状的 m n 张量I形状的 m 我想要一份清单J的元素来自A where J i A i I i 那是 I保存要从每行中选择的元素的索引A 背景 我已经有了argmax A 1 现在我也想要max 我知道我可以使用r
  • 如何使用httplib2进行相互证书认证

    我正在使用 httplib2 从我的服务器向另一个 Web 服务发出请求 我们想要使用相互证书身份验证 我了解如何使用证书进行传出连接 h set certificate 但是如何检查应答服务器使用的证书 这张票 http code goo
  • python中的unicode错误[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在下面的代码中我收到错误mailSe
  • 在 Jupyter 笔记本中使用 PySpark 读取 XML

    我正在尝试读取 XML 文件 df spark read format com databricks spark xml load path to my xml 并收到以下错误 java lang ClassNotFoundExceptio
  • Django ImageField 默认值

    模型 py class UserProfile models Model photo models ImageField upload to get upload file name storage OverwriteStorage def
  • 加入语音频道(discord.py)

    当我尝试让我的机器人加入我的语音频道时 出现以下错误 await client join voice channel voice channel 产生错误的行 Traceback most recent call last File usr
  • 如何从 Pandas DataFrame 转换为 Tensorflow BatchDataset 以进行 NLP?

    老实说 我想弄清楚如何转换数据集 格式 pandasDataFrame或 numpy 数组 转换为简单文本分类张量流模型可以训练用于情感分析的形式 我使用的数据集类似于 IMDB 包含文本和标签 正面或负面 我看过的每个教程要么以不同的方式
  • pandas - 组合行的字符串

    我有一个像这样的数据框 id text 1 DM HTN Enlarged prostate 2 hypertensive and on regular treatment 2 LBP 3 DM HTN Enlarged prostate
  • Python google云函数部署失败-Madmom pip包

    我正在尝试使用 madmom python pip 包部署 Python3 7 Google Cloud Function 但是指定madmom 0 16 1requirements txt 中的内容导致部署失败 当我从requiremen

随机推荐

  • 为每个文件运行气流 DAG

    所以我在airflow中有一个非常好的DAG 它基本上在二进制文件上运行几个分析步骤 作为airflow插件实现 DAG 由 ftp 传感器触发 该传感器仅检查 ftp 服务器上是否有新文件 然后启动整个工作流程 所以目前的工作流程是这样的
  • 将数据从浏览器发送到服务器并返回

    我是 C 开发人员 很长一段时间以来我没有真正跟进任何与 Web 相关的开发 我有一个想要实施的项目 实际上是为了赶上这些技术 我的项目是这样的 在浏览器中显示一些内容 例如使用画布和 WebGL 的 3D 场景的内容 在页面上有一个按钮
  • 从出生日期提取的年龄总是出现不一致的情况

    我使用以下代码将用户提供的出生日期转换为当前日期的等效年份 输出在年份中的偏差总是不一致 而在天和月中的偏差则非常大 NSDateFormatter tempFormatter NSDateFormatter alloc init temp
  • 为静态库编译 SWIG Python 包装器?

    这是一个菜鸟问题 我正在尝试学习如何使用 SWIG 为 C 库制作 python 接口 该库是专有的第三方库 它以头文件 foo h 和静态存档 libfoo a 的形式出现在我面前 为了简化问题 我编造了一个我认为具有相同病理学的例子 无
  • pdfkit-警告:阻止访问文件

    在 HTML 文件中使用本地图像时 使用 pdfkit 库将 HTML 转换为 pdf 时出现错误 阻止对文件的访问 如何在 HTML 文件中使用本地图像 我遇到了同样的问题 我通过向 pdfkit from file 添加 enable
  • 深层复制 System.Windows.Forms.WebBrowser 对象/恢复状态

    本质上 我想要做的是复制一个 WebBrowser 对象 以便我可以执行相当于 在新选项卡中打开 或 在新窗口中打开 操作 从而维护任何已发布的数据 我不仅仅想导航到与原始 WebBrowser 对象中相同的 URL 而是想重复 HttpW
  • 许多库上的 APK META-INF 中复制的重复文件?

    我在尝试构建 APK 时收到此错误 错误 任务 app transformResourcesWithMergeJavaResForDebug 执行失败 com android build api transform TransformExc
  • 为什么我应该使用&而不是&?

    我为什么要使用 amp 代替 为我的网站编写 HTML 时 在哪里可以找到我应该编码的其他符号的列表 酒吧 也是吧 如果我将符号按原样粘贴到 html 中 可能会遇到什么问题 事情是 我有一些附属链接 我担心 如果我在某些情况下用 编写它们
  • PTVS 和 numpy System.Int64 转换中的 numpy 64 位支持

    我正在尝试使用 IronPython 和 numpy 编写一些调用 NET 程序集的代码 版本信息 numpy 2 0 0 1 scipy 1 0 0 2 铁Python 2 7 1 我根据此处给出的说明安装了 scipy 和 numpy
  • UIViewContentModeScaleAspectFill 不裁剪

    我正在尝试使用以下命令以固定尺寸 100x100 绘制一些缩略图UIImageView 我将图像视图的帧大小设置为 100x100 并将contentMode to UIViewContentModeScaleAspectFill 我的理解
  • ruby irb 在 Windows 上使用 gitbash shell - 无法使用箭头键修改命令输入?

    当我执行 Rails Console 时 我的 git bash shell 允许我使用向上箭头来调用命令 并使用向左 向右箭头来修改我输入的文本 当我跑步时irbshell 忽略退格键和箭头键 我不确定为什么箭头键在 Rails 控制台的
  • 使用数据中的参数调用 C# 方法

    比如说 我有一个像这样的 XML 字符串
  • 加载Python lib'/tmp/_MEItueAuk/libpython3.7m.so.1.0'时出错:dlopen:/lib/x86_64-linux-gnu/libc.so.6:找不到版本“GLIBC_2.28”

    我已经安装了minidcos https minidcos readthedocs io 使用下面的命令 curl fail L https github com dcos dcos e2e releases download 2019 1
  • 如何在Android中渲染OBJ或FBX? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个 obj 和 fbx 格式的 3D 对象 其中包含 mtl 和纹理文件 我想知道哪个是在 An
  • 嵌套 foreach 到 Linq [重复]

    这个问题在这里已经有答案了 我是 LINQ 新手 请帮助我将这行嵌套代码转换为 LINQ foreach var rule in rules foreach var package in packages if rule KeyFrom p
  • 在 RxJava 中,如何在错误时重试/恢复,而不是完成可观察的

    我想要实现的是 监控特定变化的偏好 当检测到更改时 使用新值启动新的网络调用 变换结果 在 UI 中显示结果 我知道更改何时发生 现在我认为我需要对某个主题调用 onNext 然后这应该会触发 Rx 链 最后我可以更新 UI mViewPe
  • 不使用Setup.exe手动安装Cygwin

    在不使用预制安装实用程序时 我无法找到正确安装 Cygwin 所需的所有文件 这背后的原因是我的公司计算机阻止了 exe 的使用 并且不允许我安装它 他们说工作不需要它 但希望我执行某些任务 Cygwin 会让事情变得更简单 所以我的问题是
  • 获取插入行的行数据(Mysql、PHP、mysqli)

    当我插入一行时 我需要取回该行的 postid 自动递增 PK 我目前正在使用它来获取它 get postid to return if result db gt query SELECT postid FROM posts WHERE t
  • 是否可以在多个函数中重用“param”块?

    假设我有一个包含多个函数的脚本 这些函数采用完全相同的参数 相同的位置 相同的类型和约束 如下所示 function Verb1 MyValue CmdletBinding param parameter Mandatory true St
  • tensorflow map_fn TensorArray 形状不一致

    我正在使用 map fn 函数 并注意到它输出一个 TensorArray 这应该意味着它能够输出 锯齿状 张量 其中内部张量具有不同的第一维度 我尝试使用以下代码查看此操作 import tensorflow as tf import n