Awesome
:warning: I have helped integrate DSNT into Kornia (from v0.1.4). New users are advised to use that implementation instead of this one. Existing users should note that the "normalised" coordinate system differs between the two implementations (see https://github.com/anibali/dsntnn/issues/15).
PyTorch DSNT
This repository contains the official implementation of the differentiable spatial to numerical (DSNT) layer and related operations.
$ pip install dsntnn
Usage
Please refer to the basic usage guide.
Scripts
Running examples
$ python3 setup.py examples
HTML reports will be saved in the examples/
directory. Please note that the dsntnn
package must
be installed with pip install
for the examples to run correctly.
Building documentation
$ mkdocs build
Running tests
Note: The dsntnn package must be installed before running tests.
$ pytest # Run tests.
$ pytest --cov=dsntnn --cov-report=html # Run tests and generate a code coverage report.
Other implementations
- Tensorflow: ashwhall/dsnt
- Be aware that this particular implementation represents coordinates in the (0, 1) range, as opposed to the (-1, 1) range used here and in the paper.
If you write your own implementation of DSNT, please let me know so that I can add it to the list. I would also greatly appreciate it if you could add the following notice to your implementation's README:
Code in this project implements ideas presented in the research paper "Numerical Coordinate Regression with Convolutional Neural Networks" by Nibali et al. If you use it in your own research project, please be sure to cite the original paper appropriately.
License and citation
(C) 2017 Aiden Nibali
This project is open source under the terms of the Apache License 2.0.
If you use any part of this work in a research project, please cite the following paper:
@article{nibali2018numerical,
title={Numerical Coordinate Regression with Convolutional Neural Networks},
author={Nibali, Aiden and He, Zhen and Morgan, Stuart and Prendergast, Luke},
journal={arXiv preprint arXiv:1801.07372},
year={2018}
}