Как сохранить список списков различной длины в TFRecord? - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть набор данных, который состоит из вложенных последовательностей, поэтому, например, одна точка данных выглядит так:

p1 = [[1,1,1], [2,2], [3,3,3]]

но другая точка данных может выглядеть так:

p2 = [[1,1], [2,2,2,2,2]]

Я не уверен, как сохранить списки списков в TFRecords, так как все найденные примеры сохраняют только не вложенные списки различной длины. Я планирую затем использовать padded_batch для создания трехмерных тензоров формы [batch size, max number of lists, max number of tokens in a list]

1 Ответ

0 голосов
/ 03 ноября 2018

Один из вариантов - просто сохранять каждое значение последовательно. Например, ваш первый пример будет сохранен как [1,1,1,2,2,3,3,3]. Чтобы воспроизвести исходную последовательность, вы можете также сохранить исходные длины - [3,2,3], а затем восстановить в предварительной обработке. Я рекомендую заполнить вложенные последовательности с самого начала, чтобы вы могли перейти к / из плоского / вложенного с помощью простой операции изменения формы.

...