LINUX.ORG.RU

Open Source проект: opeNeural


0

2

8 октября 2013г. дан старт нового проекта (с нуля) под названием: «Open neural network for POSIX OS» или сокращенно opeNeural, целью которого является научить молодых специалистов работе в команде (это если в коротко). Целью данного проекта НЕ является помощь кому либо в написании диссертации, курсовых, лабораторных или тому подобного.

Описание проекта: создание программного обеспечения позволяющего организовать вычислительный кластер из «машин» с POSIX совместимой операционной системой для решения задач построения нейронных сетей. Главной спецификой ПО является его максимальный параллелизм как в ячейках кластера, так и во всей вычислительной сети.

Проект контактовской группы, так что всю информацию можно получить там: http://vk.com/topic-432_29349531

Рассылка новостей будет осуществляться по e-mail: openeural@mail.ru

vk.com
Google C.docx

наркоман штоле?

anonymous ()

8 октября 2013г. дан старт нового проекта
Поскольку данный проект еще не имеет программного кода, то SVN еще не используется.

слушай, а чем ты месяц занимался? Онанизмом?

anonymous ()
Ответ на: комментарий от anonymous

>> vk.com
>> Google C.docx

наркоман штоле?

Поддерживаю анонимуса.

imirrori ты в своем уме? SVN ?

MikeDM ★★★★★ ()
Последнее исправление: MikeDM (всего исправлений: 1)

vk.com

mail.ru

docx

POSIX

брррр ...

false ★★★★★ ()

Цитатка в тему

И не ждите, что придут другие люди и помогут вам. Так не бывает. Вы должны сначала сделать что-то наполовину пригодное, и тогда другие скажут «эй, это мне почти подходит» и подключатся к проекту.

makyrros ()

На этот вконтактник сходил. Чем-то вилдродня напомнило

lispfuerimmer ()

ух ты, там namezys отметился, обещал всем сделать review. Писать на C++ проект для «максимального параллелизма» силами молодых специалистов, это так сильно, что подпишусь ка я на рассылку.

RedPossum ★★★★★ ()

Поскольку данный проект еще не имеет программного кода

первое правило опенсорса: сначала программный код, потом объявлять о создании проекта. но никак не наоборот. никому неинтересно читать, что ты там понапридумывал, без кода.

waker ★★★★★ ()
Ответ на: комментарий от RedPossum

Это десткий проект. Я не жду, что там что-то рабочее будет.

namezys ★★★★ ()
Ответ на: комментарий от waker

Это учебный проект, причем учебный в плане языка, а не в плане технологий.

namezys ★★★★ ()

Фу сколько чванства. Вы чего моделировать собрались?

ebantrop ()
Ответ на: комментарий от false

а я же писал про шарлатанов в сколькове. вот они, уже на лоре

ckotinko ☆☆☆ ()
Ответ на: комментарий от waker

Отвечу только тем, кто написал, что то дельное.

Это именно проект для тех, кто не знает как перейти к работе с подобным барахлом, после изучения основ языка. Если я выложу кода для начала на строк 10.000 то, та аудитория, для кого это все и затеяно, просто отвалится.

imirrori ()
Ответ на: комментарий от namezys

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

imirrori ()
Ответ на: комментарий от ebantrop

Создаем самую простую нейро-сеть, а именно многослойный прецептрон с обратным распространением ошибки. Основные технологии распараллеливания будут POSIX thead, PVM и возможно MPI. Вся спецификация проекта будет выкладываться последовательно, что бы люди могли пройти весть процесс разработки ПО по шагам.

imirrori ()

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

imirrori ()

openeural@mail.ru для добавления к которой нужно отправить любое письмо на почту

а отписаться потом можно будет?)

MyTrooName ★★★★★ ()

Проект контактовской группы

Раньше для написания совместного кодеза людей объединял гитхаб или bitucket. Теперь вк... Надо сказать Дурову, что бы гит прикрутил, а то народ доки без версионности хранит :\

fang90 ★★★★★ ()
Ответ на: комментарий от imirrori

Ну что за школьники пошли.

многослойный прецептрон

Шоп вы знали. За этими красивыми словами скрывается просто умножение матриц с вычислением какой-нибудь нелинейной функции.

обратным распространением ошибки

Те же яйца, вид в сбоку.

Итого выходит 50 строк на С из которых 20 лицензия.

ebantrop ()
Ответ на: комментарий от ebantrop

Хорошо, напишите в проект программу, отвечающую его требованиям. Для Вас это не займет много времени, всего 50 строк же... И я тут же прикрою проект и извинюсь перед Вами за отнятое время, а если нет, то вы относитесь к тем, чье мнение множится на ноль.

imirrori ()
Ответ на: комментарий от imirrori

напишите в проект программу, отвечающую его требованиям.

Зайди на хабр. Там раз в месяц такую фигню пишут.

devl547 ★★★★★ ()
Ответ на: комментарий от fang90

Хм... а ведь это идея, прикрутить к ВКонтакте HG или GIT с нормальным интерефейсом. Это ж почти GitHub получится ))

xterro ★★★★★ ()
Ответ на: комментарий от imirrori

отвечающую его требованиям

Под «его» это Вы себя именуете в третьем лице?

Для Вас это не займет много времени, всего 50 строк же...

Да вообще не вопрос, копи-паста из рабочего кода:

for (int layer = 0; layer < neurons_.size(); layer++) {
    int inputs = (layer == 0) ? inputs_ : neurons_[layer - 1];
    int outputs = neurons_[layer];
    int size = inputs * outputs;

    prop = S;
    S = R;
    R = prop;
    for (int i = 0; i < samples; i++)
        for (int j = 0; j < outputs; j++, prop++)
            *prop = w[j + size];

    cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans,
            outputs, samples, inputs,
            1.0, w, outputs,
            S, inputs,
            1.0, R, outputs);

    if (layer != (neurons_.size() - 1))
        vdTanh(outputs * samples, R, R);

    w += size + outputs;
}
ebantrop ()
Ответ на: комментарий от ebantrop

Его, это проекта.И Ваше творение не отвечает ни одному из пунктов. 1) Это не проект, а кусок кода, причем довольно ужасный кусок. 2) Нет лицензии. 3) Не та стилистика кода. 4) Нет файла сборки. 5) Нет тестов. 6) Не использовано ни одной из технологий параллельной работы. 7) Конечно же, код не GitNub. 8) Где комментарии. 9) Где вообще хоть что то работающее?

Вы батенька говнокодер с большой горы. Я и так потратил на Вас слишком много времени. Далее ваши посту будут игнорироваться. Ну если конечно вы все это не исправите. И не забудьте уложится в 50 строк.

imirrori ()

А вы что вообще параллелить в нейронных сетях собрались и, главное, зачем?

yanchick ()

Насмотрелся я на такие студенческие проекты. Они обычно заканчиваются на этапе разработки документации. Код может появится если кому-то надоест эта графомания и он решит положить х*р на план проекта и за одну ночь напишет работающее приложение.

crowbar ()
Ответ на: комментарий от yanchick

Зачем - что бы люди прошли большую часть разработки ПО. А то наши родные университеты дальше borland и VS ни куда не двигаются. И люди получив высшее образование просто никому не нужны с их «знаниями».

Если кто думает, что это я для себя проект делаю, то нет. У меня работа есть, свои студенты есть. Это для людей проект.

Параллелить мы будем всего 2 ресурсоемкие задачи - обучение нейро сети и предварительная обработка изображения. Например для обычного процессора (не DSP) с частой >2Ггц процесс обучения сети на 500 эпох с 3 слоями (число нейронов 10, 50, 100) занимает примерно 1-2 минуты. А это всего 3 слоя! При увеличении числа нейронов хотя бы в 5 раз - можно пойти спать уже и не ждать конца обучения...

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

В предварительной обработке примерно то же.

imirrori ()
Ответ на: комментарий от imirrori

Вы читали про алгоритмы отличные от алгоритма обратного распространения ошибки? Мне кажется нет, ну или читали не до конца понимая что и как. Там крайне проблематично что-то запараллелить. Единственный параллелизм, реальный а не из научно фантастических рассказах, это параллельное обучение нескольких НС.

yanchick ()
Ответ на: комментарий от yanchick

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

Лично для меня это тема диссертации, так что я Вам точно скажу, что это реально. Хотите увидеть, как это выглядит - присоединяйтесь к проекту.

Ближайшие 2-3 недели будет вводная часть в проекте, так что можете это пропустить.

Если хотите примерно понимать, как это будет работать то напишите реализацию алгоритма БПФ так, что бы каждая «бабочка» выполнялась на отдельном процессоре. (Это очень близкая к нашей задача). Я бы Вам посоветовал экспериментировать на QNX, а за процессор принять для начала поток. На QNX хотя бы 20.000 потоков можно создать, Win и с 2.000 не справится.

А вообще все подробности будем обсуждать в проекте.

imirrori ()

С mail.ru все-таки, мне кажется, зря. Сейчас модно google groups.

fmap ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.