我想使用tf.data.Dataset.from_tensor_slices
创建Tensorflow数据集,但是我得到了一个错误:Can't convert non-rectangular Python sequence to Tensor
。
为了简化这个问题,我举了以下类似于我的数据的例子:
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
和其他解决方案在这个网站,但它没有对我起作用。
发布于 2022-10-30 15:52:36
这应该能行,
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))
https://stackoverflow.com/questions/74253789
复制相似问题