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))
|