Какова концепция CNTKTextFormatDeserializer и зачем ее использовать?

Я использую CNTKTextReader для чтения в своих обучающих и тестовых наборах. Файл поезда становится большим (сейчас 2,7 ГБ, и скоро он станет больше).

Я не понимаю, что такое "CNTKTextFormatDeserializer" - документ, который я нашел, не объясняет, что такое общая картина - что это такое и зачем его использовать? Документ, который я нашел, только что перешел к его синтаксису.

Итак, можно ли использовать двоичную версию этих файлов, чтобы сделать их более компактными?


person Tullhead    schedule 17.04.2017    source источник


Ответы (1)


Читатели в целом — это просто способ облегчить определенные аспекты обучения. Это включает

  1. рандомизация: SGD лучше обобщает, когда данные, представленные ему, поступают в случайном порядке. Читатель может рандомизировать данные для вас, перетасовывая их на лету.
  2. распределенное обучение. При распределенном обучении читатель знает о нескольких рабочих процессах и может убедиться, что они получают отдельные фрагменты данных.
  3. проблемы с бюджетом памяти: программа чтения не загружает в память весь тренировочный файл.
  4. независимый от языка ввод-вывод: средство чтения обеспечивает кросс-платформенный способ чтения данных. (если вы хотите всегда быть на Python, вас это может не волновать, но это волнует других).

Формат CTF немного многословен, и действительно существует двоичный формат. недавно добавленный десериализатор.

person Nikos Karampatziakis    schedule 22.08.2017