27 lines
823 B
Python
27 lines
823 B
Python
import numpy as np
|
|
|
|
from baselines.common.schedules import ConstantSchedule, PiecewiseSchedule
|
|
|
|
|
|
def test_piecewise_schedule():
|
|
ps = PiecewiseSchedule([(-5, 100), (5, 200), (10, 50), (100, 50), (200, -50)], outside_value=500)
|
|
|
|
assert np.isclose(ps.value(-10), 500)
|
|
assert np.isclose(ps.value(0), 150)
|
|
assert np.isclose(ps.value(5), 200)
|
|
assert np.isclose(ps.value(9), 80)
|
|
assert np.isclose(ps.value(50), 50)
|
|
assert np.isclose(ps.value(80), 50)
|
|
assert np.isclose(ps.value(150), 0)
|
|
assert np.isclose(ps.value(175), -25)
|
|
assert np.isclose(ps.value(201), 500)
|
|
assert np.isclose(ps.value(500), 500)
|
|
|
|
assert np.isclose(ps.value(200 - 1e-10), -50)
|
|
|
|
|
|
def test_constant_schedule():
|
|
cs = ConstantSchedule(5)
|
|
for i in range(-100, 100):
|
|
assert np.isclose(cs.value(i), 5)
|