LINUX.ORG.RU

Нейронная сеть на PHP

 ,


1

1

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

Я вроде все перепробовал, и заменил:

fwrite( fopen($filename,'w'), $serialize);
на
file_put_contents ( $filename, $serialize);
потом понял, что проблема в том, что функция вовсе не вызывается, хотя вызв есть.


А у юзера, под которым это выполняется, есть права на запись в этот файл? Код нормальный, либо он не отрабатывает до конца всех teach и поэтому не вызывает запись, либо нету прав.

Если не настроен отладчик, поставь print_r($this->W); перед записью и echo 'dbg_000X<br>'; после каждого teach и посмотри что пойдет в вывод, какие dbg отработают и что он предложит в файл сохранить.

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

А у юзера, под которым это выполняется, есть права на запись в этот файл?

Да, права есть, и я это десять раз уже проверил :] даже в функции вместо записи, просто прописывал вывод сообщения — результата все равно небыло, функция не вызывается.

после каждого teach

Попробую.

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

А, понял в чем у тебя проблема.


    $filename = 'data.txt';
     
    /**
     * Наш перцептрон будет говорить что дали на вход, квадрат или прямую.
     * Следует учесть, что в этом примере перцептрона спрашивают  
     * о том, чего небыло в учении.
     */
     
    $neural = new Perceptron(64);    // матрица будет 8х8, размерность 64.
 
if(!isset($filename))

у тебя обучение проходит в случае, если $filename не существует, а ты его 2-мя строками выше объявляешь как «data.txt» и код обучения не выполняется.

Измени на что-то вроде

if (!trim(file_get_contents($filename)))

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

Мне одному кажется, что Hypertext Preprocessor(не говоря уже о Personal Home Page Tools) плохо сочетается с нейронными сетями?

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

Мне одному кажется, что Hypertext Preprocessor(не говоря уже о Personal Home Page Tools) плохо сочетается с нейронными сетями?

Господи, ты код посмотри что-ли, там простейшая нейронка, фактически реализация одного из первых, положивших основу методов.

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

Зачем мне смотреть код каких-то извращенцев, которые на препроцессоре гипертекста нейронные сети делают?

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

для нейронных сетей нужен толстый процессор и много памяти

А ты в курсе хоть, что такие монстры как FANN имеют «биндинги» к PHP? А знаешь почему? Потому, что то, что ты описываешь, это задачи научных вычислений, а нейронки не только там используются, они используются и в повседневных задачах, простейших, с простейшим обучением, для выявления вероятности в простейших задачах, вроде определения языка текста. В таких задачах сверх-процессора и огромной памяти не требуется. Ты либо троллишь, либо нейронками в жизни не пользовался.

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

в области геофизики.

Гхм, тогда ты должен знать какие методы нейронок вообще есть, и какие где применяются. Но вместо этого, ты решил передернуть, написав про сверх-мощностя, хотя по факту такие нейронки только в науке используются.

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

Гхм, тогда ты должен знать какие методы нейронок вообще есть, и какие где применяются. Но вместо этого, ты решил передернуть, написав про сверх-мощностя, хотя по факту такие нейронки только в науке используются.

Тут же большинство говнописцев обожает закидывать дерьмом PHP, и пройти мимо треда с PHP просто не в состоянии.

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

Я ничего против php не имею. Даже без php расчеты очень небыстрые. И это не передергивание, а полемика - один из методов ведения научных споров.

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

Я предлагал макскому давать анонимусам индекс (или публиковать UA), чтобы отличать их, увы идея не прошла.

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

Макском уже давно придумал и реализовал - называется регистрация.

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

Нейронная сеть на PHP

поздно, это уже мем. смотрите на на лурке™ в январе 2013!

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

При чем тут дерьмо? Я всего лишь сказал, что странно делать нейросети на препроцессоре гипертекста. Ты не согласен?

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

Полемика? Кто-нибудь ответил мне на вопрос, зачем делать нейросеть с помощью препроцессора гипертекста?

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

Потому, что это препроцессор гипертекста. Сделайте на нормальном языке API, которое будет дергаться из PHP.

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

Потому, что это препроцессор гипертекста. Сделайте на нормальном языке API, которое будет дергаться из PHP.


Вам бы стоило задуматься о поговорке: «не суди о книге по ее обложке». В этом случае вы бы так красноглазо не упирались в расшифровку акронима названия и хотя бы указали чего не хватает PHP для работы с нейросетями? Нет? Только флейм?

PHP полноценный язык, местами медленный, местами очень быстрый (многие функции транслируются напрямую в сишные и модули написаны на Си все таки), его можно скомпилировать в байткод или использовать JIT.

Что с тобой не так?

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

Ну начнем с того что какие-нибудь FANN это хорошие библиотеки, но они слишком универсальны, зачем мне тянуть ради небольшого персептрона или сети Хопфилда такую махину ? Все необходимые ариф. и матричные операции в ПХП можно написать, в конце концов С то же изначально разрабатывался как системный язык, а не как язык прикладного софта. А уж perl так вообще все равно что php по вашему. Ну так жду содержательных pro et contra?

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