Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >接下来(iter())是在python中使用tensorflow创建数据集时抛出错误

接下来(iter())是在python中使用tensorflow创建数据集时抛出错误
EN

Stack Overflow用户
提问于 2020-05-01 15:12:56
回答 1查看 301关注 0票数 1

我正在尝试运行以下代码行,以使用python中的tensorflow创建dataset。我使用的是tensorflow版本'2.2.0-rc3‘。

代码语言:javascript
运行
AI代码解释
复制
data = [[[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1],
       [[3819, 2305, 2000, 2022, 2012, 1996, 3608, 2380], 1]]

all_dataset = tf.data.Dataset.from_generator(lambda: data,
                                             output_types = (tf.int32 , tf.int32))
next(iter(all_dataset))

它给出了以下错误:

代码语言:javascript
运行
AI代码解释
复制
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/context.py in execution_mode(mode)
   1985       ctx.executor = executor_new
-> 1986       yield
   1987     finally:

10 frames
InvalidArgumentError: TypeError: `generator` yielded an element that did not match the expected structure. The expected structure was (tf.int32, tf.int32), but the yielded element was [[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1].
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 791, in generator_py_func
    flattened_values = nest.flatten_up_to(output_types, values)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 396, in flatten_up_to
    assert_shallow_structure(shallow_tree, input_tree)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 299, in assert_shallow_structure
    "Input has type: %s." % type(input_tree))

TypeError: If shallow structure is a sequence, input must also be a sequence. Input has type: <class 'list'>.

在处理上述异常的过程中,发生了另一个异常:

代码语言:javascript
运行
AI代码解释
复制
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/script_ops.py", line 243, in __call__
    ret = func(*args)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/autograph/impl/api.py", line 309, in wrapper
    return func(*args, **kwargs)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 796, in generator_py_func
    "element was %s." % (output_types, values)), sys.exc_info()[2])

  File "/usr/local/lib/python3.6/dist-packages/six.py", line 692, in reraise
    raise value.with_traceback(tb)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 791, in generator_py_func
    flattened_values = nest.flatten_up_to(output_types, values)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 396, in flatten_up_to
    assert_shallow_structure(shallow_tree, input_tree)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 299, in assert_shallow_structure
    "Input has type: %s." % type(input_tree))

TypeError: `generator` yielded an element that did not match the expected structure. The expected structure was (tf.int32, tf.int32), but the yielded element was [[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1].


     [[{{node PyFunc}}]] [Op:IteratorGetNext]

在处理上述异常的过程中,发生了另一个异常:

代码语言:javascript
运行
AI代码解释
复制
InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/executor.py in wait(self)
     65   def wait(self):
     66     """Waits for ops dispatched in this executor to finish."""
---> 67     pywrap_tfe.TFE_ExecutorWaitForAllPendingNodes(self._handle)
     68 
     69   def clear_error(self):

InvalidArgumentError: TypeError: `generator` yielded an element that did not match the expected structure. The expected structure was (tf.int32, tf.int32), but the yielded element was [[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1].
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 791, in generator_py_func
    flattened_values = nest.flatten_up_to(output_types, values)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 396, in flatten_up_to
    assert_shallow_structure(shallow_tree, input_tree)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 299, in assert_shallow_structure
    "Input has type: %s." % type(input_tree))

TypeError: If shallow structure is a sequence, input must also be a sequence. Input has type: <class 'list'>.

在处理上述异常的过程中,发生了另一个异常:

代码语言:javascript
运行
AI代码解释
复制
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/script_ops.py", line 243, in __call__
    ret = func(*args)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/autograph/impl/api.py", line 309, in wrapper
    return func(*args, **kwargs)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 796, in generator_py_func
    "element was %s." % (output_types, values)), sys.exc_info()[2])

  File "/usr/local/lib/python3.6/dist-packages/six.py", line 692, in reraise
    raise value.with_traceback(tb)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 791, in generator_py_func
    flattened_values = nest.flatten_up_to(output_types, values)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 396, in flatten_up_to
    assert_shallow_structure(shallow_tree, input_tree)

  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/nest.py", line 299, in assert_shallow_structure
    "Input has type: %s." % type(input_tree))

TypeError: `generator` yielded an element that did not match the expected structure. The expected structure was (tf.int32, tf.int32), but the yielded element was [[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1].


     [[{{node PyFunc}}]]
EN

回答 1

Stack Overflow用户

发布于 2020-05-01 15:29:02

您说过您的目标是在python中使用tensorflow创建数据集,然后检查一下这是否适用于您,而不是使用from_generator为什么不使用from_tensor_slices

代码语言:javascript
运行
AI代码解释
复制
data = [[[2107, 1037, 3376, 2154, 1012, 1012, 1012, 10166], 1],
       [[3819, 2305, 2000, 2022, 2012, 1996, 3608, 2380], 1]]

x = np.array([data[i][0] for i in range(len(data))])
y = np.array([data[i][1] for i in range(len(data))])

all_dataset = tf.data.Dataset.from_tensor_slices((x, y))
next(iter(all_dataset))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61545217

复制
相关文章
matlab 插值出错,MATLAB插值问题
,称F(x)为f(x)在区间[a,b]上的插值函数,称(xi, yi)为插值节点。若F(x)为多项式,称为多项式插值(或代数插值) ;常用的代数插值方法有:拉格朗日插值,牛顿插值。
全栈程序员站长
2022/09/05
1.3K0
python中json对象转换出错解决方法【转】
今天在使用python中的json转换碰到一个问题: 接收一个post的json字符串:
用户2936342
2018/08/27
1.2K0
条件变量Cond实现
下面是wikipedia对条件变量的定义,大体是说条件变量总的来说是等待特定条件的线程的容器。
数据小冰
2022/08/15
5970
条件变量Cond实现
tf.cond()
true_fn和false_fn都返回输出张量的列表。true_fn和false_fn必须具有相同的非零数和输出类型。 警告:在true_fn和false_fn之外创建的任何张量或操作都将执行,而不管在运行时选择了哪个分支。
狼啸风云
2019/08/14
2.2K0
小程序修改数组中对象的某个值或者修改对象值
setData的时候要修改的值是不需要加this.data.xxx的,直接xxx,
蓓蕾心晴
2018/07/24
6.5K0
Go 并发实战 -- sync Cond
go中的sync.Cond也就是condition,是一个条件同步变量,与Java中Object的wait、notify、notifyAll方法或者Condition类的作用比较类似,如果有这方面的基础学习起来会非常简单。其实Java中的JUC包实现的可以是最丰富和易用的了,熟知JUC的话,学习其他语言的并发特性及工具的话会非常简单。
邹志全
2019/07/31
9170
Go语言之Cond
Golang的sync包中的Cond实现了一种条件变量,主要用来解决多个读协程等待共享资源变成ready的场景。在使用Cond的时候,需要特别注意下:每个Cond都会关联一个Lock(*sync.Mutex or *sync.RWMutex),当修改条件或者调用Wait方法时,必须加锁,保护condition。
灰子学技术
2020/04/02
7650
Spring框架中 Bean对象属性值的注入
注意:如果一个Bean对象同时存在set注入和构造注入两种方法,Spring在为Bean对象属性赋值时,会先使用set注入方式为属性赋值,再使用构造注入为Bean对象属性赋值。
运维搬砖
2018/12/26
4.3K0
获取map对象中的最大最小值
遇到的问题是获取map中的最高成绩和最低成绩 xxx.entrySet() 这里放的你的map
崔笑颜
2020/06/08
6.1K0
JS/TS 对数组中的对象按对象的值进行去重
举个例子:对以下数组按 lastName 的值进行去重 let listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", size:
Leophen
2020/10/09
7.5K0
JS/TS 对数组中的对象按对象的值进行去重
【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )
对象的句柄值 , 类似于编程时的引用 , 将对象的句柄值赋值给变量后 , 该变量就可以代表指定的绘图对象 ;
韩曙亮
2023/03/29
7.1K0
【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )
PHP对象传值 - 引用传值
运行结果,其实第一次打印就可以看出来a 和 b 是一个对象,因为对象标识符一样(都是 1)
很酷的站长
2023/02/17
6.1K0
PHP对象传值 - 引用传值
bash: rsync: 未找到命令
今天学习了rsync的同步操作,本打算往服务器同步一些数据,于是报了一下错误: ➜ ~ rsync -r /Users/Apple/index.html root@1.1.1.1:/var/www/html/ bash: rsync: 未找到命令 rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12
肓己
2021/08/12
2.7K0
golang 系列:sync.Cond 机制
在 Go 里有专门为同步通信而生的 channel,所以较少看到 sync.Cond 的使用。不过它也是并发控制手段里的一种,今天我们就来认识下它的相关实现,加深对同步机制的运用。
lincoln
2021/08/18
4090
用晋升加薪,讲解DDD领域模型中的对象设计 —— 聚合、实体、值对象
此外本文也通过关于雇员薪酬调整的案例,渗透讲解 DDD 模型中的聚合对象、实体对象和值对象在领域模型中的实践。
小傅哥
2023/09/06
1.1K0
用晋升加薪,讲解DDD领域模型中的对象设计 —— 聚合、实体、值对象
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
用户4792944
2019/04/20
5.8K0
map中的值对象虽然不能修改,但是可以替换
假设有一个 map 对象 map[string]Person , 其中 Person 定义如下。是一个 struct
老麦
2022/12/24
3.2K0
map中的值对象虽然不能修改,但是可以替换
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
小程序中监听textarea或者input输入的值动态改变data中数组的对象的值,不能通过setData设置数组对应索引的对象的值来改变,改变之后,能检测到改变,但是值为空。先通过赋值改变其中数组中的对象的值,然后重新设置数组。
蓓蕾心晴
2018/07/24
4.7K0
JS/TS 对数组中的对象按相同值进行分组
举个例子:对以下数组按 lastName 的值进行分组分类 const listData = [ { firstName: "Rick", lastName: "Sanchez", size: 18 }, { firstName: "Morty", lastName: "Smith", size: 6 }, { firstName: "Jerry", lastName: "Smith", size: 3 }, { firstName: "Beth", lastName: "Smith", s
Leophen
2020/10/09
8.8K0
JS/TS 对数组中的对象按相同值进行分组
Java 反射获取父类实例化对象中的值
想通过反射将父类实例化一个子类,使用如下方案: try { Field[] fields = super.getClass.getDeclaredFields(); for (Field field : fields) { field.setAcessible(true); Method method = super.getClass().getDeclaredMethod("get" + upperHeadChar(field.getName()));
zucchiniy
2019/10/30
5.8K0

相似问题

值[[3L]](Cond)中出错:缺少所需的包

18

R中的值[[3L]](Cond)中的错误是什么?

10

在发亮但在本地运行的值[[3L]](Cond)错误

15

值[[3L]](Cond)中出错:尝试从不是S4对象的对象(类"data.frame")获取槽"data“

125

值[[3L]](Cond)错误:没有名为“plyr”的包

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档