Пакет нейронных сетей в Wolfram Mathematica не является параллельным? - PullRequest
5 голосов
/ 07 января 2012

Я только что создал ОЧЕНЬ большую нейронную сеть, хотя и на очень мощном оборудовании, и представляю себе свое потрясение и разочарование, когда я понял, что NeuralFit [] из пакета NeuralNetworks, кажется, использует только одно ядро, и даже не в полную силу,Я был убит горем.Действительно ли мне нужно написать всю реализацию NN с нуля?Или я упустил что-то простое?

Моя сеть взяла 200 входов в 2 скрытых слоя из 300 нейронов, чтобы произвести 100 выходов.Я понимаю, что мы говорим о триллионах вычислений, но пока я знаю, что мое оборудование является слабым местом - его можно модернизировать.Он должен довольно хорошо справляться с обучением такой сети, если ее оставить на некоторое время (8-нитный компьютер 4 ГГц с 24 ГБ памяти 2000 МГц CL7 с SSD-дисками RAID-0 на SATA-III - я вполне уверен).

Идеи?Предложения?Заранее спасибо за ваш вклад.

Ответы [ 3 ]

2 голосов
/ 27 ноября 2014

Я являюсь автором пакета нейронных сетей.Легко распараллелить оценку нейронной сети с учетом входных данных.То есть для вычисления выхода сети с учетом входных данных (и всех весов, параметров сети).Однако эта оценка не занимает много времени, и не очень интересно распараллеливать ее для большинства задач.С другой стороны, обучение сети часто занимает много времени и, к сожалению, распараллелить нелегко.Обучение может проводиться с использованием других алгоритмов, а лучшие из них не легко распараллелить.Мою контактную информацию можно найти на домашней странице продукта в сети Wolfram.Советы по улучшению приветствуются.

Последняя версия пакета отлично работает в версиях 9 и 10, если вы отключили панель предложений (в настройках).Причина в том, что пакет использует старый HelpBrowser для документации, и он падает в сочетании с панелью предложений.

ваш Jonas

1 голос
/ 07 января 2012

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

0 голосов
/ 18 января 2012

Я не уверен, как вы написали код или как он написан в пакете, который вы используете;попробуйте использовать векторизацию, это действительно ускоряет вычисления линейной алгебры.В курсе ml-class.org вы можете увидеть, как это сделано.

...