From 84351e77f28a84a9683597c246996e9208932bfd Mon Sep 17 00:00:00 2001 From: ebuehrle <43623224+ebuehrle@users.noreply.github.com> Date: Fri, 18 Feb 2022 06:54:52 +0100 Subject: [PATCH] Add SHAIL-PPO --- .../sgail-ppo-options-setobs2-17-02-2022.pt | Bin 0 -> 16279 bytes evaluate_models.sh | 3 +++ src/eval_main.py | 4 ++++ src/safe_options/options.py | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 checkpoints/sgail-ppo-options-setobs2-17-02-2022.pt diff --git a/checkpoints/sgail-ppo-options-setobs2-17-02-2022.pt b/checkpoints/sgail-ppo-options-setobs2-17-02-2022.pt new file mode 100644 index 0000000000000000000000000000000000000000..33df960884d6f3b421d3499c80a2c22cf667288d GIT binary patch literal 16279 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 b%jH3h+~3e{?7tLK6ay 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