LibreAI / Image / contrastive-unpaired-translation
// image · taesungp/contrastive-unpaired-translation

contrastive-unpaired-translation

contrastive-unpaired-translation est un projet de image open source, créé par taesungp (taesungp/contrastive-unpaired-translation sur GitHub). Il compte 2 556 étoiles sur GitHub et 452 forks, il est publié sous la licence NOASSERTION et a été mis à jour pour la dernière fois sur GitHub le 5 septembre 2023.

CUT — contrastive unpaired image-to-image translation in PyTorch, faster and lighter than CycleGAN (ECCV 2020)

★ 2,6 k étoiles⑂ 452 forksNOASSERTIONmis à jour sept. 2023
▦ visuel — le README de ce projet ne contient aucune capture intégrable,
voici donc un emplacement réservé. Le guide ci-dessous est complet malgré tout.
// détails du projet

Détails du projet

Étoiles GitHub
2 556
Forks
452
Licence
NOASSERTION
Dernière mise à jour sur GitHub
5 septembre 2023
Catégorie
Image
Type de fiche
Guide d'installation complet
Site officiel
Official site
// fonctionnement

Comment ça marche

  1. Clarify your goal

    Gather two unpaired image collections (domains A and B) — e.g. horses and zebras — or download one of the provided datasets; decide CUT vs FastCUT vs single-image SinCUT.

  2. Clone the repo

    Clone into a folder named CUT, as the README's getting-started shows.

  3. Install dependencies

    pip install -r requirements.txt (or conda env create -f environment.yml); optionally start a visdom server to watch training.

  4. Train and test

    Download a dataset with the provided script, train with train.py, then generate results with test.py — or skip training using the pretrained models and launcher scripts.

// fonctionnalités

Pourquoi on l'adore

PatchNCE contrastive loss

Patchwise contrastive learning ties corresponding patches of input and output together, replacing cycle consistency and its inverse network.

Faster, lighter than CycleGAN

The authors report faster training and lower memory than CycleGAN, with stronger distribution matching in their experiments.

FastCUT variant

A lighter configuration (no identity loss, higher lambda_NCE) described as using half the GPU memory and training twice as fast as CycleGAN.

Single-image translation (SinCUT)

Each 'domain' can be just one image, using StyleGAN2-based components adopted in the repo.

Pretrained models

Downloadable pretrained checkpoints (Cityscapes, Horse2Zebra, Cat2Dog) with launcher scripts and FID evaluation instructions.

Launcher scripts

Experiment launchers generate the long train/test command lines for the provided datasets.

Advertisement
// lancez-le

Lancez-le vous-même

  1. Clone the repo

    Clone CUT into a directory named CUT, as the README shows.

    git clone https://github.com/taesungp/contrastive-unpaired-translation.git
    cd contrastive-unpaired-translation
  2. Install dependencies

    Install PyTorch and the other requirements with pip (or use the conda environment file).

    pip install -r requirements.txt
  3. Train and test

    Download the example dataset, train CUT, then run the test script.

    bash ./datasets/download_cut_dataset.sh grumpifycat
    python train.py --dataroot ./datasets/grumpifycat --name grumpycat_CUT --CUT_mode CUT
    python test.py --dataroot ./datasets/grumpifycat --name grumpycat_CUT --CUT_mode CUT --phase train
// cas d'usage

Ce que vous pouvez créer

CUT exists because of the work it streamlines: the unpaired translation problem was defined by CycleGAN, in the classic PyTorch codebase that also carries pix2pix — still the implementation most translation projects are measured against.

Advertisement
// faq

Questions fréquentes

Who maintains CUT?

The authors — Taesung Park, Alexei A. Efros, Richard Zhang and Jun-Yan Zhu (UC Berkeley / Adobe Research) — published it with their ECCV 2020 paper.

Is it free?

The code is public research code; GitHub lists its license as NOASSERTION, so read the repository's license file before reusing it commercially.

Does it need a paid API key?

No — training and inference run locally in PyTorch on your own GPU.

How does it compare to CycleGAN?

CycleGAN enforces cycle consistency with a second generator. CUT uses a contrastive PatchNCE loss instead, which the authors show trains faster with less memory; FastCUT is the even lighter option.

How do I get started?

Clone, pip install -r requirements.txt, download the grumpifycat dataset, and run the train.py command from the README.

// continuez l'exploration

Outils similaires

Image

pytorch-CycleGAN-and-pix2pix

The classic PyTorch implementation of CycleGAN and pix2pix for image-to-image translation

★ 25,3 k étoilesNOASSERTION
Voir le guide →
Image

diffusers

🤗 Diffusers: State-of-the-art diffusion models for image, video, and audio generation in PyTorch.

★ 34,6 k étoilesApache-2.0
Voir le guide →
Image

DragGAN

Unofficial DragGAN implementation: drag points on a GAN image to edit it interactively

★ 4,9 k étoilesNOASSERTION
Voir le guide →
Image

EcomGen

Local-first AI e-commerce image suite generator for solo sellers

★ 133 étoilesMIT
Voir le guide →
Image

pollinations-image-lab

Modern AI image lab on Pollinations.ai — models, seeds, history, transparency

★ 117 étoilesMIT
Voir le guide →
Image

pixelshift-editor

Desktop image editor with AI effects, built for modern apps

★ 114 étoilesCustom
Voir le guide →
// alternatives

Alternatives en Image

Les autres projets de la catégorie Image avec le plus d'étoiles du catalogue LibreAI — la sélection réaliste d'alternatives si contrastive-unpaired-translation ne vous convient pas.

// plus en image

Plus en Image

Projets de la catégorie Image proches dans le catalogue, les plus proches en étoiles de contrastive-unpaired-translation — continuez à explorer de part et d'autre.

Obtenir contrastive-unpaired-translation

Gratuit et ouvert : récupérez le code source, mettez une étoile au dépôt et commencez à créer.