NCTCMumbai's picture
Upload 2571 files
0b8359d
raw
history blame contribute delete
2.38 kB
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
"""Tests for test_tasks."""
import numpy as np
import tensorflow as tf
from single_task import misc # brain coder
from single_task import test_tasks # brain coder
def get_reward(reward_fn, candidate):
return sum(reward_fn(misc.bf_tokens_to_string(candidate)).episode_rewards)
class TestTasksTest(tf.test.TestCase):
def testHillClimbingTask(self):
task = test_tasks.BasicTaskManager(test_tasks.HillClimbingTask())
reward_fns = task.rl_batch(1)
reward_fn = reward_fns[0]
self.assertTrue(np.isclose(get_reward(reward_fn, [1, 2, 0]), 8 / 12.))
self.assertTrue(np.isclose(get_reward(reward_fn, [1, 2, 2, 0]), 11 / 12.))
self.assertTrue(np.isclose(get_reward(reward_fn, [1, 2, 3, 0]), 1.0))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 2, 0]), 1. + 8 / 12.))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 0]), 2.0))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 1, 8, 3, 0]), 3.0))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 7, 8, 7, 0]), 3.0))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 1, 8, 3, 1, 0]),
3.0 - 4 / 12.))
self.assertTrue(
np.isclose(
get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 1, 8, 3, 1, 1, 1, 1, 0]),
2.0))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 7, 8, 7, 3, 0]),
3.0 + 1 / 12.))
self.assertTrue(
np.isclose(
get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1,
8, 5, 1, 6, 4, 2, 1, 8, 3, 0]),
8.0))
self.assertTrue(
np.isclose(
get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1,
8, 5, 1, 6, 4, 2, 1, 8, 3, 1, 1, 0]),
8.0 - 8 / 12.))
self.assertTrue(
np.isclose(get_reward(reward_fn, [1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3,
2, 1, 8, 5, 1, 6, 4, 2, 1, 8, 3, 1, 1,
1, 1, 1, 1, 1, 0]),
7.0))
if __name__ == '__main__':
tf.test.main()