Не могу разобраться с teach_php

Печать RSS
248

А

Оранжевые штаны
0
судя по коду фотки с разной яркостью обрабатываются как отдельные, надо вместе, либо соедини их в 1 фотку либо читай все одинаковые фото но с разной яркостью в 1 массив, если так сделаешь не забудь поправить 40000, умножив на количество фоток с яркостью.
Набросал второй скрипт. Все ли я правильно понял в плане работы fann_train, fann_save ?
работать будет.
и код можно проще написать, примерно так.
<?
set_time_limit(0);
//ini_set('memory_limit','1G');
//если переменные из папки то можно использовать glob("*.txt") он умеет искать по шаблону что то вроде
$array1 = glob('foto/filename*');//всё что начинается с filename
// Китайская переменная
//$array1 = array('filename99', 'filename199', 'filename299', 'filename399', 'filename499', 'filename599', 'filename699', 'filename799', 'filename899', 'filename923');

$ann = fann_create(array(40000, 200, 3), 1.0, 0.7);
//if ( fann_train($ann, $my_example, 1000, 0.001, 1000) == FALSE)
fann_train($ann, unserialize(file_get_contents('filename99')), 1000, 0.001, 100) or exit('Could not train $ann.');
fann_save($ann, "my.ann");

foreach($array1 as $val) //или с китайской переменной и так => ($c = count ($array1), $j = 1; $j <= $c; $j++){
	$ann = fann_create("my.ann");
	fann_train($ann, unserialize(file_get_contents( $val)), 1000, 0.001, 100) or exit('Could not train $ann.');
	fann_save($ann, "my.ann");
}
?>  
В
Автор
Пришелец
0
Ну пока дообучалась моя сеть, проверил. Не работает нормально: на все три типа фото из обучающего материала примерно одно и то же говорит:

php ran.php
Array
(
[0] => 1
[1] => 0
[2] => 0.022985305637121
)

Так что даже не знаю... идея в этот раз была такая: 3 папки, и сеть должна была понимать, на фото из какой папки входящее фото похоже, если ничего похожего нет, то грубо говоря 0 0 0. В исходном скрипте, по которому я начинал, было только 2 папки - свои и чужие. Не знаю как, но вроде как работало.. А тут ни в какую sad . Может я все таки ошибочно понимаю логику этого всего?
Не совсем понял, для чего одинаковые фото, различающиеся по яркости запихивать в 1 массив.. И если так, то у меня в каждой папке получится примерно по 40 массивов. И еще не понял, зачем 40000 умножать на к-во фото, мне что, надо в my_array запихивать эти 3*40 массивов?
А

Оранжевые штаны
0
Не совсем понял, для чего одинаковые фото, различающиеся по яркости запихивать в 1 массив.
если А - это фотка без обработки, а а1-а10 это фотки полученные после обработки А с яркостью от -100% до +100%, после обработки и чб, получились разные данные. если а1-а10 в разных массивах то сеть будет ставить вероятность для каждой не зная что это от одной фотки данные, из-за этого сильно снизится распознаваемость т.к при определённой яркости фотки разных людей станут одинаковыми(получается что то в виде if(a1 || a2 || a3) истина то всё - это этот человек), а если их объединить то таких ошибок будет намного меньше(тогда будет "и" а не "или"), а умножать 40000 надо будет если запихнешь а1-а10 в массив, пикселей то увеличится, вот и умножить не забудь.

Добавлено через 01:02 сек.
собственно наверняка из-за этого и не работает.

Добавлено через 06:46 сек.
и ещё некоторые вещи подбираются экспериментальным путём, тут $ann = fann_create(array(40000, 200, 3), 1.0, 0.7); вместо 200 попробуй больше(раз в 10) поставить, будет хуже меньше. тут , 1000, 0.001, 100) вместо 0.001(попробуй сначала 0.01 и 0.0001) тоже попробуй поэкспериментировать, и количество фоток с яркостью лучше не больше 10 делай сначала, если будет плохо работать, тоже поэкспериментируй.
Изменил: Александр (25.04.2012 / 23:20)
В
Автор
Пришелец
0
Мысль понял. Я правда думал, что так как массив двумерный, то как раз благодаря второму элементу сеть и понимала бы, к какой папке относится данный элемент (я про array($index)). Буду пробовать.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск