niisan-tokyo / phpnn
使用 PHP 编写的神经网络 (NN)。
dev-master
2017-10-04 09:45 UTC
Requires
- guiguiboy/php-cli-progress-bar: ^0.0.4
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2024-09-12 11:05:28 UTC
README
使用 PHP 编写的神经网络 (NN)。
安装
您可以使用以下命令使用 composer 获取 phpng:
composer require niisan-tokyo/phpnn:dev-master
用法
我们可以轻松地使用 PHP 进行神经网络函数逼近。
作为函数使用
<?php
require('vendor/autoload.php');
use Niisan\phpnn\layer\Relu;
use Niisan\phpnn\layer\Linear;
$bundle = new Niisan\phpnn\bundle\Simple();
// input parameter dimension is 1, output dimension is 64
$bundle->add(new Relu(32), ['input_dim' => 2]);
$bundle->add(new Linear(64));
$o = $bundle->exec(1.0);
echo $o[0];
使用训练数据进行学习
<?php
require('../vendor/autoload.php');
use Niisan\phpnn\layer\Relu;
use Niisan\phpnn\layer\Linear;
use Niisan\phpnn\layer\HyperbolicTangent;
use Niisan\phpnn\bundle\Simple;
// output model file
$model_filename = '../dest/targetHitModel';
$epoch = 100;
$effect = 0.005;
$bundle = new Simple();
$bundle->add(new Relu(32), ['input_dim' => 2]);
$bundle->add(new HyperbolicTangent(64));
$bundle->add(new Relu(32));
$bundle->add(new HyperbolicTangent(1));
$training_data = getTrainingData();// get data sets.
// execute learning
$bundle->fit([$trainX, $trainY], [
'epoch' => $epoch,
'effect' => $effect,
'batch_size' => 16
]);
// save learning model
$bundle->save($model_filename);