pytorch-AdaIN
这是一篇论文《使用自适应实例归一化实现实时任意风格迁移》[Huang+, ICCV2017]的非官方 PyTorch 实现。 我非常感谢作者在 Torch 上的原始实现,它非常有用。
要求
请通过 pip install -r requirements.txt
安装所需依赖
- Python 3.5+
- PyTorch 0.4+
- TorchVision
- Pillow
(可选,用于训练)
- tqdm
- TensorboardX
使用方法
下载模型
从发布页下载 decoder.pth / vgg_normalized.pth 并将它们放在 models/
目录下。
测试
使用 --content
和 --style
分别提供内容图像和风格图像的路径。
CUDA_VISIBLE_DEVICES=<gpu_id> python test.py --content input/content/cornell.jpg --style input/style/woman_with_hat_matisse.jpg
你也可以使用 --content_dir
和 --style_dir
在内容和风格图像的目录上运行代码。它将保存内容和风格的所有可能组合到输出目录。
CUDA_VISIBLE_DEVICES=<gpu_id> python test.py --content_dir input/content --style_dir input/style
这是通过指定 --style
和 --style_interpolation_weights
选项混合四种风格的示例。
CUDA_VISIBLE_DEVICES=<gpu_id> python test.py --content input/content/avril.jpg --style input/style/picasso_self_portrait.jpg,input/style/impronte_d_artista.jpg,input/style/trial.jpg,input/style/antimonocromatismo.jpg --style_interpolation_weights 1,1,1,1 --content_size 512 --style_size 512 --crop
其他一些选项:
--content_size
:内容图像的新(最小)尺寸。如果设置为 0 则保持原始尺寸。--style_size
:风格图像的新(最小)尺寸。如果设置为 0 则保持原始尺寸。--alpha
:调整风格化程度。应该是介于 0.0 和 1.0(默认)之间的值。--preserve_color
:保留内容图像的颜色。
训练
使用 --content_dir
和 --style_dir
分别提供内容和风格图像的目录。
CUDA_VISIBLE_DEVICES=<gpu_id> python train.py --content_dir <content_dir> --style_dir <style_dir>
有关更多详细信息和参数,请参阅 --help 选项。
我在发布页上分享了由此代码训练的模型 iter_1000000.pth
。
参考文献
- [1]: X. Huang and S. Belongie. "Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization.", in ICCV, 2017.
- [2]: Torch 原始实现