File size: 711 Bytes
09be84b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0d4b28f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import numpy as np
import pytest
from synapse.learning import fit_readout, predict, fresh_weights
from synapse.rsi import Policy, propose

def test_gradient_bootstraps_zero_readout():
    x=np.eye(4); y=np.array([0,1,0,1]); w=fresh_weights(4)
    fitted=fit_readout(x,y,w,method='gradient',steps=30,rate=1.)
    assert np.array_equal(predict(x,fitted),y)
    assert not w.any()

def test_inherited_policy_generates_successor():
    p=Policy(); child=propose(p,0,17); grandchild=propose(child,1,17)
    assert child.parent==p.identity
    assert grandchild.parent==child.identity
    assert grandchild.generation==2

def test_fresh_weights_equal():
    assert np.array_equal(fresh_weights(12),fresh_weights(12))