首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法用tf.data.Dataset.from_tensor_slices将非矩形Python序列转换为张量

无法用tf.data.Dataset.from_tensor_slices将非矩形Python序列转换为张量
EN

Stack Overflow用户
提问于 2022-10-30 14:15:28
回答 1查看 84关注 0票数 1

我想使用tf.data.Dataset.from_tensor_slices创建Tensorflow数据集,但是我得到了一个错误:Can't convert non-rectangular Python sequence to Tensor

为了简化这个问题,我举了以下类似于我的数据的例子:

代码语言:javascript
运行
复制
import tensorflow as tf
 
data =  ['A', 'B']

label  = [ ['a1', 'a2', 'a3'] , ['b1', 'b2', 'b3' , 'b4' ] ]

dataset = tf.data.Dataset.from_tensor_slices((data , label))

出现此问题是因为标签中的列表不相等,len(['a1', 'a2', 'a3']) not equal len(['b1', 'b2', 'b3' , 'b4' ]).我希望保留数据的原样而不使用填充。我尝试了tf.ragged.constant和其他解决方案在这个网站,但它没有对我起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-30 15:52:36

这应该能行,

代码语言:javascript
运行
复制
dataset = tf.data.Dataset.from_tensor_slices((data , tf.ragged.constant(label)))

for data in dataset.as_numpy_iterator():
    print(data)

#outputs
(b'A', array([b'a1', b'a2', b'a3'], dtype=object))
(b'B', array([b'b1', b'b2', b'b3', b'b4'], dtype=object))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74253789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档