{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/navix-scaling-minigrid-environments-with-jax","title":"NAVIX: Scaling MiniGrid Environments with JAX","arxiv_id":"2407.19396","date":"2024-07-28","proceeding":null,"authors":["Eduardo Pignatelli","Jarek Liesen","Robert Tjarko Lange","Chris Lu","Pablo Samuel Castro","Laura Toni"],"abstract":"As Deep Reinforcement Learning (Deep RL) research moves towards solving large-scale worlds, efficient environment simulations become crucial for rapid experimentation. However, most existing environments struggle to scale to high throughput, setting back meaningful progress. Interactions are typically computed on the CPU, limiting training speed and throughput, due to slower computation and communication overhead when distributing the task across multiple machines. Ultimately, Deep RL training is CPU-bound, and developing batched, fast, and scalable environments has become a frontier for progress. Among the most used Reinforcement Learning (RL) environments, MiniGrid is at the foundation of several studies on exploration, curriculum learning, representation learning, diversity, meta-learning, credit assignment, and language-conditioned RL, and still suffers from the limitations described above. In this work, we introduce NAVIX, a re-implementation of MiniGrid in JAX. NAVIX achieves over 200 000x speed improvements in batch mode, supporting up to 2048 agents in parallel on a single Nvidia A100 80 GB. This reduces experiment times from one week to 15 minutes, promoting faster design iterations and more scalable RL model development.","url_abs":"https://arxiv.org/abs/2407.19396v1","url_pdf":"https://arxiv.org/pdf/2407.19396v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"navix-scaling-minigrid-environments-with-jax","repo_url":"https://github.com/epignatelli/navix","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":null,"task_name":"CPU"},{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"meta-learning","task_name":"Meta-Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2407.19396","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.19396"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/epignatelli/navix","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0cb886a5040816ee","entry":"categorical_kl","repo":"epignatelli/navix","repo_kind":"official","path":"navix/agents/models.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/agents/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0cb886a5040816ee"}},{"code_sha256_prefix":"08d7716969571f07","entry":"coordinates","repo":"epignatelli/navix","repo_kind":"official","path":"navix/grid.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/grid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"08d7716969571f07"}},{"code_sha256_prefix":"8baa2d1b3a965700","entry":"coordinates_from_idx","repo":"epignatelli/navix","repo_kind":"official","path":"navix/grid.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/grid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8baa2d1b3a965700"}},{"code_sha256_prefix":"78338016bc57d3e0","entry":"field","repo":"epignatelli/navix","repo_kind":"official","path":"navix/components.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/components.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"78338016bc57d3e0"}},{"code_sha256_prefix":"a6a3563b64257584","entry":"idx_from_coordinates","repo":"epignatelli/navix","repo_kind":"official","path":"navix/grid.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/grid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a6a3563b64257584"}},{"code_sha256_prefix":"babff6f579982c24","entry":"probe_hparam_field_stats","repo":"epignatelli/navix","repo_kind":"official","path":"navix/es.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/es.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"babff6f579982c24"}},{"code_sha256_prefix":"bf7f4b56213cfb45","entry":"sample_antithetic_candidates","repo":"epignatelli/navix","repo_kind":"official","path":"navix/es.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/es.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bf7f4b56213cfb45"}},{"code_sha256_prefix":"27056902b3134a1a","entry":"straight_through_sample","repo":"epignatelli/navix","repo_kind":"official","path":"navix/agents/models.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/agents/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"27056902b3134a1a"}},{"code_sha256_prefix":"bbd549a9780617e8","entry":"unimix_categorical","repo":"epignatelli/navix","repo_kind":"official","path":"navix/agents/models.py","file_url":"https://github.com/epignatelli/navix/blob/HEAD/navix/agents/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bbd549a9780617e8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}