

## Implementations for "Joint Feature and Differentiable $ k $-NN Graph Learning using Dirichlet Energy"



### Dependencies

> numpy==1.21.5
> torch==1.13.1
> scipy==1.7.3
> matplotlib==3.5.1
> munkres==1.1.4
> sklearn

The codes are tested under `Debian 11`.




We provide the implementations of three experiments in our original paper.

1. **Smoothness illustrations** in Fig. 1: Just run  `plot_smoothness.ipynb`.
2. **Toy experiments** in Section 4.2: The results are generated by the codes in `Exp_toys`, where we already provide some result files. You can run the codes in `Exp_toys` again to generate these results, or directly run `plot_toy_results.ipynb` to see the toy visualizations based on these mat files.
3. **Quantitative Analysis** in Section 4.3: We provide the codes in `Exp_FS`, see `readme_FS.md` for detailed information.





