目录

前言

项目结构

页面交互调整

总结


前言

最近Text-To-Image是一个很火的话题,甚至更进一步的Text-To-Video话题度也在不断上升。最近看到一个开源项目FlagAI,是目前我觉着效果比较好的项目之一。安装操作简单,支持中英文,这就很nice。

项目开源地址:github地址

下面是我用项目demo跑出的效果,大家可以看一下。

输入的文本:

Anime portrait of natalie portman as an anime girl by stanley artgerm lau, wlop, rossdraws, james jean, andrei riabovitchev, marc simonetti, and sakimichan, trending on artstation

翻译一下,乱七八糟的人名,动漫肖像女孩,大概是这样。

项目结构

在ReadMe中,作者不但提供了快速上手的可以使用的中英文预训练模型。

还有分词器、预测器的操作说明。

我先打开作者给我们的样例代码。

使用的方式很简单,生成图片的方法为:predictor.predict_generate_images,代码看上去十分简单移动。作者给出的安装说明如下:

OK,我把样例代码改一下,改成可页面交互方式,方便使用。

页面交互调整

代码如下:

import torch
from flagai.auto_model.auto_loader import AutoLoader
from flagai.model.predictor.predictor import Predictor
from PIL import Image
import gradio as gr
import os
import shutil# Initialize
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")loader = AutoLoader(task_name="text2img",  # contrastive learningmodel_name="AltDiffusion",model_dir="./checkpoints")model = loader.get_model()
model.eval()
model.to(device)
predictor = Predictor(model)def handle(text: str):if not os.path.isdir("./AltDiffusionOutputs"):os.mkdir("./AltDiffusionOutputs")else:shutil.rmtree("./AltDiffusionOutputs")predictor.predict_generate_images(text)imgs = []for s in os.listdir("./AltDiffusionOutputs/samples"):imgs.append(Image.open(os.path.join("./AltDiffusionOutputs/samples", s)))return imgsif __name__ == '__main__':demo = gr.Interface(fn=handle, inputs=gr.Text(),outputs=[gr.Image(type="pil"), gr.Image(type="pil"),gr.Image(type="pil"), gr.Image(type="pil")])demo.launch(server_name="0.0.0.0", server_port=12003)

除了项目要求的安装内容,需要额外安装gradio。

安装命令如下:

pip install gradio -i https://pypi.douban.com/simple

第一次执行会在当前目录下创建checkpoints文件夹,下载预训练模型,耗时比较久。

第二次执行后结果如下

******************** text2img altdiffusion
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 64, 64) = 16384 dimensions.
making attention of type 'vanilla' with 512 in_channels
******************** txt_img_matching altclip-xlmr-l
model files:['config.json', 'pytorch_model.bin', 'tokenizer.json', 'tokenizer_config.json', 'preprocessor_config.json', 'special_tokens_map.json']
./checkpoints/AltCLIP-XLMR-L
Global Step: 143310
Running on local URL:  http://0.0.0.0:12003

To create a public link, set `share=True` in `launch()`.

通过浏览器打开页面:http://localhost:12003

输入需要生成图片的文字,然后点击submit。

我们用中文试试看这次输入的是:坐落在迷幻森林里的庙宇,周围有着满是红色枫叶的枫树。

我们看一下执行的效果

该demo方法会默认生成4张图,我们一起看一下。

第一眼看我还以为是照片,下面我简化操作过程,看下生成的几个效果。

文本:一个有天使翅膀的动漫女孩

文本:国画风格

总结

项目整体效果个人感觉还是不错的,其中英文还是稍微比中文理解的更好一些。大家可以自己摸索尝试一下。

最近太忙,很少写文章。有不少人微信联系我,问我这个文章那个文章的安装部署问题,我也没太多时间一一回复。我写这些文章不是为了给自己带来什么收入,主要是抛砖引玉给大家分享,还是希望大家多自己摸索,会收获更多。

分享:

曲则全,枉则直,洼则盈,敝则新,少则得,多则惑。是以圣人抱一,为天下式。不自见故明,不自是故彰,不自伐故有功,不自矜故长。夫唯不争,故天下莫能与之争。古之所谓曲则全者,岂虚言哉!诚全而归之。——《道德经》

一句话生成图片,FlagAI使用(附页面操作代码) | 机器学习相关推荐

  1. 页面加密代码,附效果演示

    页面加密代码,附效果演示 效果演示: <!doctype html><!--小小鱼儿小小林--><html> <head> <body>&l ...

  2. 各种页面刷新代码大全,asp/javascript刷新页面代码

    页面自动刷新代码大全,基本上所有要求自动刷新页面的代码都有,大家可以自由发挥做出完美的页面. 1) 10表示间隔10秒刷新一次 2) <script> window.location.re ...

  3. JQuery+ajax实现省市区三级联动(附:补充代码内容)

    省市区三级联动的实现(附:补充代码) 有了下面的代码,别忘了导入需要的jar包,用到的jar包到网上都能找到. 如果觉得不错,就点个赞!谢谢观望!! ##  1.效果图 ##  2.jsp页面,nov ...

  4. Pytorch LSTM实现中文单词预测(附完整训练代码)

    Pytorch LSTM实现中文单词预测(附完整训练代码) 目录 Pytorch LSTM实现中文单词预测(词语预测 附完整训练代码) 1.项目介绍 2.中文单词预测方法(N-Gram 模型) 3.训 ...

  5. 【机器视觉案例】(5) AI视觉,手势调节物体尺寸,附python完整代码

    各位同学好,今天和大家分享一下如何使用opencv+mediapipe完成远程手势调节图片尺寸的案例.先放张图看效果.当拇指和食指竖起时,根据食指间的连线的长度自由缩放图片尺寸.图片的中点始终位于指尖 ...

  6. 【深度学习】(2) 数据加载,前向传播2,附python完整代码

    生成数据集: tf.data.Dataset.from_tensor_slices(tensor变量) 创建一个数据集,其元素是给定张量的切片 生成迭代器: next(iter()) next() 返 ...

  7. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  8. 【机器学习入门】(10) 特征工程:特征抽取,字典特征抽取、文本特征抽取,附完整python代码

    各位同学好,今天和大家介绍一下python机器学习中的特征工程.在将数据放入模型之前,需要对数据的一些特征进行特征抽取,方法有: (1) 字典特征抽取 DictVectorizer(),(2) 文本特 ...

  9. 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集

    各位同学好,今天和大家分享一下python机器学习中的决策树算法,在上一节中我介绍了决策树算法的基本原理,这一节,我将通过实例应用带大家进一步认识这个算法.文末有完整代码和数据集,需要的自取.那我们开 ...

最新文章

  1. CAS KVM 虚拟机的保护与恢复
  2. 一年的第几周怎么算_部编版一年级下册第7课《怎么都快乐》图文讲解+知识点梳理...
  3. react ajax 分页,一款简单的react分页组件
  4. Win7+Ubuntu双系统启动项修复总结
  5. 4,postman和newman的联合使用
  6. JavaScript DOM 编程艺术 --- JavaScript语法
  7. Docker小白到实战之Docker Compose在手,一键足矣
  8. 采取监测记录网络运行状态_广播播控监测自动化系统改造探析
  9. Gentle中的数据表实体类相关自定义属性的设置和获得
  10. python null怎么表示_[Python] @NotNull装饰器如何写比较好?
  11. 2020-03-25 赵子清汇编语言教程
  12. 日常推荐大神操作,如何再oracle中delete数据后恢复
  13. 顶点计划:丢垃圾讨论
  14. html三级链表,二叉链表怎么画
  15. Java开发工程简历模板
  16. 华为崔景龙:FNV是下一代MBB网络演进的技术驱动
  17. 可三维成像(16,32线等)激光雷达调研
  18. 网站百度竞价有展现,点击无咨询原因
  19. 测试udp端口通不通linux,windows Centos ubuntu debian等测试UDP端口协议的连通性
  20. 【Android开发】Android基本UI组件

热门文章

  1. 项目协作管理平台-teambition和tapd--深度体验
  2. springboot整合jett导出数据(2)
  3. SAP Local WebIDE Access denied
  4. ps保存图片logo背景透明
  5. vue——router更改路由地址,但是页面不能跳转
  6. 大咖面对面 | 燕雀安知Suji之志
  7. Tapestry 4.1.3学习心得
  8. 《最终幻想》《古墓丽影》发行商Square Enix开始涉足NFTs和区块链游戏
  9. debian8文件服务器,debian 8 下部署开发环境
  10. 打印论文是单面还是双面?