R: машинное обучение на GPU

15

Существуют ли какие-либо пакеты машинного обучения для R, которые могут использовать графический процессор для повышения скорости обучения (что-то вроде theano из мира питонов)?

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

Саймон
источник

Ответы:

15

Что касается полного пакета машинного обучения на графических процессорах, такого пакета не существует. Однако на самом деле есть несколько пакетов R, которые могут использовать графические процессоры. Вы можете увидеть эти пакеты на странице высокопроизводительных вычислений CRAN . Обратите внимание, что для большинства этих пакетов требуется карта NVIDIA. Из доступных пакетов есть три пакета, которые вы, скорее всего, использовали бы, если у вас нет особого случая.

  1. gputools - если заинтересованы в дистанционных вычислениях (только NVIDIA).
  2. gmatrix - общие числовые вычисления (только NVIDIA).
  3. gpuR - общие числовые вычисления (любой графический процессор через OpenCL). *

* ПРИМЕЧАНИЕ. - С риском саморекламы я являюсь автором пакета gpuR.

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

Итак, в итоге, если вы полны решимости, основные ресурсы доступны в R. Но если вам что-то понадобится в ближайшем будущем, вам нужно будет изучить другие ресурсы / подходы, как указано @YCR.

cdeterman
источник
какой-нибудь прогресс в нейронных возможностях сети gpuR? NEWSСсылка может быть полезно , если нет :)
MichaelChirico
GpuR NEWS здесь . Возможности нейронной сети все еще находятся в стадии разработки. Есть несколько пакетов, которые будут связаны с этим, так как каждый может использоваться независимо (lazytensor, gpuRNN, & prometheus). Вы можете следить за моим GitHub, если вам интересно. Я только один разработчик, работающий в свободное время, и мне нужно продолжать разрабатывать и поддерживать другие мои пакеты.
cdeterman
1

Если вы используете SVM, вы можете попробовать пакет Rgtsvm для GPU, который обратно совместим с реализацией e1071.

https://github.com/Danko-Lab/Rgtsvm

Чжун ван
источник
1

Хорошая библиотека для машинного обучения с графическими процессорами - это mxnet . Пакет, в основном, глубокого изучения, поэтому, если вы ищете конкретные алгоритмы машинного обучения, вы можете не найти их там. Однако у них есть хороший набор алгоритмов глубокого обучения.

hoaphumanoid
источник