1、tf.data.Dataset.from_tensor_slices使用
a.对输入的类型异常敏感,遇到第一个为list或tensor类型作为维度作为切割维度。小数据内存处理时使用。 b.对于外层tuple或dict的跳过不作为切割维度。
例如,list数据格式slice
#list
list(tf.data.Dataset.from_tensor_slices([[1,3,4],[2,3,4]]).as_numpy_iterator())
Out[10]: [array([1, 3, 4]), array([2, 3, 4])]
#tuple
list(tf.data.Dataset.from_tensor_slices(([1,3,4],[2,3,4])).as_numpy_iterator())
Out[11]: [(1, 2), (3, 3), (4, 4)]
#dict
list(tf.data.Dataset.from_tensor_slices({"a":[1,2,3],"b":[5,6,7]}).as_numpy_iterator())
Out[12]: [{'a': 1, 'b': 5}, {'a': 2, 'b': 6}, {'a': 3, 'b': 7}]
#tensor
list(tf.data.Dataset.from_tensor_slices(tf.constant([[1,2,3],[4,5,6]])).as_numpy_iterator())
Out[13]: [array([1, 2, 3]), array([4, 5, 6])]
参考:tf.data.Dataset | TensorFlow Core v2.8.0