首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

christmAIs-用文本生成抽象图案

【christmAIs:用文本生成(节日贺卡上的)抽象图案】《Let AI design your holiday cards!》

项目介绍:https://stories.thinkingmachin.es/ai-art-holiday-cards/

GitHub地址:https://github.com/thinkingmachines/christmAIs

ChristmAIs(读音:“krees-ma-ees”)是一个能(在假期里)用文本生成抽象艺术图案的项目。

本项目可以通过以下方式将任何输入的字符串转换为抽象艺术:

使用GloVe找到Quick,Draw!中最相似的类;

使用叫做Sketch-RNN的变分自动编码器(VAE)绘制与之最接近的类;

以及将神经样式转移应用于生成的图像

生成的结果大概如下:

设置与安装

请注意requirements.txt和requirements-dev.txt适用于所有与Python相关的依赖项。 值得注意的依赖项包括:

numpy==1.14.2

scikit_learn==0.20.0

Pillow==5.3.0

matplotlib==2.1.0

tensorflow

gensim

magenta

你可以在Dockerfile中看到构建步骤(我们用来在云环境中执行自动构建的步骤)。对于本地开发,建议设置一个虚拟环境。为此,只需运行以下命令:

自动安装

我们创建了一个自动安装脚本,以便在工作区中执行一键安装设置。 要运行该脚本,请执行以下命令:

source venv/bin/activate# Highly recommended./install-christmais.sh

此步骤将会首先安装 magenta 及其依赖项,下载文件依赖项(categories.txt, model.ckpt和chromedriver),然后克隆并安装此软件包。

手动安装

如果需要手动安装,请按照以下指示进行操作:

安装 magenta

样式转换功能依赖于magenta包。目前,magenta只支持Linux和Mac OS。要安装magenta,您可以执行自动安装或执行以下步骤:

#Install OS dependenciesapt-getupdate && \apt-getinstall -y build-essential libasound2-dev libjack-dev#Install magentavenv/bin/pip install magenta

安装其他的部分

然后,你可以在requirements.txt中安装其余的依赖项。如果你已通过make venv创建虚拟环境,我们建议你只需运行以下命令:

makebuild#or`make dev`

这也将(通过 wget )下载以下文件:

categories.txt(683 B):包含Quick,Draw的列表! 比较字符串的类别(将保存在./categories/categories.txt)。

arbitrary_style_transfer.tar.gz(606.20 MB):包含样式传输的模型检查点(将保存在./ckpt/model.ckpt)。

chromedriver(5.09 MB):包含用于访问Sketch-RNN的HTML输出的Web驱动程序(将保存在./webdriver/chromedriver中)。

生成文档

确保已安装所有dev依赖项:

然后才能构建出实际的文档

cdchristmAIs/docs/makehtml

运行命令后会生成一个index.html的文件,在浏览器打开就能浏览

运用

我们提供了一个脚本christmais_time.py来轻松生成你的个性化Quick,Draw! 图片。 要使用它,只需运行以下命令:

如果您按照上面的设置说明操作,那么路径的默认值就足够了,您只需要提供--input, --style和--output.

举个例子,假设我想使用字符串Thinking Machines作为Ang KiukokFisherman风格的基础(ang_kiukok.jpg),那么,我的命令将如下所示:

python -m christmais.tasks.christmais_time \ --input="Thinking Machines"\--style=./path/to/ang_kiukok.png \--output=tmds-output

然后就会生成并输出图片到./artifacts/:

参考资料

Pennington, Jeffrey, Socher, Richard, et al. (2014). “Glove: Global Vectors for Word Representation”. In:Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1532-1543.

Ha, David and Eck, Douglas (2017). “A Neural Representation of Sketch Drawings”. In:arXiv.:1704.03477.

Ghiasi, Golnaz et al. (2017). “Exploring the structure of real-time, arbitrary neural artistic stylization network”. In:arxiv:1705.06830.

Magenta demonstration (sketch-rnn.js):

https://github.com/hardmaru/magenta-demos/tree/master/sketch-rnn-js

【AI求职百题斩】每日挑战又双叒叕更新啦,赶紧来看题吧!

想知道正确答案?

回公众号聊天界面并发送“1227挑战”即可获取!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181227A1633M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券