Welcome to the world of Active Neural SLAM, a state-of-the-art model that combines exploration and mapping in an intelligent way. This PyTorch implementation offers an intriguing solution as illustrated in the ICLR-20 paper titled Learning To Explore Using Active Neural SLAM. In this blog, we will explore how to set up and utilize the Active Neural SLAM model effectively.
Overview of Active Neural SLAM
The Active Neural SLAM model is composed of three essential modules: a Global Policy, a Local Policy, and a Neural SLAM Module. Imagine navigating a new city. The Global Policy is like a tour guide giving you the broader routes and major attractions to aim for. The Local Policy is your mapping app that guides you through the immediate streets, providing turn-by-turn directions, while the Neural SLAM module acts as your eyes, processing the scenery and creating a real-time map based on what you see.


Installing Dependencies
To get started, you need to install the necessary dependencies:
- Habitat-sim:
- Clone the repository:
git clone https://github.com/facebookresearch/habitat-sim.git - Check out the specific commit:
cd habitat-sim; git checkout 9575dcd45fe6f55d2a44043833af08972a7895a9;
pip install -r requirements.txt; python setup.py install --headless
python setup.py install
- Clone the repository:
git clone https://github.com/facebookresearch/habitat-api.git
cd habitat-api; git checkout b5f2b00a25627ecb52b43b13ea96b05998d9a121;
pip install -e .
Setup Instructions
After dependencies are installed, clone the Active Neural SLAM repository and set up requirements:
git clone --recurse-submodules https://github.com/devendrachaplot/Neural-SLAM
cd Neural-SLAM; pip install -r requirements.txt
Ensure you have the dataset structured correctly in a data folder. The required structure mirrors that of habitat-api. Reference the data instructions for setup.
Usage Guidelines
Training the Model
To train the entire Active Neural SLAM model on the Exploration task, use the following command:
python main.py
Downloading Pre-trained Models
If you want to skip training and use pre-trained models, run the following commands:
mkdir pretrained_models; wget --no-check-certificate https://drive.google.com/uc?export=download&id=1UK2hT0GWzoTaVR5lAI6i8o27tqEmYeyY -O pretrained_models/model_best.global
wget --no-check-certificate https://drive.google.com/uc?export=download&id=1A1s_HNnbpvdYBUAiw2y1JmmELRLfAJb8 -O pretrained_models/model_best.local
wget --no-check-certificate https://drive.google.com/uc?export=download&id=1o5OG7DIUKZyvi5stozSqRpAEae1F2BmX -O pretrained_models/model_best.slam
Model Evaluation
To evaluate the pre-trained models, execute:
python main.py --split val --eval 1 --train_global 0 --train_local 0 --train_slam 0 --load_global pretrained_models/model_best.global --load_local pretrained_models/model_best.local --load_slam pretrained_models/model_best.slam
If you want to visualize the agent’s observations and the predicted map, add -v 1 as an argument.
Troubleshooting Tips
If you encounter issues during installation or execution, consider the following troubleshooting ideas:
- Double-check your Python and library versions to ensure they meet requirements.
- Inspect the data directory structure; it must match the expected format precisely.
- Examine error messages closely, as they often indicate what went wrong.
- Reach out to the community or the project maintainers for more specialized help.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
This implementation of Active Neural SLAM offers a cutting-edge solution to the exploration challenges in AI. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

