32 lines
692 B
Markdown
32 lines
692 B
Markdown
|
# PyTorch Point-cloud Earth-Mover-Distance (EMD) Implementation
|
||
|
|
||
|
## Dependency
|
||
|
|
||
|
The code has been tested on Ubuntu 16.04, PyTorch 1.1.0, CUDA 9.0.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
First compile using
|
||
|
|
||
|
python setup.py install
|
||
|
|
||
|
Then, copy the lib file out to the main directory,
|
||
|
|
||
|
cp build/lib.linux-x86_64-3.6/emd_cuda.cpython-36m-x86_64-linux-gnu.so .
|
||
|
|
||
|
Then, you can use it by simply
|
||
|
|
||
|
from emd import earth_mover_distance
|
||
|
d = earth_mover_distance(p1, p2, transpose=False) # p1: B x N1 x 3, p2: B x N2 x 3
|
||
|
|
||
|
Check `test_emd_loss.py` for example.
|
||
|
|
||
|
## Author
|
||
|
|
||
|
The cuda code is originally written by Haoqiang Fan. The PyTorch version is modified by Kaichun Mo.
|
||
|
|
||
|
## License
|
||
|
|
||
|
MIT
|
||
|
|