ukuleleplayer / pureples

Pure Python Library for ES-HyperNEAT. Contains implementations of HyperNEAT and ES-HyperNEAT.
MIT License
113 stars 36 forks source link

lines 132 thru 141 in es_hyperneat should be nested in the else statm… #4

Closed ai-nick closed 5 years ago

ai-nick commented 5 years ago

…ent on line 126, now you can change max depth without getting none type errors

ukuleleplayer commented 5 years ago

Hi Nick, I've tried with and without your fix - it does not seem to give me a none type error in neither of the cases?

ai-nick commented 5 years ago

I only noticed it when I changed the max depth above one which then allows it it to query using the quad tree until varience is below threshold or max depth is met, without indenting the block I got errors do to the [None]*4 inititilization of quadtree children

ai-nick commented 5 years ago

right now im trying to figure out how to write a tree to handle n dimension since the java, c++, c#, and other python libraries (the psuedocode in the paper as well) will only support querying two dimensional substrate coordinates (the java and c++ versions have psuedo 3d support) so if you have any suggestions or advice feel free to hit me up, I would like to implement this across all the packages but im starting here :)

ukuleleplayer commented 5 years ago

Can you show me an experiment with the error? I tried changing the max depth as well and there were 0 errors. When you say 3D, you wanna create the input/output nodes as 3D coordinates and the internal substrate should follow these dimensions?

ai-nick commented 5 years ago

Correct so the cppn would search a hypercube of twice that, Kent makes some comments about this in the hyperneat paper, I'll send over my setup that gave me the error when I get home

Get Outlook for iOShttps://aka.ms/o0ukef


From: Adrian Westh notifications@github.com Sent: Saturday, November 3, 2018 3:23:21 AM To: ukuleleplayer/pureples Cc: Nick Williams; Author Subject: Re: [ukuleleplayer/pureples] lines 132 thru 141 in es_hyperneat should be nested in the else statm… (#4)

Can you show me an experiment with the error? I tried changing the max depth as well and there were 0 errors. When you say 3D, you wanna create the input/output nodes as 3D coordinates and the internal substrate should follow these dimensions?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/ukuleleplayer/pureples/pull/4#issuecomment-435573520, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQzrBmI5GkMihYzYxaZdIbZYvkifAu7Tks5urWCJgaJpZM4XhyN1.

ai-nick commented 5 years ago

the experiment I was running is found in my repo cryptochronolonic and the file is trading_purples.py the branch running-version or v1.1.2 should run giving all dependencies are installed, so if you switch to master and install pureples it will fail during pruning and extraction but if you switch to the branch with the block that i nested under the first if statement in pruning and extraction it will running as expected. here is a link https://github.com/nickwilliamsnewby/cryptochronolonic

ai-nick commented 5 years ago

also I had to create a v-3 branch for neat-python that you should pull down and install or else it wont run

ukuleleplayer commented 5 years ago

I will need a minimum working example if I am to test, what you are saying - I can't do it in your repository. Can you do it with XOR maybe?

ai-nick commented 5 years ago

Ill try that, if I cant I will send a c9.io link with an experiment in which it fails, it occurs when you reach pruning_and_extraction and the if statement in line 124 of es-hyperneat.py evaluates true, thus skipping the assignments in lines 127-130 causing a none type error on line 133 since the variables in that if statement are still none-type

ukuleleplayer commented 5 years ago

I'll close this and wait for your pull request containing it all.