{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Example usage of Tempestpy" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pygame 2.6.0 (SDL 2.28.4, Python 3.10.12)\n", "Hello from the pygame community. https://www.pygame.org/contribute.html\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-09-24 13:31:25.321557: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", "2024-09-24 13:31:25.336097: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", "2024-09-24 13:31:25.340241: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", "2024-09-24 13:31:25.350298: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", "2024-09-24 13:31:26.198496: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n", "error: XDG_RUNTIME_DIR not set in the environment.\n" ] } ], "source": [ "from sb3_contrib import MaskablePPO\n", "from sb3_contrib.common.wrappers import ActionMasker\n", "from stable_baselines3.common.logger import Logger, CSVOutputFormat, TensorBoardOutputFormat, HumanOutputFormat\n", "\n", "import gymnasium as gym\n", "\n", "from minigrid.core.actions import Actions\n", "from minigrid.core.constants import TILE_PIXELS\n", "from minigrid.wrappers import RGBImgObsWrapper, ImgObsWrapper\n", "\n", "import tempfile, datetime, shutil\n", "\n", "import time\n", "import os\n", "\n", "from utils import MiniGridShieldHandler, create_log_dir, ShieldingConfig, MiniWrapper, expname, shield_needed, shielded_evaluation, create_shield_overlay_image\n", "from sb3utils import MiniGridSbShieldingWrapper, parse_sb3_arguments, ImageRecorderCallback, InfoCallback\n", "\n", "import os, sys\n", "from copy import deepcopy\n", "\n", "from PIL import Image" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting the training\n" ] }, { "data": { "image/jpeg": "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663QblX1/dt90+449Ks6DH4dtNae2sppL/VCpaa8cmUj2L9B9B+NaeqeFtH1iUTXdoPO7yRkozDuCR1HbmtGzsbXTrdbezt44Ih0WNcClUxUZQaUpa+n4veX4BTw0ozTaWnr+C2j+JzevR+HbvWktr2aSw1QKGhvEJiJ9g/Q/Q/hVa/0/TdOSOfxVrkuo7f9TbuNqt6fu1+8fc8etdbeWNrqNu1veW8c8R6rIuRWdpfhbR9HlM1paDzu0khLso7AE9B24p08VGMEnKWnTT8HvH01CphpSm2ktfX8VtL8DDsNP03UUkn8K65Lp27/AF1ug3Kvr+7b7p9xx6VZ0GPw7aa09tZTSX+qFS0145MpHsX6D6D8a09U8LaPrEomu7Qed3kjJRmHcEjqO3NaNnY2unW629nbxwRDosa4FKpioyg0pS19Pxe8vwCnhpRmm0tPX8FtH8Tm9ej8O3etJbXs0lhqgUNDeITET7B+h+h/Cq1/p+m6ckc/irXJdR2/6m3cbVb0/dr94+549a628sbXUbdre8t454j1WRcis7S/C2j6PKZrS0HndpJCXZR2AJ6DtxTp4qMYJOUtOmn4PePpqFTDSlNtJa+v4raX4GHYafpuopJP4V1yXTt3+ut0G5V9f3bfdPuOPSrOgx+HbTWntrKaS/1QqWmvHJlI9i/QfQfjWnqnhbR9YlE13aDzu8kZKMw7gkdR25rRs7G1063W3s7eOCIdFjXApVMVGUGlKWvp+L3l+AU8NKM02lp6/gto/ic3r0fh271pLa9mksNUChobxCYifYP0P0P4VWv9P03Tkjn8Va5LqO3/AFNu42q3p+7X7x9zx611t5Y2uo27W95bxzxHqsi5FZ2l+FtH0eUzWloPO7SSEuyjsAT0HbinTxUYwScpadNPwe8fTUKmGlKbaS19fxW0vwMOw0/TdRSSfwrrkunbv9dboNyr6/u2+6fccelWdBj8O2mtPbWU0l/qhUtNeOTKR7F+g+g/GtPVPC2j6xKJru0Hnd5IyUZh3BI6jtzWjZ2Nrp1utvZ28cEQ6LGuBSqYqMoNKUtfT8XvL8Ap4aUZptLT1/BbR/E5SiiivvD4sKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==", "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.058641910552978516 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0003376007080078125 seconds.\n", "LOG: Starting to translate shield...\n", "Write to file shielding_files_20240924T133128_pk5u63e5/shield.\n", "Elapsed time is 0.013018369674682617 seconds.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The shield for shield_value = 0.9\n", "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.05918574333190918 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0002396106719970703 seconds.\n", "LOG: Starting to translate shield...\n", "Write to file shielding_files_20240924T133128_3pf0niht/shield.\n", "Elapsed time is 0.011339187622070312 seconds.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The shield for shield_value = 0.99\n", "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.05561947822570801 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.00025653839111328125 seconds.\n", "LOG: Starting to translate shield...\n", "Write to file shielding_files_20240924T133129_kc6xcewk/shield.\n", "Elapsed time is 0.012254714965820312 seconds.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The shield for shield_value = 0.999\n", "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.05743050575256348 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0002510547637939453 seconds.\n", "LOG: Starting to translate shield...\n", "Write to file shielding_files_20240924T133129_xvlqgzvq/shield.\n", "Elapsed time is 0.011241436004638672 seconds.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The shield for shield_value = 0.9999\n", "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.057801008224487305 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0002875328063964844 seconds.\n", "LOG: Starting to translate shield...\n", "Elapsed time is 0.011219024658203125 seconds.\n", "Write to file shielding_files_20240924T133129_9qlpdi5z/shield.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The shield for shield_value = 1.0\n", "Training with shield:\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAufElEQVR4Ae2dT44kyXWno6hCCwJakCBicthAsxtccMXVrCalQ+ROnAuEDqDirg5QO0oHYJyA2uVK0AGk1Ga44orAECwS6FYLIiioAUENCjX2i8hXZWkZHv4nzN3ec/8M8PJwc7P3zD578XseHp5RL/b7/bsdBQIQgAAENkfgW5ubMROGAAQgAIEjARIAgQABCEBgowRIABtdeKYNAQhAgARADEAAAhDYKAESwEYXnmlDAAIQIAEQAxCAAAQ2SoAEsNGFZ9oQgAAESADEAAQgAIGNEiABbHThmTYEIAABEgAxAAEIQGCjBEgAG114pg0BCECABEAMQAACENgoARLARheeaUMAAhAgARADEIAABDZKgASw0YVn2hCAAARIAMQABCAAgY0SIAFsdOGZNgQgAAESADEAAQhAYKMESAAbXXimDQEIQIAEQAxAAAIQ2CgBEsBGF55pQwACECABEAMQgAAENkqABLDRhWfaEIAABEgAxAAEIACBjRIgAWx04Zk2BCAAARIAMQABCEBgowRIABtdeKYNAQhAgARADEAAAhDYKAESwEYXnmlDAAIQIAEQAxCAAAQ2SoAEsNGFZ9oQgAAEXrZG8Pr+vukQvvrqe7vb3UPPGP4unb9N23d72tnpX6cXsvmXVnHlfr3+/9/N/7ySDd0hMJ3AV9/7anrnCj1vfnmze3N3V8HSNBPNE4CG/dVX7RbhdvcvF8j9TTr3t2n7zWObv057bV2JQMKv9tpUPk2b2r/SwYSyfv8K/v3hMIFNnS6H/R7/G+a/+16dOIpqZdO3gHRNf75IeCXyP0qbxN9aStg/S5sEXWJvRa9Vp3Mm/uqjvrIhW7I5tGzLv9EdSqdWO/Nr+1p2h9oxv7Yf2q9WO/Nr+1p2h9oxv7Yf2q9Wu1Z+a42/hp3NJoDzi39OeP8xcf6ntL1Nm67mVfJEUAq/2qit+qivPA1NBNv1f349ErqZSumvPJ7J7Xuzpb/y+H3DmV6U/srjmdy+N1v6K4/fN5zpxdL+ZprG1WY3mQDOL/4PE8z8it+E/88fIdtVfJkI7IrfhN9EXN3U91wikK+ybN3/h89ZJZnax+fXH/9dXLbCv/Y8I9jbXALoDnJ9YautFH67vSMhVykTwTnhV9tXaVNflTwRmJ/TmQ//Wv1W/Z9IdK/PB1LXvOqz33f+Gt/q22e/7zz+ryMwN9/rRrd8700lgMuLLwH+adrsit+E/7NUp6v8v3g8VyaC/Ipf59RfbfPbRHkikA/5KsvW/X/gcXmdPrQb+2qo3aHt8D+OwFCuQ9uN896ffMfaW0P7zSSA4UFVCr+WWeKsJ3oe0lYmglR1vM1jwq82amsify4RqE9X2br/E5fh69XF8Wn9WHtj2z/19vxorL2x7Z97fFoz1t7Y9k+9PT8aa29s++cen9bUtvfUetyjTSSAYYt/Tnjt9o6u2nX+x2krE0Ep/GqjturzNm2yodKXCLbu/0Qp/3fYuuU9zr+eamdqv3IUU+1M7Yf/pwRqcXxqdR1Hq08Awxf/R2lFJdIqJvz57R3Vv0pbmQgeUp2Sggm/2lgpvy9QvXzIV1m27r/kcToevn70P0cAfueoUGcEVp0AxgW/RP+c8Ou+vp7QUTKwkieCc8KvtupTfl/wNtWZH7Nle6tXmzzxbMW/cXi+H7eOH/pP7ffBwunVVDtT++H/KYGpHKf2e+p93UerTQDjF1+3ckrhtds7+ikGXaHbFb0FhRKBNivWX23Vp/y+wPrLblm27r/k8fR47HqObf/U2/OjsfbGtn/u8WnNWHtj2z/19vxorL2x7Z97fFoz1t7Y9k+9bedolQngusXPn+R5SJEga7qfr33XH3Tlwm9/OWx9ZKNMBKmqs2zdfyeY3kcoradWao4y1O7QdmPHONTu0Hb4H0tgfe1XlwCmB/854bVn8vVEj87rWB7yRKCrel3xm/B39XlIbS4lgq37T3gGlL717Ts/wMXFJn32+85fND7gZJ/9vvMDXFxs0me/7/xF4wNO9tnvOz/AxaaarCoBXLf4+nL2IW2yYiJe3qrRcZkISuHv6yMf9mVzevm+bN3/exC9L7rWuau+1+DIBl1+uupHmu9t3uWnq77X4MgGXX666kea723e5aervtfghhusJgFcv/j6MrcU/l+nuldpe/G417FKngim9JGvsmzdf8nj8nG53uXx5d7Xny39lcfXe7hsofRXHl/uff3Z0l95fL2HyxZKf+Xx5d6cNQKrSAB1Fl+3cuzq3YT/s1RnV+va61gJIU8EU/rIV1m27r/k0X9s6277/h51W5hf29e13m/N/Nq+v0fdFubX9nWt91szv7bv70GLkkD4BFB38c8Jvx7P1FW+9iplIpjS52Tp+b9TbE3p89zzqWaKrSl9uvyPr6+7/vgfS2Dr/Mfy8tY+dAKoG3x6bDO/4pfgv02bnvDRVb72Oi4TwZQ+8lWWrfsveXAMAQjMTSBsAqgr/sJsopwLf3mrRsdlIlDfsX3Ml/pasbqxttR/bB/zZb61t7qxttR3bB/zpb4UCECgFYGQCaC++Au/ntt/lzYJvAm/PZr5ItXZF7/p5fs/CFP7KX3kqyxb91/y4BgCEJibQLgEMI/4l5hN+PXc/sPjSe11nCeCx1PH3ZQ+ef/89RRbU/rkPvPXU2xN6ZP75DUEILA0gVAJYH7xL0XMfuRNV/n6IlgjKBNB2Udt1FZ9fpy28tdD1b6rlLa25r+LC/UQgMAcBMIkgPnF/1Xia1f8Jrz2hIvQ25V/mQisjwm/ibj6yKZslIlA9WXZuv+SB8cQgMDcBL41t4Ma9ucXfxvlOeHXOX1pKSFXKRPBOeFX2/yLzjIRHA2d+Wfr/s8goQoCEJiNgPsEsJz468vf/IpfzO0L4R+m15+lzYRc5ywR5Ff81l9t1ceeGlJ7Fesvu2VRnfW3c6qTjS34tzmzhwAEliLgOgEsJ/4lbhPeH6UT9ls/avO3afssbSbkqlMx4dY5tVHR6PMfjZPNoWXr/odyoh0EIHANAbcJoI34nxNe3fPXVf7btOl5d5U8ESgZ5MJvz8Srj/qOSQRb959wUSAAgcUIuEwAbcRft1nyK34Tft3qUbHbOWUisCt+E34TcfWx20RlIpCvsmzdf8mDYwhAYG4CL+d2MNZ+G/HXKPWb/yoSchP9Y0XxjyUCtcvFX/VdxRKBPhWoj/nK21vdVv3nLHgNAQgsQcBVAmgn/kItATYRHoLeEsGQttZGiaAruWzdvzFiDwEILEXAzS2gtuK/FG78QAACEPBD4MV+v3/Xcjiv7+93b+7uWg4B3w0JHA4/aeh9t9vv/6qpf5y3JSD9aV1a6p+LW0D7w+H4rEyLhUgJcHdI/luVrfvf7domAK0767/d+E9XAM3W/yHF3s3NTSvpOfp1cwtIMChbJqC/nC6fjnqV6rTlRW3yv7LW32CoTl+wW9Fr1emclXP27Rx7CCxLwIveuUkAwu8FyrKhgLcTAQm0Nj1Ga0XHemoqF3cTchN3/bGd6vJEoWPrm14ei9Xl9u0cewgsR8CTzrlKAFoCT3CWCwk8Pf0jO+OhR2JVcnG3OnsEV09V3aZNkWOJIm9jiSKvS00pEGhAwJu+uUsAWhNvkBrEyQZdmpDrit6u0iX8+oG8PnHP2wudHtEtBf+cfbWlQGAZAh51zWUC0HJ4hLVMmGzZiwm5Xd2LhQm5fQq4JO5DE0Vuf8u8mftSBLzqmdsEoIXxCm2poNmen3NX6XwK2F4crGvGnnXMdQJQGHiGt64w9TIbPgV4WQnGcT0B7/rlPgFoCbxDvD5MsPCBQP4pQE/uqOhTgEoeCfazHfntHGtndbpdVLY7Z/9onH8gUJVAHq1VDVc0FiIBaL4RYFZclw2b0lM7ttq3jxzs6R47VrUlB/uOQHX26SFvZ30tEZyzr74UCNQjYBFcz+I8lsIkAE0/CtR5lmorVu3qXcKuK3gVu7I3gZeI5+3URkKvCNFTQ3l7PVWkhKArf5W8n9k/neFfCNQgEEmnQiUALU4kuDWCaVs2Lgl7n4ib6OefCEzsLyWObRFmtvMSiKZP4RKAli8a5HlDbk3WTbC5+l/Tqm5lLhF1KWQCUEBFhL2VN8K0eXL1P40bvTwQiKpHYROAFj0qdA8B628MQ67+Neq8nY659y8KlHYEIutQ6ASgJY8Mv13I4nktBIj/tisZnX/4BHDbdv3xXo2AfXmrK3zdDlKxL29fnQ6P/+btVJE/15+3H/IbQpnZgC9NfGwfcArhhxxdf0IngOjww0d/1QnU/o0fSxSWPM7ZrzqBRY2Vol8eLzqYjTuLrENhE0Bk6Bt/v1yYvon2pU8B54R8W58CusS+q/4CcE5VIhBVj0ImgKiwK8Xais1cEnfJm/1V76VEYV8SC5O1W8+ngD6R7zu/4uBpPrWIuhQuAUSE3DwyQw3ARJtPAeWyDRX3oe1K+xxfTyCaPoVKANHgXh9OW7SgTwG20iZl9jMOdiwu9ts++RW/Xenn7ayv/XbQOfv+OeczGjLase2H2KTNMAK3w5q5aBUmAUSC6mJlww4if67fRN6e7smjwATdPjFowtbO6vQ0UdnunH3fsKaK+dR+vmnEGF0eqZ5HHCIBRIHpeaHjjM2u4k3ENXK7yjeBr/1Xw37pXCvi1/b3S8b/yCLolvsEEAGi/1CMMsL86twSgUR/yC965u0130tJIv/FUL9saol3LTt+SfkdmXf9cp0AvMPzG3ZRR2YiztV/bdGubS9qhLUYt2cdc5sAPENrEUTr98nVv63xXGI9l10bN/tuAl71zGUC8Aqre3k5cz0Bu89/6epfXsp2ljgUNfbET95GT/2o5HWnGo//zi3Sc9v3yNTLmDzq2ksvcGwcHiHZ2NjPScCe+LHbQPJldSbsVqd6E3bdz9dxnjh0rO8NyrpU9f5/C9NrX2UpcZYf3mdt1l7cl1rnITN0lQAIyiFLttY2Em1tebGnfvK6n+YH6bUSQVmnhJEnDXU5Z1/1PsrSoiB/vN/arL24L73eXTN1cwuIYOxaIurXTqCVGLTyu/b1HDI/L3r3Yr/fvxsy4LnavL6/3725u5vLPHadEzgcftJ0hPv9XzX1/5O/PzT1/8tvbnj/NVyB1vrn4hbQ/nBo9nE0JcDdIflvVbbuf7drmwC07q3W/3gFrq8wGhfef23e/8f1v7lpuvpubgHxcbRpHDhwrp9s+GExDn0hnH8prNNqYz/voGP9wZfq9DSQFb1Wnc5ZOWffzi2/9xbv3saz/Ios69ELbzcJQPi9QFk2FPB2IiCB1pZ/8atjPb6Zi7sJuYm7nvZRXZ4odGx908tjsbrcvp1bdu81zr2Oa9nVmd+bJ86uEoDQe4Izfyjg4QMBe2TTntfXGavLxd3qrJ2e9rlNmyLHEkXexhJFXpeaNire49v7+BotWzW33vi6SwAi7Q1StdXH0AUCJuS6orerdAm/bpIrIi6Je94+NT0+GloK/jn7artciRLXUca53MrV8eSRq8sEINweYdUJA6x0EzAht6t7tTQht08Beu7f6qydibuiZkiisH6yv0yJFs/RxrvMKk734pWn2wQg1F6hTQ8Del4mYEK+rk8BUeM46rgvx9jyZz1zdJ0AtFSe4S0fSlvwuK5PAUPj95vf73Zf/9e49VX7KX3ka2gZOv6h9rbWzjs/9wlAAeMd4taCet755p8C9OSOit3+ySPBfjYiv51j7axOt4vKdufsH51U/ycfbZ/xX/37bvfzf03bV/2iLtFXu2P7CX3ka0wZM48xdtfeNgI3F38INiQQBPN2SEPaBCegp3bsrWMrbvf17VhTtORg3weozj495O2sryWC0v4/qGP1YjMYaviTj3e7b/47if83J2H/+KPd7vM/2e0+/sMPFiT8Em+1UfnoD077MX1kV77GFs0npzq2/9baj13/VnzCJAABIghbhcmSfu3qXcKuK3gVu7I3gZeI5+3URkKvCPk0bXl7fZ8g6dKVv0rez+yfztT6d8qbX0L/g5vT1b+JvK7wTbC/+Pqp8H8nifgnf3wa8Rf/sdt9+Xi+q8+5hDJ2vrz/hhGbsv7DLNdvFSoBaPoEYf0g8GPxkrDfpmFeEnET/fwTgYn9pcRRd/bXvvnPJYJf/PY0Rl3x58JvI1ci0JYnAutTQ/jNj/a8/3Iaz19fu/7PLc5bEy4BCAdBOG9QtLNugh3z6r/mmz9PBLr6P34SeLzi71qfPBHotpBu9eS3kLr6ja3n/XeeWM31P++hfm3IBCAMBGH9YGhrMfbV/1xvfgn497PvAYaskd0aGtJ2ahvef0/JzbX+T73UP/pWfZPLWYwKfTlCkTwNufrXfPJ2Om5/779GHP7qd7vdz7443cbRrPrK+yeBvjp9b9DXXud1i0g+5KtGqTHvGuNobSMyh7CfAGzRBf/WDthDYGECNd/8egrobXrKR1/onrvXr6mVTwKpzr74LZ8a0jkV+25A9muXrb//aq5/7bUZYi/0JwBNEPEfsswR2tiXt7rC1+0gFfvy1r7gVV3eTsf6YlhR8Ju05e31NJDenvqEoJL3M/unM9f8Wyv+Pv/T9BTQ/zjd67dEkH8ieH/Fn54M0v19fSeg9tbHHgXN/47ArviVVGTT+shXrVJr/rXGs7Sd6PMPnQCiw186WH37+24aXi7SGq2J+0N6fUnITfjt9pD6mi1LHufsq931pVYc2he/JuqWCP455TZd5T8R/vTIqNqXfSwRqE8p/HrMVO1rlVrzrjWeVnYicwibACJDbxWo/v2aaF/6FHBOyC1RtPkUIK4147EUddm3q/cuEZ/SR3anlprznToGT/2i8giZAKLC9hSwPsdySdwf0pD9fgoQz9pxaaL+v9PdrC7hL9dxSp/SRt9x7Xn2+YtyPiKXcAkgIuQoAexjnHE/BYjf1Pg8frn7u3Sv/vfDV0H3+LUNLbKtJ4Dka2qZOr+p/qL1i8YnVAKIBjda8PoYrz4F2Eo/PA5Jt3hU7Fiv7bd98vv+r3Qilbyd9bXfDjpn/9Sr1r82+jH29MdeevrnZ1+eRPpSIsi/3NV9/vzL4nM+TfhlWz7ka0qZMq8pfqL3icTpZRTYkaBGYepznLrN85A2PcVjIm9f8uZRYIJunxg0G2tndXrap2xX2v8HdaxeNFLNYmjRI5z6qQcJtG3HR0E/TvWP71IJv87Z45z6XkBFX/wqEehc/viohN8Sy6nl4/lkc2zJyY/tu8X2Y9e/FaPH0Grlfphfgm8Yp3W0sqt4E3HNyq7yTeAl7FZn7UzYFS121Z+30ZW/yjn7pzO1/x0jAhJ5PZ6pn28w0bZE8Gd/dBL5XPjzZ/7zvw2wRKDk8Nv//DCjMpl8ONP/ivdfP6NzLcas/7n+S9S5TwAE3xJh4MWHifinaUAm1BL936RNkTBE2Ickidx+MjtjGSsC5xKBCblEPRd+G7Z98ZsnAutzjfDLPu8/ozxtP3b9p3mZ3st1AiD4pi9szJ4m+nZVr1nYVfwQYVfEDEkSuf35SU0RgTIRfDt9CpDQXyp5Ivi3dPWvTxN2++hSv65zvP+6yIyrn7L+4zxMb/2t6V3n7UnwzcvXn/X1Xf3njKfGsyWCPvHPfamtbich/jmVtq+nrv/co3aZALzCmnsxtm3frvTzq3Ors6t/EbI6a2eJQ1Fz6eq/7Lc87ShxHWWcy6/gdR49cnV3C8gjpOuWnd7DCNgTP3YbSL2szoTd6lRvX+rqfr6OLSFYG31vUNbpXG5fx8sWxffDsi5HeeP9NwrX6Mbe1t9VAiD4RsfTijpIxE3wbVr5lb/V/dRePO6VCMo6JYw8aajpOfuqX754EwEjwPvPSMy797T+bm4BEXzzBh3WfRHwFu/exuNrteqPxgvvF/v9/l396Q23+Pr+fvfm7m54B1pCYEUEFP+tC++/divQWv9c3ALaHw7NnjdOCXB3SP5bFfxvm/8uxZ/iv1U5EP/N3v8PWvSb9BvdDYubW0BHGA1B4BoCrQi0uh3Qym8rzp78etE7NwlAi+MFiqdAYSzbILC0GC/tbxurOGyWnnTOVQIQPk9whi0nrSBQh8BSoryUnzpU1mXFm765SwBabm+Q1hWCzMYzgbnFeW77ntm2HptHXXOZALRQHmG1DiD8b4PAXCI9l91trMp1s/SqZ24TgHB7hXZdKNAbAv0Eaot1bXv9M6CFEfCsY64TgAB6hmcLzB4CcxCoJdq17Mwxx7Xb9K5f7hOAAsQ7xLUHMfNrR+Ba8b62f7uZx/ccQbdCJACFQgSY8UOWGXgkMFXEp/bzyCDamKLoVZgEoACIAjVasDJe/wTGivnY9v4JxBlhJJ0KlQAUApHgxglZRhqBwFBRH9ouwpyjjTGaPoVLAAqIaJCjBTHj9UugT9z7zvudWfyRRdSlkAlAoRIRdvwQZwYeCHSJfFe9hzGvfQxR9ShsAlBARYW+9jcD85ufQCn25fH8I8CDEYisQ6ETgBYgMnwLIPYQmELARN/2U2zQ5zoC0fUnfAIg+K8LYHrHJkD8t12/6PxDJ4Do8NuGLt4hAIEaBCLrUNgEEBl6jaDDBgQg4IdAVD0KmQCiwvYTrowEAhCoTSCiLoVLABEh1w407EEAAj4JRNOnUAkgGlyfIcqoIACBOQlE0qkwCSAS1DmDC9sQgIB/AlH0KkQCiALTf1gyQghAYCkCEXTLfQKIAHGpgMIPBCAQi4B3/XKdALzDixWKjBYCEGhBwLOOuU0AnqG1CCJ8QgACcQl41TOXCcArrLjhx8ghAIHWBDzqmrsE4BFS68DBPwQgsA4C3vTNVQLwBmcdIccsIAABTwQ86ZybBOAJiqdgYSwQgMD6CHjRuxf7/f5dS7yv7+93b+7uWg4B3xCAAASaEGitfy+bzLpwuj8cdq0yYkqAu0Py36rgH/7E3zbffw8SnZubVtJz9OvmFtARRlMUOIcABCCwDAEveucmAQi7FyjLhABeIACBLRLwpHOuEoCCwROcLQYnc4YABOYj4E3f3CUAofcGab5wwDIEILAVAh51zWUCUEB4hLWVQGWeEIBAXQJe9cxtAhB+r9DqhgbWIACBNRPwrGOuE4CCwjO8NQctc4MABK4n4F2/3CcALYF3iNeHCRYgAIG1EYigWyESgAIjAsy1BTDzgQAEphGIoldhEoCWIQrUaSFDLwhAYA0EIulUqASg4IgEdw3BzBwgAIHhBKLpU7gEoKWIBnl4+NASAhCISiCiLoVMAAqQiLCjBjbjhgAELhOIqkdhE4CWIyr0y6HEWQhAIBKByDoUOgEoSCLDjxTkjBUCEHhOILr+hE8At8/XhBoIQAACixCIrj+hE0B0+ItEKE4gAIFZCUTWobAJIDL0WaMR4xCAwOIEoupRyAQQFfbiUYlDCEBgMQIRdSlcAogIebEIxBEEINCUQDR9CpUAosFtGok4hwAEmhCIpFNhEkAkqE2iDqcQgIAbAlH0KkQCiALTTfQxEAhAoDmBCLrlPgFEgNg80hgABCDgkoB3/XKdALzDcxlxDAoCEHBFwLOOuU0AnqG5ii4GAwEIuCfgVc9cJgCvsNxHGQOEAATcEvCoa+4SgEdIbiOKgUEAAqEIeNM3VwnAG5xQkcVgIQCBEAQ86ZybBOAJSogoYpAQgEBYAl707sV+v3/XkuLr+/vdm7u7lkPANwQgAIEmBFrr38smsy6c7g+HXauMmBLg7pD8tyr4hz/xt83334NE5+amlfQc/bq5BXSE0RQFziEAAQgsQ8CL3rlJAMLuBcoyIYAXCEBgiwQ86ZyrBKBg8ARni8HJnCEAgfkIeNM3dwlA6L1Bmi8csAwBCGyFgEddc5kAFBAeYW0lUJknBCBQl4BXPXObAITfK7S6oYE1CEBgzQQ865jrBKCg8AxvzUHL3CAAgesJeNcv9wlAS+Ad4vVhggUIQGBtBCLoVogEoMCIAHNtAcx8IACBaQSi6FWYBKBliAJ1WsjQCwIQWAOBSDoVKgEoOCLBXUMwMwcIQGA4gWj6FC4BaCmiQR4ePrSEAASiEoioSyETgAIkIuyogc24IQCBywSi6lHYBKDliAr9cihxFgIQiEQgsg6FTgAKksjwIwU5Y4UABJ4TiK4/4RPA7fM1oQYCEIDAIgSi60/oBBAd/iIRihMIQGBWApF1KGwCiAx91mjEOAQgsDiBqHoUMgFEhb14VOIQAhBYjEBEXQqXACJCXiwCcQQBCDQlEE2fQiWAaHCbRiLOIQCBJgQi6VSYBBAJapOowykEIOCGQBS9CpEAosB0E30MBAIQaE4ggm65TwARIDaPNAYAAQi4JOBdv1wnAO/wXEYcg4IABFwR8KxjbhOAZ2iuoovBQAAC7gl41TOXCcArLPdRxgAhAAG3BDzqmrsE4BGS24hiYBCAQCgC3vTNVQLwBidUZDFYCEAgBAFPOucmAXiCEiKKGCQEIBCWgBe9e7Hf79+1pPj6/n735u6u5RDwDQEIQKAJgdb697LJrAun+8Nh1yojpgS4OyT/rQr+4U/8bfP99yDRublpJT1Hv25uAR1hNEWBcwhAAALLEPCid24SgLB7gbJMCOAFAhDYIgFPOucqASgYPMHZYnAyZwhAYD4C3vTNXQIQem+Q5gsHLEMAAlsh4FHXXCYABYRHWFsJVOYJAQjUJeBVz9wmAOH3Cq1uaGANAhBYMwHPOuY6ASgoPMNbc9AyNwhA4HoC3vXLfQLQEniHeH2YYAECEFgbgQi6FSIBKDAiwFxbADMfCEBgGoEoehUmAWgZokCdFjL0ggAE1kAgkk6FSgAKjkhw1xDMzAECEBhOIJo+hUsAWopokIeHDy0hAIGoBCLqUsgEoACJCDtqYDNuCEDgMoGoehQ2AWg5okK/HEqchQAEIhGIrEOhE4CCJDL8SEHOWCEAgecEoutP+ARw+3xNqIEABCCwCIHo+hM6AUSHv0iE4gQCEJiVQGQdCpsAIkOfNRoxDgEILE4gqh6FTABRYS8elTiEAAQWIxBRl8IlgIiQF4tAHEEAAk0JRNOnUAkgGtymkYhzCECgCYFIOhUmAUSC2iTqcAoBCLghEEWvQiSAKDDdRB8DgQAEmhOIoFvuE0AEiM0jjQFAAAIuCXjXL9cJwDs8lxHHoCAAAVcEPOuY2wTgGZqr6GIwEICAewJe9cxlAvAKy32UMUAIQMAtAY+65i4BeITkNqIYGAQgEIqAN31zlQC8wQkVWQwWAhAIQcCTzrlJAJ6ghIgiBgkBCIQl4EXvXuz3+3ctKb6+v9+9ubtrOQR8QwACEGhCoLX+vWwy68Lp/nDYtcqIKQHuDsl/q4J/+BN/23z/PUh0bm5aSc/Rr5tbQEcYTVHgHAIQgMAyBLzonZsEIOxeoCwTAniBAAS2SMCTzrlKAAoGT3C2GJzMGQIQmI+AN31zlwCE3huk+cIByxCAwFYIeNQ1lwlAAeER1lYClXlCAAJ1CXjVM7cJQPi9QqsbGliDAATWTMCzjrlOAAoKz/DWHLTMDQIQuJ6Ad/1ynwC0BN4hXh8mWIAABNZGIIJuhUgACowIMNcWwMwHAhCYRiCKXoVJAFqGKFCnhQy9IACBNRCIpFOhEoCCIxLcNQQzc4AABIYTiKZP4RKAliIa5OHhQ0sIQCAqgYi6FDIBKEAiwo4a2IwbAhC4TCCqHoVNAFqOqNAvhxJnIQCBSAQi61DoBKAgiQw/UpAzVghA4DmB6PoTPgHcPl8TaiAAAQgsQiC6/oROANHhLxKhOIEABGYlEFmHwiaAyNBnjUaMQwACixOIqkchE0BU2ItHJQ4hAIHFCETUpXAJICLkxSIQRxCAQFMC0fQpVAKIBrdpJOIcAhBoQiCSToVJAJGgNok6nEIAAm4IRNGrEAkgCkw30cdAIACB5gQi6Jb7BBABYvNIYwAQgIBLAt71y3UC8A7PZcQxKAhAwBUBzzrmNgF4huYquhgMBCDgnoBXPXOZALzCch9lDBACEHBLwKOuuUsAHiG5jSgGBgEIhCLgTd9cJQBvcEJFFoOFAARCEPCkc24SgCcoIaKIQUIAAmEJeNG7F/v9/l1Liq/v73dv7u5aDgHfEIAABJoQaK1/L5vMunC6Pxx2rTJiSoC7Q/LfquAf/sTfNt9/DxKdm5tW0nP06+YW0BFGUxQ4hwAEILAMAS965yYBCLsXKMuEAF4gAIEtEvCkc64SgILBE5wtBidzhgAE5iPgTd/cJQCh9wZpvnDAMgQgsBUCHnXNZQJQQHiEtZVAZZ4Q2CqBn6aJ384wea965jYBaA28QpshPjAJAQg4IPCXaQz/lLZ/TNtfVxqPZx1znQDE3zO8SvGBGQhAwBmBP0/j+Zu06Y+kfpy227RNKd71y30CEHTvEKcEBn0gAIEYBF6lYdqnAn1CGFoi6FaIBCDgEWAODQzaQQAC8QjoU4G+I3ibNn0q+DRtXSWKXoVJAAIdBWpXUFAPAQjEJ/DdNAV9Kvh12s59aRxJp0IlAIVOJLgaLwUCEFgvAfvSWJ8K9KXx/w021XAJQHxJAsGijOFCYOUE9KlAXxr/r7R9lraP0xahhEwAAksSiBBejBEC2yPwSZryDx637zifftgEIK4kAefRxfAgsGEC+hTwedrsU8FHDlmETgDiSRJwGFUMaTECreN/6/4XW+iZHIVPALczgcEsBLwTMPG1/dLjNb+235r/vvl+nRr8Km0/S9vbtH2TNm8ldAK49UaT8UBgIQKl6JbHcw+j9Fcer93/pfl9kU7+/HH78lJDB+fCJoBbB/AYAgRaEOgS26762mPs8tNVvzb/5+ajq/v8al9X/xFKyARwG4EsY4TADAT6RLbv/LVD6rPfdz66/3L8v00VutrXbZ4v0+bxNk8aVmcJlwBuO6fCCQism8BQcR3abiytoXaHtovm38YrkddtHon+L9IW5Wo/DfVZCZUAbp8NnwoIbIPAWFEd276P4lh7Y9t796/xSegl+J6/1NU4x5QwCeB2zKxoC4EVEZgqplP7leim2pnaz5v//Etd3fJZUwmRAG7XRJy5QGAEgWtFlP4jYGdN9fPPr9L2z2l7m7bIt3nS8DuL+wSA+HeuHSdWTuBa8TY8U+1M7Wd+bT/VztR+5tf2Y+z8Xeqkn33+i7T9HzOw4r3rBHC7YvBMDQKXCIwRrUt27NxYe2Pbm5+u/Vh7Y9t3+bX6ofZ+mDqo7dD2Zj/q3m0CuI1KlHFD4EoCc4nPULtD242d5lC7Q9tF8z92vEu0d5kAbpeYOT4g4JDAXOJnU+2z33fe7Ezd99nvOz/Vr/Xrs9933uysZe8uAdyuhSzzgMBIAkuJT5efrvqR0+ht3uWnq77X4MgGXX666keaD9XcVQK4DYWOwUKgHoGlxaf0Vx7Xm9l5S6W/8vh8r3q1pb/yuJ4n35bcJIBb35wYHQRmI9BKfMyv7WebYIdh82v7jmazVZtf28/myLHhF/v9/l3L8b2+v9+9ubtrOQR8Q6AZgZ/8/aGZbxy3J/DLb26a6t/L9gh2u/3hsLttNJCUAHeH5L9Vwf92+R+vPD9tFXn4hcBu5+YW0JY/hhGI2yNAvG9vzT3O2E0CEBzeFB5DhDHVJkCc1yaKvakEXCUATYI3x9SlpF8EAsR3hFXazhjdJQCh502ynQDc0kyJ6y2tdoy5ukwAQsebJUYAMcphBIjnYZxotSwBtwlAGHjTLBsMeJuHAHE8D1esXk/AdQLQ9HjzXL/IWGhHYGj8fvP79Jvz/zVunGo/pY98lQX/01jW4l+ux1LHLv4OoG+yehPd9jXiPAScERgq/hr2r/59t/vtf+52H3+0233+J2n/h92Tkeio/deP/wP52D5/9ke73fe//dQ+/tvyf7oayx2FSADCQRJYLijwdD2BMeIvb598vNt9898nUf/5v55PBKXwf/QHp3EqEQzto2QhX2XBf1v+5XosdRwmAQgISWCpsMDPNQTGir986Yr/Bzen2xB2dW+iLnH+4usPV/wS/u+kuk/++DTKL/5jt/vy8XxXn75PCfhvy/+aeLumb6gEoImSBK5ZbvrOTWCK+OdjOifEv3j8n8hL4bd+SgTa8kRgffqE32zYHv/PE4GxXIK/rcNS+3AJQGBIAkuFB37GELhW/HNfuRDr6v946+bxij9vl7/OE4FuC+mTg+xMKfj/kAha8J+yZlP6hEwAmihJYMpy02cuAjXFPx+jhPj7I0Xcbg3ldqa+xn9b/lPXbWi/sAlAEyQJDF1m2s1JoIb4/+p3p6dQ8nv7l8ZsXwirTd9TQ2bHbhHpKaDP/9RqT3v8t+X/dDWWOwqdAISpdRLAf9tHdD3wr/V21VNAb9PjnfpCtysRmPDbI6DybV/8diUCE37Zv1Tw35b/pbWZ61z4BCAwrURAflXw3yYJeOF/ioLr/tUV+bfTlbk9AVQmglL47ctdebU+ZSIohd/6nPteAP9t+V8XPdN7ryIBaPpLi7CJj6HH/7JJwBt/i4Nr9vkXrybqSgTarJwT8XOPj1p77c/1yc/ba/x/+OK3BX9bhyX3q0kAgraUCJfiYwuG/2WSgFf+FgfX7s8JcZ+IT+nTNc4ptqb0wX8XgeXqV5UAhG1uEe4SH1sy/M+bBLzztziosTdRHWNrSp8u+1NsTemD/y4C89e7/zG4KQj6RGKKTfUZandou7HjGGp3aDv8jyMwF1eN4niP/3fp5wh+P3xMusevbWiRbT3tI19lwf+JTSv+5Xosdby6TwAGTm/WWzuosB/75sf/tvmPDTn9sZF+DO79E0Dpj7g+6nh3ll/uvu/T8YdiEjXZVzsVPe1T/m0B/tvyP63M8v92hNjyA5nDYy0RHiv+Nhf810kCUflbHAzZ6xFO/dSARNq246OgWSIohV/fC6jokdDyqSHVl8KvOrOp13nBf1v++Vos+XrVCUAgrxXhqeJji4j/65JAdP4WB317Xe3rUUz74TdLAtrrD7ck8vYcf/mFcP6IqCUCtdEnCism/F2fKvDflr+t09L71ScAAZ0qwteKjy0m/qclgbXwtzgYsj8nxCbkpfCbPfviNU8E1qdP+M2G7fH/PBEYyyX42zostd9EAhDMsSJcS3xsIfE/Lgmsjb/FwdB9KcT6IzEJ/aWSJ4J/S1f/+jQhO1MK/p8mgqX5T1mzKX1W+RRQF4ihojK0XZefrvqhdoe26/LTVT/U7tB2XX666ofaHdquy09X/VC7Q9t1+alZb0LcJ/65T7XV7aSp4p/bwv+JZSv++VrM8XpTCUAA+97cfeevXYQ++33n8X8dgT6+feev805vCPgisLkEIPxdb/Ku+tpL1uWnqx7/dQl0ce6qr+sdaxDwQ2CTCUD4yzd7eTz3EpX+ymP8z0ug5F0ez+sd6xDwQWCzCUD47U1v+6WXxPzaHv/LEjDutl/WO94g0J7Ai/1+/67lMF7f37d0j28IQAACTQm8ubtr5n/iQ2L1xtty8vVmgSUIQAAC8Qhs+hZQvOVixBCAAATqESAB1GOJJQhAAAKhCJAAQi0Xg4UABCBQjwAJoB5LLEEAAhAIRYAEEGq5GCwEIACBegRIAPVYYgkCEIBAKAIkgFDLxWAhAAEI1CNAAqjHEksQgAAEQhEgAYRaLgYLAQhAoB4BEkA9lliCAAQgEIoACSDUcjFYCEAAAvUIkADqscQSBCAAgVAESAChlovBQgACEKhHgARQjyWWIAABCIQiQAIItVwMFgIQgEA9AiSAeiyxBAEIQCAUARJAqOVisBCAAATqESAB1GOJJQhAAAKhCJAAQi0Xg4UABCBQjwAJoB5LLEEAAhAIRYAEEGq5GCwEIACBegRIAPVYYgkCEIBAKAIkgFDLxWAhAAEI1CNAAqjHEksQgAAEQhEgAYRaLgYLAQhAoB4BEkA9lliCAAQgEIoACSDUcjFYCEAAAvUIkADqscQSBCAAgVAESAChlovBQgACEKhHgARQjyWWIAABCIQi8P8BDmNi5tZLD9IAAAAASUVORK5CYII=", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Using cpu device\n", "Wrapping the env with a `Monitor` wrapper\n", "Wrapping the env in a DummyVecEnv.\n", "Wrapping the env in a VecTransposeImage.\n", "-----------------------------------\n", "| info/ | |\n", "| no_shield_action | 0 |\n", "| sum_opened_door | 0 |\n", "| sum_picked_up | 0 |\n", "| sum_ran_into_lava | 0 |\n", "| sum_reached_goal | 2 |\n", "| rollout/ | |\n", "| ep_len_mean | 186 |\n", "| ep_rew_mean | 0.2 |\n", "| time/ | |\n", "| fps | 194 |\n", "| iterations | 1 |\n", "| time_elapsed | 10 |\n", "| total_timesteps | 2048 |\n", "-----------------------------------\n" ] } ], "source": [ "GRID_TO_PRISM_BINARY=os.getenv(\"M2P_BINARY\")\n", "import gymnasium as gym\n", "\n", "\n", "def mask_fn(env: gym.Env):\n", " return env.create_action_mask()\n", "\n", "def nomask_fn(env: gym.Env):\n", " return [1.0] * 7\n", "\n", "def main():\n", " # Edit 'environments/Minigrid/minigrid/envs/GSW_Playground.py' to alter the environment\n", " env = \"MiniGrid-GSW-v0\"\n", "\n", " # TODO Change the safety specification\n", " formula = \"Pmax=? [G !AgentIsOnLava]\"\n", " value_for_training = 1.0\n", " shield_comparison = \"absolute\"\n", " shielding = ShieldingConfig.Training\n", " \n", " logger = Logger(\"/tmp\", output_formats=[HumanOutputFormat(sys.stdout)])\n", " \n", "\n", " env = gym.make(env, render_mode=\"rgb_array\")\n", " image_env = RGBImgObsWrapper(env, TILE_PIXELS)\n", " env = RGBImgObsWrapper(env, 8)\n", " env = ImgObsWrapper(env)\n", " env = MiniWrapper(env)\n", "\n", " \n", " env.reset()\n", " Image.fromarray(env.render()).show()\n", " \n", " shield_handlers = dict()\n", " if shield_needed(shielding):\n", " for value in [0.9, 0.99, 0.999, 0.9999, 1.0]:\n", " shield_handler = MiniGridShieldHandler(GRID_TO_PRISM_BINARY, \"grid.txt\", \"grid.prism\", formula, shield_value=value, shield_comparison=shield_comparison, nocleanup=True, prism_file=None)\n", " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handler, create_shield_at_reset=False)\n", " create_shield_overlay_image(image_env, shield_handler.create_shield())\n", " print(f\"The shield for shield_value = {value}\")\n", "\n", " shield_handlers[value] = shield_handler\n", "\n", "\n", " if shielding == ShieldingConfig.Training:\n", " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handler, create_shield_at_reset=False)\n", " env = ActionMasker(env, mask_fn)\n", " print(\"Training with shield:\")\n", " create_shield_overlay_image(image_env, shield_handlers[value_for_training].create_shield())\n", " elif shielding == ShieldingConfig.Disabled:\n", " env = ActionMasker(env, nomask_fn)\n", " else:\n", " assert(False) \n", " model = MaskablePPO(\"CnnPolicy\", env, verbose=1, device=\"auto\")\n", " model.set_logger(logger)\n", " steps = 20_000\n", "\n", " \n", " model.learn(steps,callback=[InfoCallback()])\n", "\n", "\n", "\n", "if __name__ == '__main__':\n", " print(\"Starting the training\")\n", " main()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }