I don't actually have any experience with AI::Genetic, but Storable.pm is probably your best bet. Take a look at how AI::Categorizer interfaces with it: http://search.cpan.org/src/KWILLIAMS/AI-Categorizer-0.07/lib/AI/ Categorizer/Storable.pm

If you throw something like this into the bottom of one of your perl files, you should be able just to call $gen->store_state('filename') and then $gen->restore_state ('filename') (where $gen is an instance of AI::Genetic)

package AI::Genetic;

use strict;
use Storable;
use File::Spec ();
use File::Path ();

sub save_state {
  my ($self, $path) = @_;
  if (-e $path) {
    File::Path::rmtree($path) or die "Couldn't overwrite $path: $!";
  }
  mkdir($path, 0777) or die "Can't create $path: $!";
  Storable::nstore($self, File::Spec->catfile($path, 'self'));
}

sub restore_state {
  my ($package, $path) = @_;
  return Storable::retrieve(File::Spec->catfile($path, 'self'));
}

1;

Ben

On Dec 8, 2006, at 9:37 AM, Brad Larsen wrote:

One (possibly stupid) suggestion is to look at Data::Dumper. It should work, but may be very slow if the object in question is large. Let us know if you find anything better.

Cheers,
Brad Larsen

[EMAIL PROTECTED] wrote:
I know this is going to turn out to be a stupid question, but could someone tell me the easiest way to store and retrieve the state of the entire AI::Genetic colony, and parameters, to a disk file so it can be read in and out at will? I'm doing some constrained optimization experiments that can take several days, even a week, to run in the background, but I have a computer (Mac OS X 10.4.8) that is shared, and I need to install software and restart it almost daily. I would like to save the entire thing about every hour, but I can handle the timing part myself.
Sincerely,
Gregg Allen
Cerebra, Inc.

Reply via email to