Задача:
Есть 4 папки (0, 1, 2, 3), в которых фото разных людей. В 0 - фото плохого человека, в 1 - хороший1, 2 - хороший2, 3 - хороший3. Не получается обучить сеть, чтоб выдавала 000 на плохого, 100 на хор.1, 010 на хор.2 и 001 на хор.3. Не совсем понимаю принцип работы и логику нейросети.
Вот мой скрипт:
<?php
$j = 0;
$my_example = array();
for ( $i = 1; $i < 4; $i++ )
{
$l = $i;
$l--;
$index = array(0, 0, 0);
$index[$l] = 1;
$d = dir("teach/$i");
while($entry = $d->read())
{
if ( preg_match("/jpg/", $entry) )
{
$im = imagecreatefromjpeg("teach/$i/$entry");
$cur_array = array();
$cnt = 0;
for($y=0; $y<200; $y++)
{
for($x=0; $x < 200; $x++)
{
$rgb = imagecolorat($im, $x, $y) / 16777215;
$cur_array[$cnt] = $rgb;
$cnt++;
}
}
imagedestroy($im);
$my_example[$j] = array($cur_array, array($index));
$j++;
}
}
}
$ann = fann_create(array(40000, 200, 3), 1.0, 0.7);
if ( fann_train($ann, $my_example, 1000, 0.001, 100) == FALSE)
exit('Could not train $ann.');
fann_save($ann, "my3.ann");
?>