- 1. Вступление
- 2. Установка CUDA/cuDNN
- 3. Установка mxnet с интерфейсами для R и Python
- 4. Подготовка данных
- 5. Обучение сверточной нейронной сети
Красивая версия с картинками доступна по ссылке https://statist-bhfz.github.io/mxnet_intro.html
1. Вступление
Известно, что библиотеки для глубокого обучения (Deep learning) очень хорошо дружат с языком Python: например, библиотека
Keras написана на Python и может использовать в качестве бекенда
Theano (тоже на Python) или
Tensorflow (C++/Python).
Но пользователи R тоже не обделены возможностью обучать глубокие нейронные сети. Помимо недавно появившего
интерфейса для Tensorflow, существует не столь известная, но набирающая популярность библиотека
mxnet, написанная на C++ и укомплектованная интерфейсами и для R, и для Python (а также для Julia, Matlab, Scala и Javascript!). Данная библиотека обладает высокой производительностью и умеренным расходом памяти, умеет работать как на CPU, так и на GPU Nvidia, используя CUDA/cuDNN (причем можно обучаться сразу на нескольких видеокартах).
Основным препятствием для ее освоения является очень своеобразно написанная и не всегда поддерживаемая в актуальном состоянии документация: если для Python она более-менее полная и последовательная, то в случае с R все плохо.
MXNet R Reference Manual является лишь списком функций и аргументов, подавляющее большинство примеров написаны с использованием Python, так что в R приходится действовать по аналогии и искать ответы в issues на Гитхабе. Это сообщение является попыткой слегка исправить ситуацию и создать руководство по установке и использованию
mxnet в R. Возможно, будет и продолжение про более продвинутые темы.