continual-foragax 0.34.0__tar.gz → 0.35.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/PKG-INFO +1 -1
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/pyproject.toml +2 -2
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/PKG-INFO +1 -1
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/env.py +10 -5
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/objects.py +9 -1
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/registry.py +21 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/tests/test_registry.py +57 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/README.md +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/setup.cfg +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/SOURCES.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/dependency_links.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/entry_points.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/requires.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/top_level.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/__init__.py +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/colors.py +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100897.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100928.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100929.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100930.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID100931.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106714.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106715.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106716.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106717.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106718.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106930.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106931.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106932.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106933.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106934.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106935.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106936.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106937.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106938.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106939.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106940.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106941.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106942.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106943.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106994.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106995.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106996.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106997.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106998.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID106999.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107000.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107001.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107002.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107003.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107004.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107005.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107006.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107007.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107008.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107009.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107010.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107011.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107012.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107013.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107014.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107015.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107016.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107017.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107018.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107019.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107020.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107021.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107022.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107023.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107024.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107025.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107026.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107027.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107028.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107029.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107030.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107031.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107032.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107033.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107034.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107035.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107036.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107037.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107038.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107039.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107040.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107041.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107042.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107043.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107044.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107045.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107046.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107047.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107048.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107049.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107050.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107051.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107052.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107053.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107054.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107055.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107056.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107057.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107058.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107059.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107060.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107061.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107062.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107063.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107064.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107065.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107066.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107067.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107068.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107069.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107070.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID107071.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115808.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID115812.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID146811.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156831.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156835.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156839.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156843.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156847.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156851.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156855.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156859.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156863.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156867.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156871.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156875.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156879.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156883.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/TG_SOUID156887.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/elements.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/metadata.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/data/ECA_non-blended_custom/sources.txt +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/rendering.py +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/foragax/weather.py +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/tests/test_benchmark.py +0 -0
- {continual_foragax-0.34.0 → continual_foragax-0.35.0}/tests/test_foragax.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "continual-foragax"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.35.0"
|
|
4
4
|
description = "A continual reinforcement learning benchmark"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -30,7 +30,7 @@ build-backend = "setuptools.build_meta"
|
|
|
30
30
|
[tool]
|
|
31
31
|
[tool.commitizen]
|
|
32
32
|
name = "cz_conventional_commits"
|
|
33
|
-
version = "0.
|
|
33
|
+
version = "0.35.0"
|
|
34
34
|
tag_format = "$version"
|
|
35
35
|
version_files = ["pyproject.toml"]
|
|
36
36
|
|
|
@@ -690,11 +690,16 @@ class ForagaxEnv(environment.Environment):
|
|
|
690
690
|
|
|
691
691
|
num_biomes = self.biome_object_frequencies.shape[0]
|
|
692
692
|
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
693
|
+
if isinstance(self.biome_consumption_threshold, float):
|
|
694
|
+
# Compute consumption rates for all biomes
|
|
695
|
+
consumption_rates = biome_state.consumption_count / jnp.maximum(
|
|
696
|
+
1.0, biome_state.total_objects.astype(float)
|
|
697
|
+
)
|
|
698
|
+
should_respawn = consumption_rates >= self.biome_consumption_threshold
|
|
699
|
+
else:
|
|
700
|
+
should_respawn = (
|
|
701
|
+
biome_state.consumption_count >= self.biome_consumption_threshold
|
|
702
|
+
)
|
|
698
703
|
|
|
699
704
|
# Split key for all biomes in parallel
|
|
700
705
|
key, subkey = jax.random.split(key)
|
|
@@ -240,6 +240,7 @@ class FourierObject(BaseForagaxObject):
|
|
|
240
240
|
color: Tuple[int, int, int] = (0, 0, 0),
|
|
241
241
|
reward_delay: int = 0,
|
|
242
242
|
max_reward_delay: Optional[int] = None,
|
|
243
|
+
regen_delay: Optional[Tuple[int, int]] = None,
|
|
243
244
|
):
|
|
244
245
|
if max_reward_delay is None:
|
|
245
246
|
max_reward_delay = reward_delay
|
|
@@ -248,13 +249,14 @@ class FourierObject(BaseForagaxObject):
|
|
|
248
249
|
blocking=False,
|
|
249
250
|
collectable=True,
|
|
250
251
|
color=color,
|
|
251
|
-
random_respawn=
|
|
252
|
+
random_respawn=True,
|
|
252
253
|
max_reward_delay=max_reward_delay,
|
|
253
254
|
expiry_time=None,
|
|
254
255
|
)
|
|
255
256
|
self.num_fourier_terms = num_fourier_terms
|
|
256
257
|
self.base_magnitude = base_magnitude
|
|
257
258
|
self.reward_delay_val = reward_delay
|
|
259
|
+
self.regen_delay_range = regen_delay
|
|
258
260
|
|
|
259
261
|
def get_state(self, key: jax.Array) -> jax.Array:
|
|
260
262
|
"""Generate random Fourier series parameters.
|
|
@@ -353,6 +355,9 @@ class FourierObject(BaseForagaxObject):
|
|
|
353
355
|
|
|
354
356
|
def regen_delay(self, clock: int, rng: jax.Array) -> int:
|
|
355
357
|
"""No individual regeneration - returns infinity."""
|
|
358
|
+
if self.regen_delay_range is not None:
|
|
359
|
+
min_delay, max_delay = self.regen_delay_range
|
|
360
|
+
return jax.random.randint(rng, (), min_delay, max_delay)
|
|
356
361
|
return jnp.iinfo(jnp.int32).max
|
|
357
362
|
|
|
358
363
|
def expiry_regen_delay(self, clock: int, rng: jax.Array) -> int:
|
|
@@ -709,6 +714,7 @@ def create_fourier_objects(
|
|
|
709
714
|
num_fourier_terms: int = 10,
|
|
710
715
|
base_magnitude: float = 1.0,
|
|
711
716
|
reward_delay: int = 0,
|
|
717
|
+
regen_delay: Optional[Tuple[int, int]] = None,
|
|
712
718
|
):
|
|
713
719
|
"""Create HOT and COLD FourierObject instances.
|
|
714
720
|
|
|
@@ -726,6 +732,7 @@ def create_fourier_objects(
|
|
|
726
732
|
base_magnitude=base_magnitude,
|
|
727
733
|
color=(0, 0, 0),
|
|
728
734
|
reward_delay=reward_delay,
|
|
735
|
+
regen_delay=regen_delay,
|
|
729
736
|
)
|
|
730
737
|
|
|
731
738
|
cold = FourierObject(
|
|
@@ -734,6 +741,7 @@ def create_fourier_objects(
|
|
|
734
741
|
base_magnitude=base_magnitude,
|
|
735
742
|
color=(0, 0, 0),
|
|
736
743
|
reward_delay=reward_delay,
|
|
744
|
+
regen_delay=regen_delay,
|
|
737
745
|
)
|
|
738
746
|
|
|
739
747
|
return hot, cold
|
|
@@ -104,6 +104,21 @@ ENV_CONFIGS: Dict[str, Dict[str, Any]] = {
|
|
|
104
104
|
"dynamic_biomes": True,
|
|
105
105
|
"biome_consumption_threshold": 0.9,
|
|
106
106
|
},
|
|
107
|
+
"ForagaxDiwali-v2": {
|
|
108
|
+
"size": (15, 15),
|
|
109
|
+
"aperture_size": None,
|
|
110
|
+
"objects": None,
|
|
111
|
+
"biomes": (
|
|
112
|
+
# Hot biome
|
|
113
|
+
Biome(start=(0, 2), stop=(15, 6), object_frequencies=(0.5, 0.0)),
|
|
114
|
+
# Cold biome
|
|
115
|
+
Biome(start=(0, 9), stop=(15, 13), object_frequencies=(0.0, 0.5)),
|
|
116
|
+
),
|
|
117
|
+
"nowrap": False,
|
|
118
|
+
"deterministic_spawn": True,
|
|
119
|
+
"dynamic_biomes": True,
|
|
120
|
+
"biome_consumption_threshold": 200,
|
|
121
|
+
},
|
|
107
122
|
"ForagaxTwoBiome-v1": {
|
|
108
123
|
"size": (15, 15),
|
|
109
124
|
"aperture_size": None,
|
|
@@ -539,6 +554,12 @@ def make(
|
|
|
539
554
|
num_fourier_terms=10,
|
|
540
555
|
reward_delay=reward_delay,
|
|
541
556
|
)
|
|
557
|
+
if env_id == "ForagaxDiwali-v2":
|
|
558
|
+
config["objects"] = create_fourier_objects(
|
|
559
|
+
num_fourier_terms=10,
|
|
560
|
+
reward_delay=reward_delay,
|
|
561
|
+
regen_delay=(9, 11),
|
|
562
|
+
)
|
|
542
563
|
|
|
543
564
|
if env_id == "ForagaxSineTwoBiome-v1":
|
|
544
565
|
biome1_oyster, biome1_deathcap, biome2_oyster, biome2_deathcap = (
|
|
@@ -586,6 +586,63 @@ def test_foragax_diwali_v1_creation():
|
|
|
586
586
|
assert jnp.all(state.biome_state.generation == 0), "Initial generation should be 0"
|
|
587
587
|
|
|
588
588
|
|
|
589
|
+
def test_foragax_diwali_v2_creation():
|
|
590
|
+
"""Test that ForagaxDiwali-v2 can be created and initialized."""
|
|
591
|
+
env = make("ForagaxDiwali-v2", observation_type="object", aperture_size=(5, 5))
|
|
592
|
+
|
|
593
|
+
# Check that dynamic biomes are enabled
|
|
594
|
+
assert env.dynamic_biomes, "Dynamic biomes should be enabled for ForagaxDiwali-v2"
|
|
595
|
+
assert env.biome_consumption_threshold == 200, "Threshold should be 200"
|
|
596
|
+
assert env.num_fourier_terms == 10, "Should have 10 Fourier terms"
|
|
597
|
+
|
|
598
|
+
# Check that objects are FourierObjects
|
|
599
|
+
assert isinstance(env.objects[1], FourierObject), (
|
|
600
|
+
"First object should be FourierObject"
|
|
601
|
+
)
|
|
602
|
+
assert isinstance(env.objects[2], FourierObject), (
|
|
603
|
+
"Second object should be FourierObject"
|
|
604
|
+
)
|
|
605
|
+
|
|
606
|
+
# Check regen_delay for objects
|
|
607
|
+
assert env.objects[1].regen_delay_range == (9, 11), (
|
|
608
|
+
"Object 1 should have regen_delay_range (9, 11)"
|
|
609
|
+
)
|
|
610
|
+
assert env.objects[2].regen_delay_range == (9, 11), (
|
|
611
|
+
"Object 2 should have regen_delay_range (9, 11)"
|
|
612
|
+
)
|
|
613
|
+
|
|
614
|
+
# Initialize environment
|
|
615
|
+
key = jax.random.key(0)
|
|
616
|
+
obs, state = env.reset(key, env.default_params)
|
|
617
|
+
|
|
618
|
+
# Check state has new fields
|
|
619
|
+
assert hasattr(state, "object_state"), "State should have object_state"
|
|
620
|
+
assert hasattr(state.object_state, "color"), "ObjectState should have color"
|
|
621
|
+
assert hasattr(state.object_state, "state_params"), (
|
|
622
|
+
"ObjectState should have state_params"
|
|
623
|
+
)
|
|
624
|
+
assert hasattr(state, "biome_state"), "State should have biome_state"
|
|
625
|
+
assert hasattr(state.biome_state, "consumption_count"), (
|
|
626
|
+
"BiomeState should have consumption_count"
|
|
627
|
+
)
|
|
628
|
+
assert hasattr(state.biome_state, "total_objects"), (
|
|
629
|
+
"BiomeState should have total_objects"
|
|
630
|
+
)
|
|
631
|
+
assert hasattr(state.biome_state, "generation"), "BiomeState should have generation"
|
|
632
|
+
|
|
633
|
+
# Check shapes
|
|
634
|
+
chex.assert_shape(state.object_state.color, (15, 15, 3))
|
|
635
|
+
chex.assert_shape(
|
|
636
|
+
state.object_state.state_params, (15, 15, 22)
|
|
637
|
+
) # 2 + 2*10 = 22 params
|
|
638
|
+
chex.assert_shape(state.biome_state.consumption_count, (2,)) # 2 biomes
|
|
639
|
+
chex.assert_shape(state.biome_state.total_objects, (2,))
|
|
640
|
+
chex.assert_shape(state.biome_state.generation, (2,))
|
|
641
|
+
|
|
642
|
+
# Check initial generation is 0
|
|
643
|
+
assert jnp.all(state.biome_state.generation == 0), "Initial generation should be 0"
|
|
644
|
+
|
|
645
|
+
|
|
589
646
|
def test_foragax_sine_twobiome_v1_creation():
|
|
590
647
|
"""Test that ForagaxSineTwoBiome-v1 can be created and initialized."""
|
|
591
648
|
env = make("ForagaxSineTwoBiome-v1", observation_type="color", aperture_size=(5, 5))
|
|
File without changes
|
|
File without changes
|
{continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/requires.txt
RENAMED
|
File without changes
|
{continual_foragax-0.34.0 → continual_foragax-0.35.0}/src/continual_foragax.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|