神经风格转换(NST)的pytorch实现

pastiche的Python项目详细描述


粘贴

基于pytorch的python神经风格转换实现[1]。


功能

  • 支持在优化过程中保存中间图像
  • 保留内容图像颜色的选项

安装

要求
  • python 3.5或更高版本

安装

$ pip3 install pastiche

更新

$ pip3 install --upgrade pastiche

用法

该程序旨在从命令行使用。

一般命令行用法如下所示。

$ pastiche CONTENT STYLE OUTPUT

CONTENT是指向内容图像的路径,STYLE是指向样式图像的路径,OUTPUT是要保存的路径 合成的粘贴PNG文件。

有多种选择,包括但不限于:

  • 设备(CPU与GPU)
  • 优化迭代次数
  • 要利用的VGG层
  • 损失函数项权重

有关选项和相应文档的完整列表,请参见源代码或使用--help

$ pastiche --help

示例

上面的图片是通过将文森特·梵高的风格应用到我拍摄的照片上而生成的。 2015年波士顿。使用 从粗到细的方法,如[2]所述。命令如下所示。根据GPU内存的可用性, 命令可能需要在cpu上执行(--device cpu)。

$ pastiche \
    --num-steps 2000\
    boston.jpg \
    vangogh_starry_night.jpg \
    pastiche0.png

$ pastiche \
    --size 1024\
    --num-steps 1000\
    --init pastiche0.png \
    boston.jpg \
    vangogh_starry_night.jpg \
    pastiche1.png

$ pastiche \
    --size 2048\
    --num-steps 500\
    --init pastiche1.png \
    boston.jpg \
    vangogh_starry_night.jpg \
    pastiche2.png

$ pastiche \
    --size 4096\
    --num-steps 100\
    --init pastiche2.png \
    boston.jpg \
    vangogh_starry_night.jpg \
    pastiche3.png

$ convert pastiche3.png pastiche.jpg  # requires ImageMagick

--preserve-color选项可用于保留内容图像的颜色。下面的图像是生成的 使用与上面相同的命令(最多为--size 2048),并添加--preserve-color

许可证

源代码有一个MIT License

LICENSE

参考文献

[1]盖蒂、利昂A、亚历山大S.埃克和马提亚斯·贝奇。”艺术风格的神经算法。” ARXIV:1508.06576[CS,Q-BIO],2015年8月26日。http://arxiv.org/abs/1508.06576

[2]盖蒂,莱昂A,亚历山大S.埃克,马提亚斯·贝奇,亚伦·赫茨曼和伊莱·谢赫特曼。 《神经风格转换中知觉因素的控制》,ARXIV:1611.07865[CS],2016年11月23日。 http://arxiv.org/abs/1611.07865

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaI从另一个Jframe类B扩展了一个J帧类a,但在显示帧B时,它也在B中播放帧a   java适配器模式应用程序   使用并行流从java列表中获取Pojo,而不使用任何类型的索引   java更新文本文件中的双精度   java从webservice返回自定义对象   java在查找多个集合的交集时使用Retainal()的最快顺序   java如何在安卓社交媒体应用程序中应用用户对用户支付?   c代码能引发java异常吗?   Java数组填充了最后一个插槽中的内容   java JOOQ从大表中获取数据:良好实践   使用ApachePOI在JavaSwing中嵌入excel工作表   java如何使用枚举定义常量值组   java JavaFX将文本追加到TextArea引发异常   javascript JS在firefox中无法正常工作   java如何在同一片段中的片段打开后编辑该片段打开的活动中的值   对夏洛克的命令。py的解释不同于linux命令行和java进程api   php在Java中动态创建全局多维数组   html Java XML Transformer将“\n”替换为空格   Javac编译编码问题