Metadata-Version: 2.1
Name: spatial-correlation-sampler
Version: 0.0.5
Summary: Correlation module for pytorch
Home-page: https://github.com/ClementPinard/Pytorch-Correlation-extension
Author: Clément Pinard
Author-email: clement.pinard@ensta-paristech.fr
License: UNKNOWN
Description: # Correlation module
        
        this is a custom C++/Cuda implementation of Correlation module, used e.g. in [FlowNetC](https://arxiv.org/abs/1504.06852)
        
        This [tutorial](http://pytorch.org/tutorials/advanced/cpp_extension.html) was used as a basis for implementation.
        
        - Build and Install C++ and CUDA extensions by executing `python setup.py install`,
        - Benchmark C++ vs. CUDA by running `python benchmark.py {cpu, cuda}`,
        - Run gradient checks on the code by running `python grad_check.py --backend {cpu, cuda}`.
        
        # Requirements
        
        This module is expected to compile for Pytorch `0.4.1`, on `Python > 3.5` and `Python 2.7`.
        
        # Installation
        
        this module is available on pip
        
        `pip install spatial-correlation-sampler`
        
        # Benchmark
        
         * default parameters are from `benchmark.py`, FlowNetC parameters are same as use in `FlowNetC` with a batch size of 4, described in [this paper](https://arxiv.org/abs/1504.06852), implemented [here](https://github.com/lmb-freiburg/flownet2) and [here](https://github.com/NVIDIA/flownet2-pytorch/blob/master/networks/FlowNetC.py).
         * Feel free to file an issue to add entries to this with your hardware !
        
        ## CUDA Benchmark
        
         * See [here](https://gist.github.com/ClementPinard/270e910147119831014932f67fb1b5ea) for a benchmark script working with [NVIDIA](https://github.com/NVIDIA/flownet2-pytorch/tree/master/networks/correlation_package)'s code, and Pytorch `0.3`.
         * Benchmark are launched with environment variable `CUDA_LAUNCH_BLOCKING` set to `1`.
         * Only `float32` is benchmarked.
        
         | implementation | Correlation parameters |  device |     pass |   min time |   avg time |
         | -------------- | ---------------------- | ------- | -------- | ---------: | ---------: |
         |           ours |                default | 980 GTX |  forward |  24.912 ms |  25.202 ms |
         |           ours |                default | 980 GTX | backward | 148.341 ms | 148.827 ms |
         |         NVIDIA |                default | 980 GTX |  forward |  80.743 ms |  81.534 ms |
         |         NVIDIA |                default | 980 GTX | backward | 423.968 ms | 425.396 ms |
         |                |                        |         |          |            |            |
         |           ours |               FlowNetC | 980 GTX |  forward |   6.888 ms |   7.578 ms |
         |           ours |               FlowNetC | 980 GTX | backward |  28.558 ms |  28.984 ms |
         |         NVIDIA |               FlowNetC | 980 GTX |  forward |   8.640 ms |   8.805 ms |
         |         NVIDIA |               FlowNetC | 980 GTX | backward |  75.757 ms |  76.873 ms |
        
        ## CPU Benchmark
        
          * No other implementation is avalaible on CPU.
        
         | Correlation parameters |               device |     pass |    min time |    avg time |
         | ---------------------- | -------------------- | -------- | ----------: | ----------: |
         |                default | E5-2630 v3 @ 2.40GHz |  forward |  618.303 ms |  626.618 ms |
         |                default | E5-2630 v3 @ 2.40GHz | backward | 1052.563 ms | 1083.407 ms |
         |               FlowNetC | E5-2630 v3 @ 2.40GHz |  forward |  339.769 ms |  354.526 ms |
         |               FlowNetC | E5-2630 v3 @ 2.40GHz | backward |  776.335 ms |  785.781 ms |
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Description-Content-Type: text/markdown
