Как сделать так, чтобы tf.data.Dataset тасовал только подмножество столбцов данных? - PullRequest
1 голос
/ 20 сентября 2019

Давайте посмотрим, что у нас есть набор данных:

   ds = tf.data.Dataset.from_tensor_slices((x_train,y_train ))

, если я применю ds = ds.shuffle (), тогда x_train и y_train будут перетасованы.Как это сделать, если я хочу только перемешать x_train, оставив y_train без изменений?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Вы можете достичь желаемого с помощью функции карты, которая возвращает только 1 из выходных данных.И тогда вы можете застегнуть их.

ds = tf.data.Dataset.from_tensor_slices((x_train, y_train))
ds_x = ds.map(lambda x, y: x)
ds_y = ds.map(lambda x, y: y)
ds_x = ds_x.shuffle(buffer_size=50) #change buffer_size as u like
ds = tf.data.Dataset.zip((ds_x, ds_y))
0 голосов
/ 20 сентября 2019

Не уверен, почему вы хотите это сделать, поскольку неправильные метки будут сопоставлены с функциями.Но, тем не менее, если вы хотите сделать это в любом случае, вы можете перемешать x_train, прежде чем подавать его на from_tensor_slices().

...