将tensorflow数据集分离到tensorflow2中的不同输出

问题描述 投票:0回答:1

我有一个数据集,具有3个张量输出的数据,标签和路径:

import tensorflow as tf #tensroflow version 2.1

data=tf.constant([[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9],[9,0]],name='data')
labels=tf.constant([0,1,0,1,0,1,0,1,0,1],name='label')
path=tf.constant(['p0','p1','p2','p3','p4','p5','p6','p7','p8','p9'],name='path')
my_dataset=tf.data.Dataset.from_tensor_slices((data,labels,path))

我想将my_dataset分离回3个数据,标签和路径(或3个张量)的数据集,而无需对其进行遍历,也无需将其转换为numpy。

在tensorflow 1.X中,只需使用]即可完成>

d,l,p=my_dataset.make_one_shot_iterator().get_next()

然后将张量转换为数据集。如何在tensorflow2中做到这一点?

谢谢!

我有一个数据集,具有3个数据,标签和路径的张量输出:将tensorflow导入为tf #tensroflow版本2.1 data = tf.constant([[0,1],[1,2],[2,3], [3,4],[4,5],[5,6],[6,7],[7,8],[8,9],[9,0]],名称='...] >

我发现的解决方案看起来不太“ pythonic”,但可以。我使用了map()方法:

data= my_dataset.map(lambda x,y,z:x)
labels= my_dataset.map(lambda x,y,z:y)
paths= my_dataset.map(lambda x,y,z:z)

分离之后,标签的顺序保持不变。

python-3.x tensorflow2.0 tensorflow-datasets
1个回答
0
投票

我发现的解决方案看起来不太“ pythonic”,但可以。我使用了map()方法:

© www.soinside.com 2019 - 2024. All rights reserved.