Как управлять огромными данными в машинном обучении с AWS AMI - PullRequest
0 голосов
/ 02 мая 2018

Я относительно новичок в Tensorflow и машинном обучении. У меня есть набор данных на миллион строк с> 2000 столбцами в каждой. Я думаю об использовании Tensorflow на AWS AMI (C5 Instance). Я не уверен, где и как хранить эти огромные данные.

1- Должен ли я хранить это как csv в корзине S3 или я должен загрузить это в какую-то систему с большими данными, а затем использовать Apache spark для потоковой передачи? Можете ли вы привести меня сюда.

2- Кроме того, если мне нужно очистить эти данные, какой будет правильный подход? Может быть, использовать AWS Sagemaker и использовать python / pandas (через ноутбук) для очистки данных? Это правильный подход?

1 Ответ

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

Я могу дать несколько советов, но каждый проект отличается от других, и я использую то, что вам больше подходит.

Это исследование данных с одним таймером или что-то, что вам нужно делать по частому расписанию? Для того, чтобы делать это часто, искра может быть правильным инструментом. Spark хорош в преобразовании / настройке / очистке / предварительной обработке ваших данных во что-то более пригодное для тензорного потока (обычно в разреженный формат). Здесь важно, чтобы ваш gpus был занят, и для этого вам нужно как можно больше предварительно обработать, прежде чем использовать tf. S3 - хорошее хранилище, если у вас нет маленьких файлов.

Для того, чтобы тензорный поток был счастлив, большую часть времени вам нужно уплотнять свои векторы функций. Таким образом, вы берете мини-пакет записей и преобразуете векторы разреженных объектов в плотные векторы. Только тогда вы можете отправить его на тф. Это связано с тем, что gpus плохо работают с разреженными данными, а некоторые операции, например свертки, даже не поддерживают разреженные входные данные. (все, что может измениться в любое время, так как это активная область исследований)

...