ML. NET: вывод типа для загрузки CSV? - PullRequest
0 голосов
/ 26 февраля 2020

Минимальное требование к библиотеке ML состоит в том, чтобы она могла выводить типы чрезвычайно большого числа полей в реальных приложениях ML (например, 2000).

Real World ML Applications живет в конвейере. Буквально: конвейер, как в fifoq в стиле UNIX / Linux, именованные каналы, соединенные символом канала. Не абстракция, называемая «конвейером» внутри документа, написанного на стороннем языке и скомпилированного. Эти конвейеры типизированы (как правило, не шаблонизированы), и все инструменты, связанные с конвейерами UNIX / Linux, выводят типы во время выполнения.

Эти инструменты позволяют динамически c генерировать и расширять поля и типы CSV до произвольной ширины, превышающей возможности отдельного файла для кодирования вручную.

Итак, еще раз, минимальное требование к библиотеке ML состоит в том, что она имеет возможность открывать файл ML, не бросая график работы на колени инженера ML, когда он может развернуть всю систему, используя Инструменты GNU + Python за то же время.

Это означает вывод типов чрезвычайно большого числа полей в потенциально динамически генерируемом и быстро меняющемся файле CSV. В идеале одно и то же двоичное консольное приложение может использоваться для данных CSV на различных этапах эволюции или разработки конвейера, так что аннотирование типов полей и перекомпиляция не нужны.

Я рассматриваю систему ввода-вывода ML. NET, в дополнение к CsvProvider от F # и доступным библиотекам CSV для C#. Я также рассматриваю взаимодействие CLR / CLI, так как могу создать систему вывода C ++ CSV, но шаблоны CLR / CLI VS, похоже, работают только на Windows платформах.

Кажется, что нет возможности загрузить CSV с выведенными базовыми c типами (datetime, double, int, string). Это точная оценка?

1 Ответ

1 голос
/ 26 февраля 2020

Проверьте новый API Dataframe . У него есть метод LoadCsv, который выводит типы столбцов, и он совместим с ML. NET * IDataView.

...