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

contrastive-unpaired-translation

contrastive-unpaired-translation es un proyecto de imagen de código abierto de taesungp (taesungp/contrastive-unpaired-translation en GitHub). Tiene 2.556 estrellas en GitHub y 452 bifurcaciones, se publica bajo la licencia NOASSERTION y se actualizó por última vez en GitHub el 5 de septiembre de 2023.

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

★ 2,6k estrellas⑂ 452 bifurcacionesNOASSERTIONactualizado sep 2023
▦ visual: el README de este proyecto no incluye ninguna captura incrustable,
así que aquí va un marcador. La guía de abajo está completa de todos modos.
// datos del proyecto

Datos del proyecto

Estrellas en GitHub
2.556
Bifurcaciones
452
Licencia
NOASSERTION
Última actualización en GitHub
5 de septiembre de 2023
Categoría
Imagen
Tipo de ficha
Guía de instalación completa
Sitio oficial
Official site
// cómo funciona

Cómo funciona

  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.

// características

Por qué gusta tanto

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
// ejecútalo

Ejecútalo tú mismo

  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
// casos de uso

Qué puedes crear

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
// preguntas frecuentes

Preguntas frecuentes

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.

// sigue explorando

Herramientas similares

Imagen

pytorch-CycleGAN-and-pix2pix

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

★ 25,3k estrellasNOASSERTION
Ver la guía →
Imagen

diffusers

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

★ 34,6k estrellasApache-2.0
Ver la guía →
Imagen

DragGAN

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

★ 4,9k estrellasNOASSERTION
Ver la guía →
Imagen

EcomGen

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

★ 133 estrellasMIT
Ver la guía →
Imagen

pollinations-image-lab

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

★ 117 estrellasMIT
Ver la guía →
Imagen

pixelshift-editor

Desktop image editor with AI effects, built for modern apps

★ 114 estrellasCustom
Ver la guía →
// alternativas

Alternativas en Imagen

Los demás proyectos de Imagen con más estrellas del catálogo de LibreAI: la lista realista de alternativas si contrastive-unpaired-translation no es lo que buscas.

// más en image

Más en Imagen

Proyectos de Imagen cercanos en el catálogo, los más próximos en estrellas a contrastive-unpaired-translation: sigue explorando a ambos lados.

Consigue contrastive-unpaired-translation

Gratis y abierto: consigue el código fuente, dale una estrella al repositorio y empieza a crear.