tf.data.Dataset.from_tensor_slices he tf.data.Dataset.from_tensors区别与联系

来源:4-2 tf_data基础API使用

慕仔3482569

2022-08-26

老师您好, tf.data.Dataset.from_tensor_slices he tf.data.Dataset.from_tensors区别与联系是啥?

a = tf.data.Dataset.range(1,6)
print(a)
print("###")
b = a.interleave(lambda  x: tf.data.Dataset.from_tensors(x).repeat(6),
                cycle_length=2 ,
                block_length=4)
print("b")
print(b)
for item in b :
    print(item.numpy(),end=', ')

上面的 map_fn里面将from_tensors 改成 from_tensor_slices后便报错,“ ValueError: Value Tensor(“args_0:0”, shape=(), dtype=int64) has insufficient rank for batching.“
这个是为啥?

写回答

1回答

正十七

2022-09-14

from_tensor_slices会在数据的第一维切分数据,from_tensor则不会。所以from_tensor_slices会构建包含多条数据的数据集,而from_tensors则只有包含一条数据。

api文档:https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_tensor_slices

https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_tensors


0
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程