-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathto_do
159 lines (143 loc) · 5.81 KB
/
to_do
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
unsorted issues
we would need to create a rust version of network definition
pass that from python
don't have python call add_synapse and add_cell
instead use the netwrok defintion to build it all
to prevent Model from being annotated as a python class by not passing it back to python(pass a ref)
then maybe we could get away with lifetimes
make running easy
single install script
should have default world
allow running without command line(need .deb and windows packages)
put nmist in readme with learned model
is it ok to include mnist data in our repo
improve instructions
move to rust
too much parameter passing for the parameter classes
mixed cell types don't work
remove unused variables from rust
combine the display code from each
windows rust instructions
accuracy on diff on easy/running many side by side
per cell functions
fix simple model tests
rust tests
pub is used wrong all over
lib.rs has too many funtions remove not used and use class
better git ignore file
rename simple_model_builder.py and SimpleModel
validate warp fix and reprofile
record results to file
import full mnist set
cycling inhibitory synapses in input_balance is performance hit
cycling inhibitory synapses when clearing s_tag
apply_negative_input_balance names in these functions are terrible too
decuple brain and env from display
does inhibition mean we need higher max strengths
too much repeated code in main
memory leak in UI
wtf step size
do the negative random images matter?
does output balancing matter( is it too high)?
too many negative synapses
network.py needs refactored
too much ui
lock_inhibition_strength probably uneeded
display prameters for a cell when you clikc particularly(s_tag_decay, last update amount)
why don't we just totaly artificially normalize fire rates for input
give them a target fire rate
apply env input to one synapse
apply a random input to another
use input balancing on those
should the inhibition property be on Layer or LayerConection
display fire rate on selected cells
show a grid of cells by input totals ect rather than each synapse or clicking each cell
faster UI
should stdp be scaled by strength
combine pyplot and pygame
clean out output balance(parameterize, test, ect)
porportion award
track progress porportionally
print what did fire to screen
better way to handle running out of images
nmist and handwriting too much copy paste
layer based diagnostics like total input strength
model based error condition tracking(double fires, not resetting by the time of epoch)
remove warp fudge
paramaterize fire rate adaptation
delays make sense in env
cell_definition.x_input_position don't like the default 0
need a world class to avoid simple_model repeating the step loop in every function
strength of stimuli is a magic number in env
manual cell definition is ugly again
stop with the real step check repeated everywhere
correct cell fired is a bad name
dumb world vs env cli thing
default to long file x o file
on import why does it take some time to stabalize
dont run longer than we have images
unit test for learning on simple network
need a seperate epoch length/delay for envs
use pattern matching and type hints
refactoring
take out dopamine cut off and warp timer parameter
environmnet majic numbers and copy paste code(should make base class)
hack to reset s_tag s tag stag
main file is too long and needs tests
switch from "model" to "brain"
use dacite package instead of __post__init__ bs
test parameters confusion
simple_model is a bad name
clean up environment to allow for better tests without putting the test env in its own class
follow python style guide
simple_model output is a mess
get example and spirit working with video, export, import, and pyplot
arguably export should be a type of display
I don't like how we attach cells to synapses in the simple model
use private consistantly the _ thing
simple_model class could be split in 3
advertising
what else is out there
who would want this
installation/updates
auto run tests on submit
new funcitonality
cells
output balancing
try other equation for fire rate balancing average = average * (1-alpha) + real * alpha
display
bug stacking inhibitory layers
layers_from_definitons in network.py is doing too much ui work
in pygame display labels for input and wins
accuracy graph
red should be positive green negative
pause button
click on cells to see cell info
adjust parameters without restarting
detect screen size
attach to unreal engine or something
UI to build network
should try to get input hitting faster so users see it earlier
management
figure out what images we are failing on
periodically save brains during run
add a ./run_tests file that runs a bunch of complete runs
add an adder environment as a mid level task
make a plotting tool with our basic equations in it
like how much does s_tag decay in an epoch
should be a model level synapse connection strength that is then scaled per synapse
apply the complex environment to a simple model
elf grid specs
run neurons in compliled language
create a one variable cell type example
no input current variable
cell just needs enough input spikes in short enough window to spike
only one timestep delay betwenn precell spike and post cell spike
think about
try handwriting with one less layer
what distribution should we use for noise
get more backround on simulation generally(really need to retake calc)
connecitons strengths should not just be random at the start but maybe also randomly change a bit?
step sizes
resettting input connections
multiple inhibit layers