I just installed Horizon and ran the tests, however there is an error:
======================================================================
ERROR: test_sac_trainer (ml.rl.test.gridworld.test_gridworld_sac.TestGridworldSAC)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 191, in test_sac_trainer
self._test_sac_trainer()
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 167, in _test_sac_trainer
actor_predictor = self.get_actor_predictor(trainer, environment)
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 145, in get_actor_predictor
trainer.actor_network, feature_extractor, output_transformer
File "/Users/david/Code/Horizon/ml/rl/training/rl_exporter.py", line 59, in export
output_transformer=self.output_transformer,
File "/Users/david/Code/Horizon/ml/rl/models/base.py", line 152, in get_predictor_export_meta_and_workspace
c2_model, input_blobs, output_blobs = self.get_caffe2_model()
File "/Users/david/Code/Horizon/ml/rl/models/base.py", line 129, in get_caffe2_model
caffe2.python.onnx.backend.prepare(model_protobuf),
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/caffe2/python/onnx/backend.py", line 689, in prepare
super(Caffe2Backend, cls).prepare(model, device, **kwargs)
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/onnx/backend/base.py", line 74, in prepare
onnx.checker.check_model(model)
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/onnx/checker.py", line 86, in check_model
C.check_model(model.SerializeToString())
onnx.onnx_cpp2py_export.checker.ValidationError: No Op or Function registered for ConstantFill with domain_version of 9
==> Context: Bad node spec: input: "25" output: "26" op_type: "ConstantFill" attribute { name: "dtype" i: 1 type: INT } attribute { name: "input_as_shape" i: 1 type: INT } attribute { name: "value" f: 0 type: FLOAT } doc_string: "/Users/david/Code/Horizon/ml/rl/models/actor.py(137): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(477): _slow_forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(487): __call__\n/Users/david/Code/Horizon/ml/rl/models/base.py(337): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(477): _slow_forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(487): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/jit/__init__.py(253): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(489): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/jit/__init__.py(198): get_trace_graph\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(192): _trace_and_get_graph_from_model\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(224): _model_to_graph\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(281): _export\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(104): export\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/__init__.py(27): export\n/Users/david/Code/Horizon/ml/rl/models/base.py(120): export_to_buffer\n/Users/david/Code/Horizon/ml/rl/models/base.py(125): get_caffe2_model\n/Users/david/Code/Horizon/ml/rl/models/base.py(152): get_predictor_export_meta_and_workspace\n/Users/david/Code/Horizon/ml/rl/training/rl_exporter.py(59): export\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(145): get_actor_predictor\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(167): _test_sac_trainer\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(191): test_sac_trainer\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/case.py(605): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/case.py(653): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/runner.py(176): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/main.py(256): runTests\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/main.py(95): __init__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/command/test.py(250): run_tests\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/command/test.py(228): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/dist.py(974): run_command\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/dist.py(955): run_commands\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/core.py(148): setup\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/__init__.py(143): setup\nsetup.py(27): <module>\n"
======================================================================
ERROR: test_sac_trainer_model_propensity (ml.rl.test.gridworld.test_gridworld_sac.TestGridworldSAC)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 205, in test_sac_trainer_model_propensity
self._test_sac_trainer(logged_action_uniform_prior=True)
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 167, in _test_sac_trainer
actor_predictor = self.get_actor_predictor(trainer, environment)
File "/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py", line 145, in get_actor_predictor
trainer.actor_network, feature_extractor, output_transformer
File "/Users/david/Code/Horizon/ml/rl/training/rl_exporter.py", line 59, in export
output_transformer=self.output_transformer,
File "/Users/david/Code/Horizon/ml/rl/models/base.py", line 152, in get_predictor_export_meta_and_workspace
c2_model, input_blobs, output_blobs = self.get_caffe2_model()
File "/Users/david/Code/Horizon/ml/rl/models/base.py", line 129, in get_caffe2_model
caffe2.python.onnx.backend.prepare(model_protobuf),
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/caffe2/python/onnx/backend.py", line 689, in prepare
super(Caffe2Backend, cls).prepare(model, device, **kwargs)
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/onnx/backend/base.py", line 74, in prepare
onnx.checker.check_model(model)
File "/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/onnx/checker.py", line 86, in check_model
C.check_model(model.SerializeToString())
onnx.onnx_cpp2py_export.checker.ValidationError: No Op or Function registered for ConstantFill with domain_version of 9
==> Context: Bad node spec: input: "25" output: "26" op_type: "ConstantFill" attribute { name: "dtype" i: 1 type: INT } attribute { name: "input_as_shape" i: 1 type: INT } attribute { name: "value" f: 0 type: FLOAT } doc_string: "/Users/david/Code/Horizon/ml/rl/models/actor.py(137): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(477): _slow_forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(487): __call__\n/Users/david/Code/Horizon/ml/rl/models/base.py(337): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(477): _slow_forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(487): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/jit/__init__.py(253): forward\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/nn/modules/module.py(489): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/jit/__init__.py(198): get_trace_graph\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(192): _trace_and_get_graph_from_model\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(224): _model_to_graph\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(281): _export\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/utils.py(104): export\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/torch/onnx/__init__.py(27): export\n/Users/david/Code/Horizon/ml/rl/models/base.py(120): export_to_buffer\n/Users/david/Code/Horizon/ml/rl/models/base.py(125): get_caffe2_model\n/Users/david/Code/Horizon/ml/rl/models/base.py(152): get_predictor_export_meta_and_workspace\n/Users/david/Code/Horizon/ml/rl/training/rl_exporter.py(59): export\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(145): get_actor_predictor\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(167): _test_sac_trainer\n/Users/david/Code/Horizon/ml/rl/test/gridworld/test_gridworld_sac.py(205): test_sac_trainer_model_propensity\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/case.py(605): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/case.py(653): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(122): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/suite.py(84): __call__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/runner.py(176): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/main.py(256): runTests\n/Users/david/anaconda/envs/pytorch/lib/python3.6/unittest/main.py(95): __init__\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/command/test.py(250): run_tests\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/command/test.py(228): run\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/dist.py(974): run_command\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/dist.py(955): run_commands\n/Users/david/anaconda/envs/pytorch/lib/python3.6/distutils/core.py(148): setup\n/Users/david/anaconda/envs/pytorch/lib/python3.6/site-packages/setuptools/__init__.py(143): setup\nsetup.py(27): <module>\n"
For the installation, I have a separate conda environment I call pytorch. I had already installed pytorch before installing Horizon. The requirements seem to install a new pytorch from the nightly build. When I look at my conda environment below, I see both pytorch'es in there.
Also I installed spark via pip install - it got 2.4.0 not the 2.3.1 mentioned in the installation.md
I just installed Horizon and ran the tests, however there is an error:
For the installation, I have a separate conda environment I call
pytorch
. I had already installed pytorch before installing Horizon. The requirements seem to install a new pytorch from the nightly build. When I look at my conda environment below, I see both pytorch'es in there.Also I installed spark via pip install - it got 2.4.0 not the 2.3.1 mentioned in the installation.md
Here is my conda environment, I am on Mac OS/X