Git Product home page Git Product logo

nbp's Introduction

Neural Beacon Placement

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

Arxiv Link: https://arxiv.org/abs/1703.08612

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/config.py - 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:

unzip path_to_pretrained_models.zip
cd src
python gen_test_data.py ../maps/map1.txt #~200MB for each map
python eval_model.py anneal_map1
python gen_viz.py 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 gen_train_data.py ../maps/map1.txt #~3GB for each map
python run.py 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 svg2txt.py 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 gen_train_data.py path_to_map.txt
python gen_test_data.py path_to_map.txt

Then, in an experiment file, set:

MAPFILE = "path_to_map.txt"

nbp's People

Contributors

cbschaff avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.