filaPro / visda2019

MixMatch Domain Adaptation: Prize-winning solution for both tracks of VisDA 2019 challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This codebase contains the implementation of our (with @denemmy) solution for VisDA 2019 challenge. Our team got 2nd place on final leaderboard of multi-source track (with accuracy: .716), and 3rd place of semi-supervised (with accuracy: .713). This solution heavily borrows ideas from MixMatch (arxiv, github) and EfficientNet (arxiv, github).

The technical report is published on arxiv.

Installation

Just clone this repo, update PYTHONPATH and install requirements.txt throw pip. The code was tested on ubuntu 16.04 with python 3.6, cuda 10.0, cudnn 7.5. You may also need wget and unzip packages to download data.

Data preparation

Download and convert images to .tfrecords:

python scripts/download.py
python scripts/convert_to_tfrecords.py

The resulting structure of data directory is shown in docs/structure.md.

Training example

python runners/source_semi_supervised.py

The growth of accuracy on sketch domain will be displayed at stdout and in log file. The arguments of all scripts are listed in docs/arguments.md.

Achieving leaderboard accuracy

Follow the instructions in docs/solution.md.

About

MixMatch Domain Adaptation: Prize-winning solution for both tracks of VisDA 2019 challenge

License:Other


Languages

Language:Python 100.0%