当前位置: 首页 > news >正文

文字生成图片

文章目录

  • 摘要
  • PaddleHub能力简介
  • 文心ERNIE-ViLG介绍
  • 配置环境
  • 模型加载推理
  • Prompt 设计原则

摘要

根据文字生成图像,是近几年大模型领域比较热门的研究。我这篇文章主要记录如何使用百度的文心大模型实现文字生成图像。

PaddleHub能力简介

PaddleHub旨在为开发者提供丰富的、高质量的、直接可用的预训练模型

  • 【模型种类丰富】: 涵盖大模型、CV、NLP、Audio、Video、工业应用主流六大品类的 360+ 预训练模型,全部开源下载,离线可运行
  • 【超低使用门槛】:无需深度学习背景、无需数据与训练过程,可快速使用AI模型
  • 【一键模型快速预测】:通过一行命令行或者极简的Python API实现模型调用,可快速体验模型效果
  • 【一键模型转服务化】:一行命令,搭建深度学习模型API服务化部署能力
  • 【十行代码迁移学习】:十行代码完成图片分类、文本分类的迁移学习任务
  • 【跨平台兼容性】:可运行于Linux、Windows、MacOS等多种操作系统

文心ERNIE-ViLG介绍

文心ERNIE-ViLG参数规模达到100亿,是目前为止全球最大规模中文跨模态生成模型,在文本生成图像、图像描述等跨模态生成任务上效果全球领先,在图文生成领域MS-COCO、COCO-CN、AIC-ICC等数据集上取得最好效果。你可以输入一段文本描述以及生成风格,模型就会根据输入的内容自动创作出符合要求的图像。

目前ERNIE-ViLG的文心大模型API已经登入PaddleHub,只需通过4行代码就能实现强大的图文生成能力! 你可以输入一段文本描述以及生成风格,模型就会根据输入的内容自动创作出符合要求的图像。
例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置环境

1、安装PaddlePaddle
链接:https://www.paddlepaddle.org.cn/
在这里插入图片描述
如果只是为了体验图文生成的功能,可以安装CPU版本。

conda install paddlepaddle==2.3.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/

更详细的安装步骤:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/conda/windows-conda.html#anchor-0
2、安装PaddleHub

pip install --upgrade paddlehub
pip install docarray

模型加载推理

新建个python脚本,插入下面的代码即可生成图像。

import paddlehub as hub
from docarray import DocumentArray,Document

erniv_vilg_module=hub.Module(name='ernie_vilg')

result=erniv_vilg_module.generate_image(text_prompts='香山,天鹅,亭子,古风,枫叶,概念艺术',style='水彩',output_dir='./output')

DocumentArray([Document().load_pil_image_to_datauri(image) for image in result[:6]]).plot_image_sprites()

参数:

  • text_prompts(str): 输入的语句,描述想要生成的图像的内容。
  • style(Optional[str]): 生成图像的风格,当前支持’油画’,‘水彩’,‘粉笔画’,‘卡通’,‘儿童画’,‘蜡笔画’。
    还有一些其他风格也是支持的,比如:
    二次元、浮世绘、蒸汽波艺术、low poly、像素风格、概念艺术、未来主义、赛博朋克、写实风格、洛丽塔风格、巴洛克风格、超现实主义等。
  • topk(Optional[int]): 保存前多少张图,最多保存10张。
  • output_dir(Optional[str]): 保存输出图像的目录,默认为"ernievilg_output"。

返回

  • images(List(PIL.Image)): 返回生成的所有图像列表,PIL的Image格式。

Prompt 设计原则

Prompt:简单原则:清楚地陈述 除了公式之外,也有一些简单的prompt设计原则分享给大家

这里的第一条原则是 要清楚的陈述

例如我们如果是简单的输入 风景的话,往往模型不知道我们想要的风景是什么样子的

我们要去尽量的幻想我们风景的样子,然后变成语言描述

例如我想想的是日落时,海边的风景

那我就构造了prompt

进一步的,我想风格化我的图像,所以我在结尾的部分,增加了 胶片感来让图片的色彩更加好看一些

但是云彩的细节丢失了一些

进一步的我再增加天边巨大云朵这一个细节,让我的图片朝着我想要的样子靠的更进一步
详见:https://wenxin.baidu.com/wenxin/docs#Ol7ece95m
下面举几个例子:

1、火焰,凤凰,少女,未来感,高清,3d, 精致面容,cg感,古风,唯美,毛发细致,全身立绘

result=erniv_vilg_module.generate_image(text_prompts='火焰,凤凰,少女,未来感,高清,3d, 精致面容,cg感,古风,唯美,毛发细致,全身立绘',style='古风',output_dir='./output')

输出结果:
在这里插入图片描述
2、巨狼,飘雪,蓝色大片烟雾,毛发细致,烟雾缭绕,高清,3d,cg感,侧面照

result=erniv_vilg_module.generate_image(text_prompts='巨狼,飘雪,蓝色大片烟雾,毛发细致,烟雾缭绕,高清,3d,cg感,侧面照',style='写实风格',output_dir='./output')

在这里插入图片描述
如果不想安装环境也可以在百度的网站上体验,链接:
https://wenxin.baidu.com/moduleApi/ernieVilg

相关文章:

  • HTTPS的原理浅析与本地开发实践(下)
  • java-多态
  • 一、CSS文本样式[文本基础、文本样式、段落控制]
  • Nginx网络服务的配置
  • m基于随机接入代价的异构网络速率分配算法matlab仿真(包括matlab仿真录像)
  • 【VUE的Form表单】使用v-if切换控件时,表单校验不生效
  • EnumWindowsProc
  • SSL安全证书:免费的SSL证书申请渠道有哪些?
  • SQL语言---数据的查询
  • 建模杂谈系列162 APIFunc: 可靠的复杂函数开发3
  • nslookup命令的常见用法
  • 如果你也想在linux中删除指定行
  • 掩码和反掩码的使用场景
  • QT案例实战1 - 从零开始编写一个OCR工具软件 (3)创建项目
  • FFmpeg入门详解之68:FFmpeg4.3的开发环境搭建
  • [LeetCode] Wiggle Sort
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • css的样式优先级
  • CSS中外联样式表代表的含义
  • dva中组件的懒加载
  • ECMAScript6(0):ES6简明参考手册
  • JavaScript异步流程控制的前世今生
  • Just for fun——迅速写完快速排序
  • Python打包系统简单入门
  • Vue.js源码(2):初探List Rendering
  • WebSocket使用
  • 大数据与云计算学习:数据分析(二)
  • 简单数学运算程序(不定期更新)
  • 开发基于以太坊智能合约的DApp
  • 利用DataURL技术在网页上显示图片
  • 那些被忽略的 JavaScript 数组方法细节
  • 普通函数和构造函数的区别
  • 七牛云假注销小指南
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 突破自己的技术思维
  • 网页视频流m3u8/ts视频下载
  • 我看到的前端
  • 新手搭建网站的主要流程
  • 优秀架构师必须掌握的架构思维
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #include到底该写在哪
  • (libusb) usb口自动刷新
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)项目管理杂谈-我所期望的新人
  • .net refrector
  • .net 流——流的类型体系简单介绍
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .sdf和.msp文件读取