资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

ERNIE-ViLG 文生图预测

任务简介

  • 基于文心ERNIE-ViLG大模型,根据用户输入的文本,自动创作图像。

ERNIE预训练模型选择

文心提供的ERNIE预训练模型的参数文件和配置文件在 wenxin_appzoo/wenxin_appzoo/models_hub目录下,使用对应的sh脚本,即可拉取对应的模型文件。

目前支持ERNIE-ViLG文生图预测任务的模型为(图像分辨率:1024*1024、1536*1024、1024*1536):

模型名称 下载脚本 备注
ERNIE-ViLG (1024*1024) sh download_ernie_vilg_text2img_1024_1024_ch_infer.sh 模型文件与字典与ernie的配置文件存放于ernie_vilg_text2img_ch_infer_dir目录
ERNIE-ViLG
(1024*1536 or 1536*1024)
sh download_ernie_vilg_text2img_rectangle_ch_infer.sh 1.模型文件与字典与ernie的配置文件存放于ernie_vilg_text2img_ch_infer_dir目录,模型目录为rectangle_model
2.其中10241536 和 15361024都用该模型,所以做了软链接。若用户需要同时跑这两个分辨率,建议cp对应的目录,避免读写冲突。

快速开始

cd tasks/ernie_vilg

代码结构

ernie_vilg
├── data	# 示例数据目录
│   └── predict_data
│       └── infer.txt
├── examples	# 配置文件目录
│   └── ernie_vilg_text2img_infer.json
└── run_infer.py	# 文生图预测入口文件

数据准备

  • 待生成的图片的文本数据存放在./data目录下的predict_data文件夹下。
  • 数据格式为一列文本,示例如下:
无限的水面,水星的海洋和木星的海岸,蒸汽波艺术
有一个机器人在四处游荡的森林,蒸汽波艺术
这是一幅中国画风格的画,画的是山上一个宁静的湖泊,头顶上有一片清澈的蓝天
3D中国风:拟人化的可爱兔子穿唐装在雪地,超高清
蓝色星体漂浮在破碎的红色城堡之上,概念艺术,吉姆·马霍德风格
海滩,落日,棕榈树,莫奈风格
中秋节的月光下 一簇绣球花开得茂盛 复古典雅 工笔画
穿着时尚潮牌的一只大熊猫,日出,大步向我们走来,赛博朋克,烟雾
超级逼真的未来世界,真实照片,虚幻引擎

开始文生图预测

  1. 环境配置
  • python3.7、机器配置:至少为V100 32G及以上配置机型,单卡即可。
  • 推荐使用ERNIEKit提供的paddle、cuda、cudnn环境,可执行下述命令获取:
# 下载paddle安装包
wget http://bj.bcebos.com/wenxin-models/paddlepaddle_gpu-0.0.0.post111-cp37-cp37m-linux_x86_64.whl
# 下载cuda包
wget http://bj.bcebos.com/wenxin-models/cuda-11.1.tgz
# 下载cudnn包
wget http://bj.bcebos.com/wenxin-models/cudnn_v8.1.1_cuda11.1.tgz
# 安装paddle
python -m pip install paddlepaddle_gpu-0.0.0.post111-cp37-cp37m-linux_x86_64.whl
  • 下载后,解压cuda和cudnn的压缩包,export LD_LIBRARY_PATH变量:
export LD_LIBRARY_PATH=./cuda-11.1/lib64/:./cudnn_v8.1.1_cuda11.1/cuda/lib64/:$LD_LIBRARY_PATH
  1. 进入指定任务的目录(文生图任务的目录为wenxin_appzoo/wenxin_appzoo/tasks/ernie_vilg)
  2. 运行以下命令:
# 配置鉴权文件
export WENXIN_AUTH_PATH="auth.txt所在的文件夹目录,注意是文件夹"
# V100运行前建议添加下述环境变量防止显存OOM
export FLAGS_use_cuda_managed_memory=true
# 启动文生图预测任务
python run_infer.py --param_path ./examples/ernie_vilg_text2img_infer.json
  • 通过上述脚本调用配置json文件启动文生图任务。
  • 训练运行的日志会自动保存在./log/test.log文件中。
  • 生成的图片默认保存于./output文件夹下,生成图片的文件命名为:{文本}_{生成图片的id}。
  1. 运行配置:
{
  "inference": {
    "data_path": "./data/predict_data",	## 待预测文本文件的文件夹目录
    "output_img_num": 2,	## 每个文本生成的图片数
    "output_img_size": [1024, 1024],	## 生成图片的分辨率,目前支持的分辨率为[1024, 1024]、[1536, 1024]、[1024, 1536]。
    "vocab_path": "../../models_hub/ernie_vilg_text2img_ch_infer_dir/vocab.txt",	## 默认文本词表文件
    "unconditional_guidance_scale": 8.0,	## 平衡文图相关性和图像质量,推荐8.0或8.5
    "output_dir": "./output",	## 生成图片的保存路径
    "inference_model_path": "../../models_hub/ernie_vilg_text2img_ch_infer_dir",	## 预测模型文件
    "extra_param": {
      "meta": {
        "job_type": "ernie_vilg"
      }
    }
  }
}
上一篇
V2.2开发工具
下一篇
V2.1.0开发工具