Actually turns out there are no errors .
The networks are okay , the display is okay too .
Here is what is going on actually .
The network receives 4 samples that could be the 4 corners of the display and never sees the "world" in the middle as a sample.
To put it in everyday terms :
- Take a square piece of paper
- Your goal is to bring the top right and the bottom left corners together without altering the permanent shape of the sheet
- (meaning when you let go it comes back to the initial shape)
- Well , there are 2 ways it can fold , with the middle below your fingers , or with the middle above your fingers
And that is what happened here , like in the example i did not specify anything about the middle and you did not do anything to it similarly for the network , it did not see any "middle" activity so it does not care.
Interesting
Thanks anyway
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
preface : I know this is something i'm doing wrong 100% but i can't see it unfortunately so thanks and sorry in advance
I'm using a union to quickly turn argb to 4 byte channels and vice versa
Now , on init i'm creating 2 global ucolor objects and i'm assigning 2 colors , black and white
By playing around -and by the display becoming transparent- i figured that
argb[0] is the blue channel argb[1] is the green channel and argb[2] is the red channel while argb[3] is the alpha channel
So far so good (i assume)
Now , i create a pixels array sized as a square via the input display_size
so this initializes at 300x300
Creation of a bmp label , same size , offset position ,everything displays .
Now to the point , this display is sort of a "heatmap" of a neural net output.
The net has 2 features and i'm sending in the x and the y of the display as the 2 features divided by (display_size-1) so as to send inputs from 0.0 to 1.0 strictly
The color calculation is this : (and probably where my error is)
So what am i doing there ?
If the output is 1.0 i want the pixel to light up , to get more from ucolor object _is , and less from ucolor object _isnot .
At the end i'm creating a resource which is tethered to the bmp label and updates the display
Now here is the catch
Sometimes if a value is 0 and its supposed to get a "black" pixel it gets a white pixel instead
for example here :
the 0.5x , 0.5y pixel has output 0.032 , and 1-0.32 is properly 0.96 so you'd expect a 96% black pixel but its white (middle of the display)
other times this displays correctly like here for example :
the 0.5x , 0.5y pixel has output 0.073 , and 1-0.073 is properly 0.92 so you'd expect a 92% black pixel and it is so
i'm attaching the full codes since this is a public blog anyway
Thank you if you read this far .