Loading ...
Sorry, an error occurred while loading the content.

Re: Questions regarding HyperSharpNeat and basic NEAT questions

Expand Messages
  • Christian
    Hello David, I am just implementing things like you advised. There is one short question. In the file NetworkEvaluator.cs (for example
    Message 1 of 6 , Aug 3, 2008
    • 0 Attachment
      Hello David,

      I am just implementing things like you advised. There is one short
      question. In the file NetworkEvaluator.cs (for example
      SkirmishNetworkEvaluator.cs), in the method
      threadSafeEvaluateNetwork(INetwork network, Semaphore sem):

      Can I just use the network, for example with network.SetInputSignals
      and so on, or will I have to use the Semaphore?

      Can I Call SetInputSignals in all Threads simultaneously or will this
      raise problems?

      I looked at the source code and it seems you have added this semaphore
      for decoding genomes things. But when i don't need them, can I ignore
      this semaphore?

      Will every thread get a new, own network to evaluate?

      Thank you in advance,

      Christian



      --- In neat@yahoogroups.com, "David D'Ambrosio" <ddambro84@...> wrote:
      >
      > Christian,
      >
      > If you would like to use HyperSharpNEAT to just evolve neural networks
      > with different activation functions you should implement everything I
      > said, but do not run your genomes through the substrate class. In
      > fact you should not use the substrate class at all. So in the network
      > evaluator where I use the substrate, that's where you should be
      > evaluating the performance of your networks.
      >
      > Good luck with your work. Let us know how it turns out,
      > David
      >
    • David D'Ambrosio
      Christian, Correct, the semaphore is just for decoding the genomes produced by the substrate, because genome decoding is not thread safe. Since you re not
      Message 2 of 6 , Aug 5, 2008
      • 0 Attachment
        Christian,

        Correct, the semaphore is just for decoding the genomes produced by
        the substrate, because genome decoding is not thread safe. Since
        you're not using the substrates you don't have to worry about this as
        they are already decoded (single-file) in the population evaluator.
        So each thread will get one network to evaluate. Everything else in
        my and Colin's code should be safe to call whenever. If you have any
        more implementation specific questions it's probably best to email me
        at ddambro@... .

        David

        --- In neat@yahoogroups.com, "Christian" <Christian.Hofmann@...> wrote:
        >
        > Hello David,
        >
        > I am just implementing things like you advised. There is one short
        > question. In the file NetworkEvaluator.cs (for example
        > SkirmishNetworkEvaluator.cs), in the method
        > threadSafeEvaluateNetwork(INetwork network, Semaphore sem):
        >
        > Can I just use the network, for example with network.SetInputSignals
        > and so on, or will I have to use the Semaphore?
        >
        > Can I Call SetInputSignals in all Threads simultaneously or will this
        > raise problems?
        >
        > I looked at the source code and it seems you have added this semaphore
        > for decoding genomes things. But when i don't need them, can I ignore
        > this semaphore?
        >
        > Will every thread get a new, own network to evaluate?
        >
        > Thank you in advance,
        >
        > Christian
        >
        >
        >
        > --- In neat@yahoogroups.com, "David D'Ambrosio" <ddambro84@> wrote:
        > >
        > > Christian,
        > >
        > > If you would like to use HyperSharpNEAT to just evolve neural networks
        > > with different activation functions you should implement everything I
        > > said, but do not run your genomes through the substrate class. In
        > > fact you should not use the substrate class at all. So in the network
        > > evaluator where I use the substrate, that's where you should be
        > > evaluating the performance of your networks.
        > >
        > > Good luck with your work. Let us know how it turns out,
        > > David
        > >
        >
      Your message has been successfully submitted and would be delivered to recipients shortly.