Skip to content

Latest commit

 

History

History
281 lines (264 loc) · 12.6 KB

notes.org

File metadata and controls

281 lines (264 loc) · 12.6 KB

dc-bianet notes

Various initial weight configurations, various thread counts

Hidden/IWThreadsHostHours
32/s28bianca1.4463888
28/s28bianca1.4588889
32/r8bianca1.4694444
36/s28bianca1.6933334
40/r8bianca1.9836111
32/s18bianca2.0366666
48/r6bianca2.1650000
24/r8bianca2.1775000

S2 initial weight configuration, thread-count 8, host bianca

HiddenHours
340.9761111
341.3216667
341.0425000
321.4463888
281.4588889
361.6933334
241.7602777

S2 initial weight configuration, thread count 8, host bianca, hidden 34

Profiling

ActionSeconds
infer-frame training set98.181
train-frame training set204.049
shuffle training-set indices0.004
network-error training-set16.550

After png branch

HiddenThreadsMinutesAccuracy
34811.500000
34711.466660
34611.100000
34514.950000
64816.833334
64718.400000
64618.616667
128 64813.60000094.76%

After refresh-frame-errors

HiddenThreadsMinutesAccuracy
128 64829.11666796.15%
32852.81666796.24%
40733.100000

After train-bad-frame

HiddenThreadsMinutesAccuracy
40725.91666796.48%

After skip-refresh

hidden_layershidden_countthreadstargetskip_refreshminutesaccuracy
12812870.04Y54.56666794.11
323270.05Y13.75000094.86
64 32204870.05Y19.61666795.13
404070.06Y10.03333395.42
404070.04Y13.71666795.50
404070.05Y12.25000095.89
64 32204870.05N27.88333396.02
646470.04Y16.55000096.12
646470.05Y16.30000096.13
12812870.05Y22.33333396.36
12812870.05N52.81666796.54
404070.06N20.30000096.58
323270.05N42.00000096.72
404070.05N33.28333396.76
12812870.04N98.55000096.83
646470.05N29.58333396.88
404070.04N46.35000096.93
646470.04N30.95000097.15
drop table if exists asr;
create table asr (
  hidden_layers text, 
  hidden_count inteter,
  threads integer, 
  target real, 
  skip_refresh text,
  minutes real,
  accuracy real);
.mode csv asr
.import $orgtable asr
select 
  hidden_layers || ' ' || skip_refresh || ' ' || target as attributes, 
  (accuracy - 91) / 9 as "normalized accuracy", 
  1 - (minutes / (select max(minutes) from asr)) as "normalized minutes"
from asr order by accuracy desc;
attributesnormalized accuracynormalized minutes
64 N 0.040.6833333333333340.685946220192795
40 N 0.040.658888888888890.529680365296804
64 N 0.050.6533333333333330.69981397260274
128 N 0.040.6477777777777780.0
40 N 0.050.6400000000000010.662269578893962
32 N 0.050.6355555555555550.573820395738204
40 N 0.060.620.794013191273465
128 N 0.050.6155555555555560.464062232369356
128 Y 0.050.5955555555555560.773380690005074
64 Y 0.050.570.834601725012684
64 Y 0.040.5688888888888890.832064941653983
64 32 N 0.050.5577777777777770.717064099441908
40 Y 0.050.5433333333333330.875697615423643
40 Y 0.040.50.860815149670218
40 Y 0.060.4911111111111110.898190431253171
64 32 Y 0.050.4588888888888880.800947062404871
32 Y 0.050.4288888888888890.860476915271436
128 Y 0.040.3455555555555560.446304748858447

after train-bad-frame-1

– select – hidden_layers || ’ ’ || bad_frame as attributes, – (accuracy - 94) / 6 as “normalized accuracy”, – minutes / 60 as minutes – from tbf order by accuracy desc; threads: 7 target: 0.05

hidden_layershidden_countbfskip_refreshminutesaccuracy
64640N29.58333396.88
40400N33.28333396.76
40401Y45.08333396.69
40401N50.20000096.59
1281280N52.81666796.54
64641Y43.85000096.54
1281280Y22.33333396.36
64640Y16.30000096.13
32 16480N44.00000095.98
64 48 32 161600N59.85000095.98
40400Y12.25000095.89
drop table if exists tbf;
create table tbf (
  hidden_layers text, 
  hidden_count integer,
  bf integer,
  skip_refresh text,
  minutes real,
  accuracy real);
.mode csv tbf
.import $orgtable tbf
-- select 
--   hidden_layers || ' ' || bf as attributes, 
--   (accuracy - 94) / 6 as "normalized accuracy", 
--   minutes / 60 as minutes
-- from tbf order by accuracy desc;
select hidden_count, accuracy, minutes * 60 as seconds
from tbf 
where hidden_count in (40, 64)
  and bf = 0 
  and skip_refresh = 'N'
order by accuracy desc, seconds
hidden_countaccuracyseconds
4096.761996.99998
6496.881774.99998

bianca-1 vs sim-1 vs blade-1

iterationbianca-1sim-1blade-1bianca-1sim-1blade-1
1178614061252142.65%112.30%100.00%
2158114021263125.18%111.01%100.00%

To Do

(network-error environment)

should track elapsed-seconds, presentation, and network-error

should be a dlist

should have a limited size

An element from the beginning of the list should be removed when adding an element to the end of the list causes the list to exceed the size limit.

There should be a function for adding an error
Reporting function plotting loop needs to be modified for dlist

plotting should be an option in the train function

Play with sinusoid initial weight generation

Multiple approaches didn’t work as well as random initial weights.

Analyze impact of number of hidden cells on results

See evaluate-topologies

hiddenfitnesssecondspresentationsnetwork_error
7297.0815621790110.0497525
6897.0215251823010.048873354
7696.9420672025660.045480218
4896.8316362312560.04280906
6096.8116221973670.045777403
4096.7614552419590.044418395
6496.7517011980330.04700385
5296.7318972796200.04743318
8096.5520281866720.043811984
5696.5315982068630.0467945
4496.4314122378130.04740469
drop table if exists hta;
create table hta (
  hidden integer, 
  fitness real,
  seconds integer,
  presentations integer,
  network_error real
);
.mode csv hta
.import $orgtable hta
select 'x-' || hidden as "hidden units", 
  round((fitness - (select min(fitness) from hta)) / 
      (select max(fitness) - min(fitness) from hta), 2) as "relative fitness", 
  round((seconds / 60.0 - 20) / 15, 2) as "relative time"
from hta
order by "relative time", "relative fitness" desc
hidden unitsrelative fitnessrelative time
x-440.00.24
x-400.510.28
x-680.910.36
x-721.00.4
x-560.150.44
x-600.580.47
x-480.620.48
x-640.490.56
x-520.460.77
x-800.180.92
x-760.780.96

Analyze convergence variance with random initial weights

Consider using McClim again

  • Plotting training error
  • Plotting connection weights
    • Linear
    • Color-coded weights in network diagram
    • Individual neuron diagram

Save and load environment

Network and network settings, including weights

Environment and environment settings, with and without training and test sets

Save training set and test set to PNGs in training directory structure

Train from PNGs in training directory structure

Incorporate convolutions

Try other data sets

Revisit architecture

ID vs net or environment objects

What goes in net vs environment

Show failing images from test set

Add code to fudge existing training data

Change intensity/color noise

Move pixels around

Resize

Change angle