No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Neural Beacon Placement

This code accompanies the paper Jointly Optimizing Placement and Inference for Beacon-based Localization.

Arxiv Link:

Dependencies: Numpy, Tensorflow, and Matplotlib (for visualizations)

Important Files:

src/experiments - This directory contains files defining the parameters for each experiment. Newly created experiment files should be placed here.

src/ - This file defines the paths used for saving data, model weights, and results.

Evaluate a pretrained model:

We provide 6 pretrained models you can use to reproduce our results. Download the models here.

To evaluate a model, run the following commands:

cd src
python ../maps/map1.txt #~200MB for each map
python anneal_map1
python anneal_map1

Replace "anneal_map1" with another experiment name to evaluate other models.

Since the propagation model is noisy, your numbers may differ slightly from ours.

Train a new model:

To train a new model, create a new experiment file in the src/experiments directory. Then, run the following commands:

cd src
python ../maps/map1.txt #~3GB for each map
python exp_name #Replace "exp_name" with the name of your experiment

Generate a new map:

To use a new map, convert the map to a .svg file. Then, run:

cd maps
python path_to_svg 25 25 > path_to_map.txt # creates an evenly spaced grid of 25 x 25 beacon locations

To use the map, first generate train and test data:

python path_to_map.txt
python path_to_map.txt

Then, in an experiment file, set:

MAPFILE = "path_to_map.txt"