Java-клиент Sagemaker генерирует IOrecord - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь построить обучающий набор для Sagemaker, используя алгоритм Linear Learner.Этот алгоритм поддерживает протокол ProIO, завернутый в запись, и CSV в качестве формата для обучающих данных.Поскольку данные обучения генерируются с помощью spark, у меня возникают проблемы при создании файла csv из фрейма данных (на данный момент это кажется неработоспособным), поэтому я пытаюсь использовать protobuf.

Мне удалось создать двоичный файл для обучающего набора данных, используя Protostuff, которая является библиотекой, которая позволяет генерировать сообщения protobuf из объектов POJO.Проблема в том, что при запуске учебного задания я получаю сообщение от SageMaker: ClientError: Обучающие данные не обрабатываются.Либо учебный канал пуст, либо размер мини-партии слишком велик.Убедитесь, что данные обучения содержат непустые файлы и размер мини-пакета меньше, чем количество записей на хост обучения.

Файл обучения определенно не равен нулю.Я подозреваю, что способ, которым я генерирую данные обучения, является неправильным, поскольку я могу тренировать модели, используя формат libsvm.Можно ли сгенерировать IOrecord с помощью Java-клиента Sagemaker?

1 Ответ

0 голосов
/ 18 мая 2018

Отвечая на мой собственный вопрос.Это была проблема в конфигурации алгоритма.Я уменьшил размер мини-пакета, и он работал нормально.

...