当前位置: 首页 > 面试题库 >

如何在tf.data.Dataset中输入大小不同的列表的列表

沃侯林
2023-03-14
问题内容

我有一长串的整数列表(代表句子,每个句子的大小不同),我想使用tf.data库进行输入。每个列表(列表列表中的列表)都有不同的长度,并且出现错误,可以在此处重现:

t = [[4,2], [3,4,5]]
dataset = tf.data.Dataset.from_tensor_slices(t)

我得到的错误是:

ValueError: Argument must be a dense tensor: [[4, 2], [3, 4, 5]] - got shape [2], but wanted [2, 2].

有没有办法做到这一点?

编辑1:明确一点,我不想填充列表的输入列表(这是包含超过一百万个元素的句子列表,长度不同),我想使用tf.data库在一个正确的方法是使用长度可变的列表列表。


问题答案:

您可以tf.data.Dataset.from_generator()用来将任何可迭代的Python对象(例如列表列表)转换为Dataset

t = [[4, 2], [3, 4, 5]]

dataset = tf.data.Dataset.from_generator(lambda: t, tf.int32, output_shapes=[None])

iterator = dataset.make_one_shot_iterator()
next_element = iterator.get_next()

with tf.Session() as sess:
  print(sess.run(next_element))  # ==> '[4, 2]'
  print(sess.run(next_element))  # ==> '[3, 4, 5]'


 类似资料:
  • 我使用List来动态存储值,但我必须在二进制搜索程序中输入之前指定List的大小。我需要帮助,因为我不想将大小作为输入。 我曾尝试使用,但这行不通,有人建议我使用 size() 现在我希望用户输入元素,直到他想要,然后使用二进制搜索找到元素的索引

  • 问题内容: 我创建了一个表格,并意外地将length 改为。我该如何解决? 一个例子将不胜感激。 问题答案: 你有尝试过吗? 这会将 col_name 的类型更改为

  • 问题内容: 我只是尝试了内存中python数据结构的大小。我写了以下代码片段: 我在以下配置上测试了代码: Windows 7 64位,Python3.1:输出为:所以lst1有52个字节,lst2有40个字节。 使用Python3.2的Ubuntu 11.4 32bit:输出为 Ubuntu 11.4 32位Python2.7: 谁能向我解释为什么两个大小都不同,尽管它们都是包含1的列表? 在g

  • 问题内容: 我有这样的CSS声明: 这里的font1是嵌入式的eot / ttf字体,但问题是该字体比其他字体要小,所以我想为此字体(font1)使用不同的字体大小(1.8em)。所有其他字体(font2,font3)保持不变。 问题是,我无法验证用户的浏览器是使用font1,font2还是font3。是否有任何CSS声明允许不同家族使用不同的字体大小? 谢谢。 问题答案: 这里 是 一个办法做到

  • 问题内容: 在,我可以适用于在标签和随意调整表列。但是,这在Bootstrap 4中不起作用。如何在Bootstrap 4中实现类似的功能? 查看提供的codeply大小不正确,特别是如果您向表中添加一些数据。查看其运行方式: 问题答案: 更新于2018 确保您的表包含该类。这是因为Bootstrap4表是“选择加入”的,因此必须有意将类添加到表中。 Bootstrap 3.x还具有一些CSS来重

  • 问题内容: 我需要将一个列的数据插入同一表中的另一列。 有人可以告诉我该怎么写吗? 谢谢 问题答案: