# Software

## Packages

Mauve (Documentation)
A package to compute the Mauve score for neural text generation. Install as pip install mauve-text. It is also supported via the HuggingFace Datasets package.

SQwash (Documentation)
Distributionally robust learning in PyTorch with 1 additional line of code. Install as pip install sqwash.

Geom-Median
Fast and Differentiable Geometric Median in PyTorch and NumPy. Install as pip install geom-median.

Casimir (Documentation)
A toolbox of selected optimization algorithms for unstructured tasks such as binary classification, and structured prediction tasks such as visual object localization and named entity recognition.

RFA TensorFlow Federated Implementation of robust aggregation for federated learning using the geometric median.

## Code to reproduce results from papers

Mauve Experiments: Implementation of Mauve and other similarity measures for neural text generation. Reproduce results from this paper.

RFA and PyTorch port tRFA: Implementation of RFA, a robust aggregation algorithm for federated learning, in simulation. Reproduce results from this paper.

Simplicial-FL: Implementation of Simplicial-FL to handle device heterogeneity in federated learning, in simulation. Reproduce results from this paper.