Отдельный набор данных tenorflow для разных выходов в tenorflow2 - PullRequest
0 голосов
/ 10 марта 2020

У меня есть набор данных с 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.

В тензорном потоке 1.X это делается просто с помощью

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

, а затем конвертируется в наборы данных. Как это сделать в tenorflow2?

Спасибо!

1 Ответ

0 голосов
/ 10 марта 2020

Решение, которое я нашел, выглядит не очень "pythoni c", но оно работает. Я использовал метод 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)

После этого разделения порядок меток остается прежним.

...