Skip to content
Translate images to unseen domains in the test time with few example images.
Branch: master
Clone or download
Latest commit 019d7d5 May 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
configs add README May 8, 2019
docs Update petswap.html May 21, 2019
.gitignore add README May 8, 2019 add README May 8, 2019 add README May 8, 2019

License CC BY-NC-SA 4.0 Python 3.7

FUNIT: Few-Shot Unsupervised Image-to-Image Translation

animal swap gif

Project page | Paper | FUNIT Explained | PetSwap Demo Video | Have fun with PetSwap

Few-shot Unsueprvised Image-to-Image Translation
Ming-Yu Liu, Xun Huang, Arun Mallya, Tero Karras, Timo Aila, Jaakko Lehtinen, and Jan Kautz.
In arXiv 2019.


Copyright (C) 2019 NVIDIA Corporation.

All rights reserved. Licensed under the CC BY-NC-SA 4.0 (Attribution-NonCommercial-ShareAlike 4.0 International)

The code is released for academic research use only. For commercial use, please contact


  • Clone this repo git clone
  • Install CUDA10.1+
  • Install cuDNN7.5
  • Install Anaconda3
  • Install required python pakcages
    • conda install -y pytorch torchvision cudatoolkit=10.0 -c pytorch

To reproduce the results reported in the paper, you would need an NVIDIA DGX1 machine with 8 V100 GPUs.

Dataset Preparation

Animal Face Dataset

We are releasing the Animal Face dataset. If you use this dataset in your publication, please cite the FUNIT paper.

cd dataset
tar xvf ILSVRC2012_img_train.tar
  • The training images should be in datasets/ILSVRC/Data/CLS-LOC/train. Now, extract the animal face images by running
python tools/ datasets/ILSVRC/Data/CLS-LOC/train --output_folder datasets/animals --coor_file datasets/animal_face_coordinates.txt
  • The animal face images should be in datasets/animals. Note there are 149 folders. Each folder contains images of one animal kind. The number of images of the dataset is 117,484.
  • We use 119 animal kinds for training and the ramining 30 animal kinds for evaluation.

Training New Models

Once the animal face dataset is prepared, you can train an animal face translation model by running

python --config configs/funit_animals.yaml

For training a model for a different task, please create a new config file based on the example config.


If you use this code for your research, please cite our papers.

  title={Few-shot Unsueprvised Image-to-Image Translation},
  author={Ming-Yu Liu and Xun Huang and Arun Mallya and Tero Karras and Timo Aila and Jaakko Lehtinen and Jan Kautz.},
You can’t perform that action at this time.