clyclegana / docs /README_es.md
wangbaoyuan's picture
1
384ed5c
|
raw
history blame
16.4 kB




CycleGAN y pix2pix en PyTorch

Implementacion en PyTorch de Unpaired Image-to-Image Translation.

Este codigo fue escrito por Jun-Yan Zhu y Taesung Park, y con ayuda de Tongzhou Wang.

Esta implementacion de PyTorch produce resultados comparables o mejores que nuestros original software de Torch. Si te gustaria producir los mismos resultados que en documento oficial, echa un vistazo al codigo original CycleGAN Torch y pix2pix Torch

Aviso: El software actual funciona correctamente en PyTorch 0.41+. Para soporte en PyTorch 0.1-0.3: branch.

Puede encontrar informaci贸n 煤til en training/test tips y preguntas frecuentes. Para implementar modelos y conjuntos de datos personalizados, consulte nuestro templates. Para ayudar a los usuarios a comprender y adaptar mejor nuestra base de c贸digo, proporcionamos un overview de la estructura de c贸digo de este repositorio.

CycleGAN: Proyecto | PDF | Torch | Guia de Tensorflow Core | PyTorch Colab

Pix2pix: Proyeto | PDF | Torch | Guia de Tensorflow Core | PyTorch Colab

EdgesCats Demo | pix2pix-tensorflow | por Christopher Hesse

Si usa este c贸digo para su investigaci贸n, cite:

Unpaired Image-to-Image Translation usando Cycle-Consistent Adversarial Networks.
Jun-Yan Zhu*, Taesung Park*, Phillip Isola, Alexei A. Efros. In ICCV 2017. (* contribucion igualitaria) [Bibtex]

Image-to-Image Translation usando Conditional Adversarial Networks.
Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros. In CVPR 2017. [Bibtex]

Charlas y curso

Presentacion en PowerPoint de Pix2pix: keynote | pdf, Presentacion en PowerPoint de CycleGAN: pptx | pdf

Asignaci贸n del curso CycleGAN codigo y handout dise帽ado por el Prof. Roger Grosse for CSC321 "Intro to Neural Networks and Machine Learning" en la universidad de Toronto. P贸ngase en contacto con el instructor si desea adoptarlo en su curso.

Colab Notebook

TensorFlow Core CycleGAN Tutorial: Google Colab | Codigo

Guia de TensorFlow Core pix2pix : Google Colab | Codigo

PyTorch Colab notebook: CycleGAN y pix2pix

Otras implementaciones

CycleGAN

[Tensorflow] (por Harry Yang), [Tensorflow] (por Archit Rathore), [Tensorflow] (por Van Huy), [Tensorflow] (por Xiaowei Hu), [Tensorflow-simple] (por Zhenliang He), [TensorLayer] (por luoxier), [Chainer] (por Yanghua Jin), [Minimal PyTorch] (por yunjey), [Mxnet] (por Ldpe2G), [lasagne/Keras] (por tjwei), [Keras] (por Simon Karlsson)

pix2pix

[Tensorflow] (por Christopher Hesse), [Tensorflow] (por Eyy眉b Sariu), [Tensorflow (face2face)] (por Dat Tran), [Tensorflow (film)] (por Arthur Juliani), [Tensorflow (zi2zi)] (por Yuchen Tian), [Chainer] (por mattya), [tf/torch/keras/lasagne] (por tjwei), [Pytorch] (por taey16)

Requerimientos

  • Linux o macOS
  • Python 3
  • CPU o NVIDIA GPU usando CUDA CuDNN

Inicio

Instalaci贸n

  • Clone este repositorio:
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
  • Instale PyTorch 0.4+ y sus otras dependencias (e.g., torchvision, visdom y dominate).
    • Para uso de pip, por favor escriba el comando pip install -r requirements.txt.
    • Para uso de Conda, proporcionamos un script de instalaci贸n ./scripts/conda_deps.sh. De forma alterna, puede crear un nuevo entorno Conda usando conda env create -f environment.yml.
    • Para uso de Docker, Proporcionamos la imagen Docker y el archivo Docker preconstruidos. Por favor, consulte nuestra p谩gina Docker.

CycleGAN entreanimiento/test

  • Descargar el dataset de CycleGAN (e.g. maps):
bash ./datasets/download_cyclegan_dataset.sh maps
  • Para ver los resultados del entrenamiento y las gr谩ficas de p茅rdidas, python -m visdom.server y haga clic en la URL http://localhost:8097.
  • Entrenar el modelo:
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

Para ver m谩s resultados intermedios, consulte ./checkpoints/maps_cyclegan/web/index.html.

  • Pruebe el modelo:
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

-Los resultados de la prueba se guardar谩n en un archivo html aqu铆: ./results/maps_cyclegan/latest_test/index.html.

pix2pix entrenamiento/test

  • Descargue el dataset de pix2pix (e.g.facades):
bash ./datasets/download_pix2pix_dataset.sh facades
  • Para ver los resultados del entrenamiento y las gr谩ficas de p茅rdidas python -m visdom.server, haga clic en la URL http://localhost:8097.
  • Para entrenar el modelo:
#!./scripts/train_pix2pix.sh
python train.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

Para ver m谩s resultados intermedios, consulte ./checkpoints/facades_pix2pix/web/index.html.

  • Pruebe el modelo (bash ./scripts/test_pix2pix.sh):
#!./scripts/test_pix2pix.sh
python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA
  • Los resultados de la prueba se guardar谩n en un archivo html aqu铆: ./results/facades_pix2pix/test_latest/index.html. Puede encontrar m谩s scripts en scripts directory.
  • Para entrenar y probar modelos de colorizaci贸n basados en pix2pix, agregue la linea --model colorization y --dataset_mode colorization. Para m谩s detalles de nuestro entrenamiento tips.

Aplicar un modelo pre-entrenado (CycleGAN)

  • Puedes descargar un modelo previamente entrenado (e.g. horse2zebra) con el siguiente script:
bash ./scripts/download_cyclegan_model.sh horse2zebra
  • El modelo pre-entrenado se guarda en ./checkpoints/{name}_pretrained/latest_net_G.pth. Revise aqui para todos los modelos CycleGAN disponibles.

  • Para probar el modelo, tambi茅n debe descargar el dataset horse2zebra:

bash ./datasets/download_cyclegan_dataset.sh horse2zebra
  • Luego genere los resultados usando:
python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout
  • La opcion --model test ise usa para generar resultados de CycleGAN de un solo lado. Esta opci贸n configurar谩 autom谩ticamente --dataset_mode single, carga solo las im谩genes de un conjunto. Por el contrario, el uso de --model cycle_gan requiere cargar y generar resultados en ambas direcciones, lo que a veces es innecesario. Los resultados se guardar谩n en ./results/. Use --results_dir {directory_path_to_save_result} para especificar el directorio de resultados.

  • Para sus propios experimentos, es posible que desee especificar --netG, --norm, --no_dropout para que coincida con la arquitectura del generador del modelo entrenado.

Aplicar un modelo pre-entrenado (pix2pix)

Descargue un modelo pre-entrenado con ./scripts/download_pix2pix_model.sh.

  • Revise aqui para todos los modelos pix2pix disponibles. Por ejemplo, si desea descargar el modelo label2photo en el dataset:
bash ./scripts/download_pix2pix_model.sh facades_label2photo
  • Descarga el dataset facades de pix2pix:
bash ./datasets/download_pix2pix_dataset.sh facades
  • Luego genere los resultados usando:
python test.py --dataroot ./datasets/facades/ --direction BtoA --model pix2pix --name facades_label2photo_pretrained
  • Tenga en cuenta que --direction BtoA como Facades dataset's, son direcciones A o B para etiquetado de fotos.

  • Si desea aplicar un modelo previamente entrenado a una colecci贸n de im谩genes de entrada (en lugar de pares de im谩genes), use la opcion --model test. Vea ./scripts/test_single.sh obre c贸mo aplicar un modelo a Facade label maps (almacenados en el directorio facades/testB).

  • Vea una lista de los modelos disponibles actualmente en ./scripts/download_pix2pix_model.sh

Docker

Proporcionamos la imagen Docker y el archivo Docker preconstruidos que pueden ejecutar este repositorio de c贸digo. Ver docker.

Datasets

Descargue los conjuntos de datos pix2pix / CycleGAN y cree sus propios conjuntos de datos.

Entretanimiento/Test Tips

Las mejores pr谩cticas para entrenar y probar sus modelos.

Preguntas frecuentes

Antes de publicar una nueva pregunta, primero mire las preguntas y respuestas anteriores y los problemas existentes de GitHub.

Modelo y Dataset personalizado

Si planea implementar modelos y conjuntos de datos personalizados para sus nuevas aplicaciones, proporcionamos un conjunto de datos template y un modelo template como punto de partida.

Estructura de codigo

Para ayudar a los usuarios a comprender mejor y usar nuestro c贸digo, presentamos brevemente la funcionalidad e implementaci贸n de cada paquete y cada m贸dulo.

Solicitud de Pull

Siempre puede contribuir a este repositorio enviando un pull request. Por favor ejecute flake8 --ignore E501 . y python ./scripts/test_before_push.py antes de realizar un Pull en el c贸digo, asegure de tambi茅n actualizar la estructura del c贸digo overview en consecuencia si agrega o elimina archivos.

Citaci贸n

Si utiliza este c贸digo para su investigaci贸n, cite nuestros documentos.

@inproceedings{CycleGAN2017,
  title={Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networkss},
  author={Zhu, Jun-Yan and Park, Taesung and Isola, Phillip and Efros, Alexei A},
  booktitle={Computer Vision (ICCV), 2017 IEEE International Conference on},
  year={2017}
}


@inproceedings{isola2017image,
  title={Image-to-Image Translation with Conditional Adversarial Networks},
  author={Isola, Phillip and Zhu, Jun-Yan and Zhou, Tinghui and Efros, Alexei A},
  booktitle={Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on},
  year={2017}
}

Proyectos relacionados

CycleGAN-Torch | pix2pix-Torch | pix2pixHD| BicycleGAN | vid2vid | SPADE/GauGAN
iGAN | GAN Dissection | GAN Paint

Cat Paper Collection

Si amas a los gatos y te encanta leer gr谩ficos geniales, computer vision y documentos de aprendizaje, echa un vistazo a Cat Paper Collection.

Agradecimientos

Nuestro c贸digo fue inspirado en pytorch-DCGAN.