如何解决如何在TensorFlow中切片数据集?
我想在tf.data
中切片数据集。我的数据是这样的:
dataset = tf.data.Dataset.from_tensor_slices([[0,1,2,3,4],[1,4,5],[2,5,6],[3,6,7],[4,7,8]])
那么主要数据是:
[0 1 2 3 4]
[1 2 3 4 5]
[2 3 4 5 6]
[3 4 5 6 7]
[4 5 6 7 8]
我想创建其他包含如下数据的张量数据集:
[[1,2],3],[5,6]]
在numpy中是这样的:
dataset[:,1:3]
如何在TensorFlow中做到这一点?
更新:
我这样做是
dataset2 = dataset.map(lambda data: data[1:3])
for val in dataset2:
print(val.numpy())
但是我认为有很好的解决方案。
解决方法
我认为您的解决方案是最好的解决方案。为了社区的利益,我正在使用tf.data.Dataset
的{{3}}方法对数据集进行切片(对代码进行小的语法更改)。
请参考下面的代码
import tensorflow as tf
dataset = tf.data.Dataset.from_tensor_slices([[0,1,2,3,4],[1,4,5],[2,5,6],[3,6,7],[4,7,8]])
dataset2 = dataset.map(lambda data: data[1:3])
for val in dataset2.as_numpy_iterator():
print(val)
输出:
[1 2]
[2 3]
[3 4]
[4 5]
[5 6]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。