47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import os
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
import ray
|
|
from ray.rllib.algorithms.algorithm_config import AlgorithmConfig
|
|
from ray.rllib.offline import IOContext
|
|
from ray.rllib.offline.json_reader import JsonReader
|
|
|
|
|
|
class TestJsonReader(unittest.TestCase):
|
|
@classmethod
|
|
def setUpClass(cls) -> None:
|
|
ray.init()
|
|
|
|
@classmethod
|
|
def tearDownClass(cls) -> None:
|
|
ray.shutdown()
|
|
|
|
def test_itr_batches(self):
|
|
"""Test that the json reader iterates over batches of rows correctly."""
|
|
rllib_dir = Path(__file__).parent.parent.parent.parent
|
|
print("rllib dir={}".format(rllib_dir))
|
|
data_file = os.path.join(
|
|
rllib_dir, "rllib/offline/tests/data/pendulum/large.json"
|
|
)
|
|
print("data_file={} exists={}".format(data_file, os.path.isfile(data_file)))
|
|
|
|
ioctx = IOContext(
|
|
config=(
|
|
AlgorithmConfig()
|
|
.training(train_batch_size=1200)
|
|
.offline_data(actions_in_input_normalized=True)
|
|
),
|
|
worker_index=0,
|
|
)
|
|
reader = JsonReader([data_file], ioctx)
|
|
assert len(reader.next()) == 1200
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
|
|
import pytest
|
|
|
|
sys.exit(pytest.main(["-v", __file__]))
|