DECODE_RAW набор данных TensorSliceDataset - PullRequest
0 голосов
/ 22 июня 2019

Я копирую модель TTS, Deep Voice 3. Набор данных - LJSpeech-1.1.Я нашел репозиторий github (https://github.com/Kyubyong/deepvoice3), но он был написан в более ранней версии tenorflow, где я использую TF 2.0. При обработке данных мне нужно применить функцию decode_raw к выводу TensorSliceDataset. Но я не могу применитьФункция decode_raw для вывода. Итак, мой вопрос, как я могу применить decode_raw к выводу TensorSliceDataset?

Я преобразовал в текст в тензор с размерностью (13066,). ВВ исходном репо он использовал tf.train.slice_input_producer. Для TF 2.0 я использую tf.data.Dataset.from_tensor_slices для преобразования этого тензора в TensorSliceDataset. После этого я не могу применить decode_raw к TensorSliceDataset. Ниже приведен код

# old TF code
texts, mels, dones, mags = tf.train.slice_input_producer([texts, mels, dones, mags], shuffle = True)
# TF 2.0 code
texts = tf.convert_to_tensor(texts)
texts = tf.data.Dataset.from_tensor_slices(texts)
texts = tf.io.decode_raw(texts, tf.int32) # (None,)

1 Ответ

0 голосов
/ 22 июня 2019

Вам необходимо применить функцию разбора к объекту набора данных.Вместо этой строки

texts = tf.io.decode_raw(texts, tf.int32) # (None,)`

используйте

texts = texts.map(lambda x: tf.io.decode_raw(x, tf.int32))
...