神经网络不能处理给定的负载
Neural network can't handle load given
我在网上找到了一些用PHP完成的神经网络的源代码。你可以在这里找到:http://pastebin.com/MaqFXkWW
我认为这将是完美的决定你在画布上画的东西是否已经画过了。所以我开始构建一个概念证明,并构建这个neural_trainer.php
脚本:
<?
require_once ("class_neuralnetwork.php");
$pattern = $_POST['data'];
$n = new NeuralNetwork(90000, 90000, 1);
$n->setVerbose(false);
$n->addTestData($pattern, array (0));
$max = 9;
while (!($success = $n->train(1000, 0.01)) && $max -- > 0) {
echo "Nothing found...<hr />";
}
if ($success) {
$epochs = $n->getEpoch();
echo "Success in $epochs training rounds!<hr />";
}
for ($i = 0; $i < count($n->trainInputs); $i ++) {
$output = $n->calculate($n->trainInputs[$i]);
print "<br />Testset $i; ";
print "expected output = (".implode(", ", $n->trainOutput[$i]).") ";
print "output from neural network = (".implode(", ", $output).")'n";
}
这是javascript,它发布到neural_trainer.php
//canvas1 is 300x300
var img1Data = ctx1.getImageData(0,0,canvas1.width,canvas1.height);
$.ajax({
url: 'neural_training.php',
data: { data: img },
type: 'post',
success: function(data) {
console.log(data);
}
});
但它一直抛出Allowed memory size of x bytes exhausted (tried to allocate x bytes)
,即使我把它放在class_neuralnetwork.php
的顶部ini_set("memory_limit","340M");
ini_set('max_execution_time', 1000);
可供PHP使用的内存太小。要么通过memory_limit
配置指令增加PHP可用的内存,要么重写脚本,使其消耗更少的内存。
相关文章:
- 不能从angular2中的子组件指定父组件中的数组
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 转义符不能与innerHTML一起使用
- JSON.parse没有'不能使用Javascript
- JS可以在Chrome中工作,但不能在Firefox中工作
- 砌体不能填补小缺口
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- 为什么在这个网站上不能通过JS访问元素
- Facebook登录按钮没有'不能在Firefox上工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- AngularJS:$q.dedefe()不能由工厂方法共享
- 不能在同一页上进行多个jquery幻灯片切换
- 不能在图像中的地图标记中使用花式框jquery插件的区域标记
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript没有´我不能在joomla 3.0中工作
- 神经网络不能处理给定的负载
- 更新:D3不能在负载上绘制图表数据