Home

Awesome

Sliced Wasserstein Discrepancy for Unsupervised Domain Adaptation in PyTorch

This is a PyTorch re-implementation of CVPR 2019 paper "Sliced Wasserstein Discrepancy for Unsupervised Domain Adaptation" from Apple.

If you find this repository helpful, please consider to cite the original paper.

Introduction

This repository aims to reproduce the results presented in the official repository. Thus, only a basic implementation on intertwining moons 2D dataset is provided here.

Requirements

This code is tested under Ubuntu 16.04 with Python 3.6 and PyTorch 1.1.0. A GPU is NOT required to run this code.

Running the code

To run the demo with adaptation:

python swd_pytorch.py -mode adapt_swd

To run the demo without adaptation:

python swd_pytorch.py -mode source_only

Interpreting Outputs

Outputs will be saved as png and gif files in the current folder for each mode. The outputs show the source and target samples with the current decision boundary. Blue and red points are source samples of class 0 and 1. Target samples are represented by green points.  <br /> <img src="assets/outputs.gif" height="200">

Acknowledgement

ml-cvpr2019-swd (Official implementation in Tensorflow)