我有一个具有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中如何做?
谢谢!
问题来源:stackoverflow
我发现的解决方案看起来不太“ 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)
分离之后,标签的顺序保持不变。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。