AI-NeuralNet-SOM
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
examples/eigenvector_initialization.pl view on Meta::CPAN
use strict;
use Data::Dumper;
use AI::NeuralNet::SOM::Rect;
my @vs = ([ 3, 2, 4 ], [ -1, -1, -1 ], [ 0, 4, -3]);
my $dim = 3;
#my @vs = ([1,-0.5], [0,1]);
#my $dim = 2;
my $epsilon = 0.001;
examples/load_save.pl view on Meta::CPAN
use strict;
use Data::Dumper;
use AI::NeuralNet::SOM::Rect;
{
my $nn = new AI::NeuralNet::SOM::Rect (output_dim => "5x6",
input_dim => 3);
$nn->initialize;
$nn->train (400, ([ 3, 2, 4 ], [ -1, -1, -1 ], [ 0, 4, -3]));
# now we freeze the thing
lib/AI/NeuralNet/SOM.pm view on Meta::CPAN
package AI::NeuralNet::SOM;
use strict;
use warnings;
require Exporter;
use base qw(Exporter);
use Data::Dumper;
=pod
=head1 NAME
AI::NeuralNet::SOM - Perl extension for Kohonen Maps
=head1 SYNOPSIS
use AI::NeuralNet::SOM::Rect;
lib/AI/NeuralNet/SOM/Hexa.pm view on Meta::CPAN
package AI::NeuralNet::SOM::Hexa;
use strict;
use warnings;
use AI::NeuralNet::SOM;
use Data::Dumper;
use base qw(AI::NeuralNet::SOM);
use AI::NeuralNet::SOM::Utils;
=pod
=head1 NAME
AI::NeuralNet::SOM::Hexa - Perl extension for Kohonen Maps (hexagonal topology)
lib/AI/NeuralNet/SOM/Rect.pm view on Meta::CPAN
package AI::NeuralNet::SOM::Rect;
use strict;
use warnings;
use Data::Dumper;
use base qw(AI::NeuralNet::SOM);
use AI::NeuralNet::SOM::Utils;
=pod
=head1 NAME
AI::NeuralNet::SOM::Rect - Perl extension for Kohonen Maps (rectangular topology)
=head1 SYNOPSIS
lib/AI/NeuralNet/SOM/Torus.pm view on Meta::CPAN
package AI::NeuralNet::SOM::Torus;
use strict;
use warnings;
use Data::Dumper;
use base qw(AI::NeuralNet::SOM::Rect);
use AI::NeuralNet::SOM::Utils;
=pod
=head1 NAME
AI::NeuralNet::SOM::Torus - Perl extension for Kohonen Maps (torus topology)
=head1 SYNOPSIS
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::SOM::Hexa') };
######
use Data::Dumper;
{
my $nn = new AI::NeuralNet::SOM::Hexa (output_dim => 6,
input_dim => 3);
ok ($nn->isa ('AI::NeuralNet::SOM::Hexa'), 'class');
is ($nn->{_R}, 3, 'R');
is ($nn->radius, 3, 'radius');
}
{
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::SOM::Rect') };
######
use Data::Dumper;
{
my $nn = new AI::NeuralNet::SOM::Rect (output_dim => "5x6",
input_dim => 3);
ok ($nn->isa ('AI::NeuralNet::SOM::Rect'), 'class');
is ($nn->{_X}, 5, 'X');
is ($nn->{_Y}, 6, 'Y');
is ($nn->{_Z}, 3, 'Z');
is ($nn->radius, 2.5, 'radius');
is ($nn->output_dim, "5x6", 'output dim');
#########################
# Change 'tests => 1' to 'tests => last_test_to_print';
use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::SOM') };
######
use Data::Dumper;
{
use AI::NeuralNet::SOM::Rect; # any non-abstract subclass should do
my $nn = new AI::NeuralNet::SOM::Rect (output_dim => "5x6",
input_dim => 3,
);
$nn->value ( 1, 1, [ 1, 1, 1 ] );
ok (eq_array ($nn->value ( 1, 1),
[ 1, 1, 1 ]), 'value set/get');
$nn->label ( 1, 1, 'rumsti' );
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::SOM::Torus') };
######
use Data::Dumper;
{
my $nn = new AI::NeuralNet::SOM::Torus (output_dim => "5x6",
input_dim => 3);
ok ($nn->isa ('AI::NeuralNet::SOM::Torus'), 'class');
is ($nn->{_X}, 5, 'X');
is ($nn->{_Y}, 6, 'Y');
is ($nn->{_Z}, 3, 'Z');
is ($nn->radius, 2.5, 'radius');
is ($nn->output_dim, "5x6", 'output dim');
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.667 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )