Экспорт в Unischema/Petastorm из C++

Моя ситуация:

  • Довольно новичок в больших данных. Пожалуйста, будьте нежны и ожидайте наивности.
  • Создание обучающих данных во многих (тысячах) отдельных облачных рабочих мест.
  • Каждое задание генерирует несколько точек данных; одна точка данных - это набор совпадающих тензоров Nd.
  • Сами тензоры должны генерироваться кодом C++.

Я хотел бы сериализовать эти точки данных в формате, который будет быстро загружаться в массивы numpy во время поезда. На данный момент я лучше всего предполагаю сериализовать эти тензоры в паркетные таблицы с помощью специальных адаптеров для паркета на стороне C++. Преимущества такого подхода:

Недостатки

  • Я не могу напрямую сериализовать тензоры как тензорный объект в C++; Мне нужно написать свой собственный паркетный адаптер тензорной сериализации C++ и изменить его форму после загрузки в обучении.

Petastorm / Unischema кажется потенциально привлекательным инструментом / форматом для прямой сериализации тензоров в Parquet, но похоже, что он не поддерживает C++. Как вы думаете, было бы лучше

  1. Просто создайте мой собственный формат сериализации на основе паркета для моих тензоров
  2. Попытайтесь найти способ писать в Unischema на C++ (это кажется потенциально серьезным делом, особенно если я хотел попытаться поделиться своей работой с Petastorm).
  3. Напишите привязки Python для кода генерации тензора C++; запустить сценарий Python постобработки в моих облачных заданиях, который сериализуется с помощью API Python Petastorm.

# 3 кажется наиболее очевидным выбором, но я ненавижу привязки Python.

Или: есть ли другие инструменты, которые мне следует рассмотреть для этой задачи?

0 ответов

Другие вопросы по тегам