【虎虎生威迎虎年】PaddleHub一键对联生成虎墩迎春节

796 阅读27分钟

PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。

【虎虎生威迎虎年】PaddleHub一键对联生成虎墩迎春节

一、引入

对联,中国的传统文化之一,又称楹联或对子,是写在纸、布上或刻在竹子、木头、柱子上的对偶语句。对联对仗工整,平仄协调,是一字一音的中华语言独特的艺术形式。对联是中国传统文化瑰宝。

1-1:一键对联生成的示例(基于ernie-gen-couplet模型实现)

对联输入:

'上海自来水来自海上'
'人增福寿年增岁', 
'风吹云乱天垂泪',
'眉目传情无眉目',
'一城花雨山河壮',
'龙凤呈祥火树银花引来五洲比翼鸟'
'世事少从容将满腹怨尤向她倾诉',
'早点起来吃早点',
'举杯接月色',
'跃马扬鞭一路春风追国梦',
'夜总空空月圆是我月缺还是我',
'昆明黑龙潭两树梅花一潭水'

对联输出:

['山东落花生花落东山', '山东飞机场机飞东山', '中山藏经楼经藏山中', '山东落叶松叶落东山', '长春鲜花开花鲜春长']
['春满乾坤喜满门', '竹报平安梅报春', '春满乾坤福满门', '春满乾坤酒满樽', '春满乾坤喜满家']
['雨打花残地痛心', '雨打花残地皱眉', '雨打花残地动容', '雨打霜欺地动容', '雨打花残地洒愁']
['舌头费力有舌头', '口头许愿有口头', '口头打架有口头', '口头打架止口头', '手足失措有手足']
['万里春风气象新', '万里春风岁月新', '满苑春风草木荣', '满苑春风岁月新', '满苑春风天地新']
['山川毓秀欢声笑语迎进四海连理枝', '山川毓秀欢声笑语招得四海连理枝', '山川毓秀欢声笑语迎接四海同心人', '山川毓秀欢声笑语招入万国来宾商', '山川毓秀欢声笑语迎进四海连心桥']
['人生多坎坷有一腔热血待我耕耘', '人生多坎坷有一腔热血对我敞开', '人生多坎坷却一腔心血对我敞开', '人生多坎坷有一腔热血对我敞怀', '人生多坎坷有一腔心事对我说明']
['先生坐下拜先生', '元宵宵里吃元宵', '夜宵坐下想夜宵', '元宵宵里乐元宵', '元宵宵里品元宵']
['把酒问青天', '提笔赋秋风', '提笔赋梅花', '提笔赋秋香', '提笔赋春光']
['闻鸡起舞九州豪杰绘宏图', '闻鸡起舞九天曙色耀人寰', '闻鸡起舞九州豪杰绘鸿图', '闻鸡起舞九天曙色耀中华', '闻鸡起舞九天曙色焕人文']
['情犹切切云卷随风云舒又随风', '情犹切切云卷随风云舒亦随风', '情犹切切云卷如风云舒复如风', '情难了了人去随风人来又随风', '情犹切切云卷随风云舒复随风']
['杭州西子湖四时风月半湖莲', '杭州西子湖四时烟雨半湖云', '杭州西子湖四时风光半湖莲', '杭州西子湖四围山色半湖光', '杭州西子湖四时风景半湖莲']

二、前要

2-1:写对联的要求

对联文字长短不一,短的仅一、两个字;长的可达几百字。对联形式多样,有正对、反对、流水对、联球对、集句对等。但不管何类对联,使用何种形式,都必须具备以下特点:

  1. 要字数相等,断句一致。除有意空出某字的位置以达到某种效果外,上下联字数必须相同,不多不少。
  2. 要平仄相合,音调和谐。传统习惯是「仄起平落」,即上联末句尾字用仄声,下联末句尾字用平声。
  3. 要词性相对,位置相同。一般称为「虚对虚,实对实」,就是名词对名词,动词对动词,形容词对形容词,数量词对数量词,副词对副词,而且相对的词必须在相同的位置上。
  4. 要内容相关,上下衔接。上下联的含义必须相互衔接,但又不能重复。

此外,张挂的对联,传统作法还必须直写竖贴,自右而左,由上而下,不能颠倒。与对联紧密相关的横批,可以说是对联的题目,也是对联的中心。好的横批在对联中可以起到画龙点睛、相互补充的作用。

2-2:公开对联数据集介绍

模型所用的公开对联数据集是couplet-clean-dataset。此数据集基于couplet-dataset的70w条数据集,在此基础上利用敏感词词库对数据进行了过滤,删除了低俗或敏感的内容,删除后剩余约74w条对联数据。原有的70多万条数据集中包含了较多的低俗或敏感内容,不太适合商用场景。如有对数据集有更具体的了解诉求,可以前往该数据集repo地址详细了解如何下载数据、数据过滤规则等信息。

2-3:对联生成模型介绍

  1. ernie_gen_couplet:ERNIE-GEN 是面向生成任务的预训练-微调框架,首次在预训练阶段加入span-by-span 生成任务,让模型每次能够生成一个语义完整的片段。在预训练和微调中通过填充式生成机制和噪声感知机制来缓解曝光偏差问题。此外, ERNIE-GEN 采样多片段-多粒度目标文本采样策略, 增强源文本和目标文本的关联性,加强了编码器和解码器的交互。ernie_gen_couplet采用开源对联数据集进行微调,可用于生成下联。下图是模型结构:

更多详情可以参考论文:ERNIE-GEN:An Enhanced Multi-Flow Pre-training and Fine-tuning Framework for Natural Language Generation

  1. ernie_tiny_couplet:ernie_tiny_couplet是一个对联生成模型,它由ernie_tiny预训练模型经PaddleHub TextGenerationTask微调而来,仅支持预测,如需进一步微调请参考PaddleHub text_generation demo。预训练模型转换成预测module的转换方式请参考Fine-tune保存的模型如何转化为一个PaddleHub Module。下图是模型结构:

三、生成对联

注:我们的模型可以在CPU和GPU下执行,但由于AI Studio高级版(GPU)十分难以抢到,因此在这里为大家演示在cpu版下实操;如果要用GPU运行,需要切换到AI Studio GPU高级版,并且设置use_cuda=True

3-1:环境依赖

在完成对联生成前,需要先完成PaddlePaddle的安装和PaddleHub的安装,并且要求paddlepaddle >= 1.8.0,paddlehub >= 1.7.0;AI Studio已经为各位开发者提供好了PaddlePaddle框架以及PaddleHub预训练模型管理工具,因为我们只需要满足版本,就可以使用对联生成模型,完成一键对联生成。PaddleHub为各位开发者准备了两种方式实现对联生成,详情请见3-2(命令行一键生成)和3-3(API调用生成)内容。

注:由于AI Studio默认安装的是1.8.0和1.6.0的PaddleHub,所以我们需要更新paddlehub以达到对联生成模型的环境依赖要求;下图是AI Studio默认的初始版本,其中paddlehub的版本并未达到我们的环境需求,因此需要更新

!pip install paddlehub --upgrade -i https://mirror.baidu.com/pypi/simple #(升级paddlehub)
Looking in indexes: https://mirror.baidu.com/pypi/simple
Collecting paddlehub
[?25l  Downloading https://mirror.baidu.com/pypi/packages/1e/86/7184a1c76a3ca9bb47cbf838df6479164c21849da751452b5d11eea4140d/paddlehub-2.2.0-py3-none-any.whl (212kB)
     |████████████████████████████████| 215kB 16.9MB/s eta 0:00:01
[?25hRequirement already satisfied, skipping upgrade: packaging in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (21.3)
Requirement already satisfied, skipping upgrade: Pillow in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (7.1.2)
Requirement already satisfied, skipping upgrade: filelock in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (3.0.12)
Requirement already satisfied, skipping upgrade: pyyaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (5.1.2)
Requirement already satisfied, skipping upgrade: matplotlib in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (2.2.3)
Requirement already satisfied, skipping upgrade: flask>=1.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (1.1.1)
Requirement already satisfied, skipping upgrade: numpy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (1.16.4)
Collecting paddle2onnx>=0.5.1 (from paddlehub)
[?25l  Downloading https://mirror.baidu.com/pypi/packages/db/72/69812b9f56028f6ce46cf4d11540d40d75474b3ac861fcbf439b92877add/paddle2onnx-0.9.0-py3-none-any.whl (84kB)
     |████████████████████████████████| 92kB 30.1MB/s eta 0:00:01
[?25hRequirement already satisfied, skipping upgrade: rarfile in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (3.1)
Requirement already satisfied, skipping upgrade: visualdl>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (2.2.0)
Requirement already satisfied, skipping upgrade: pyzmq in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (22.3.0)
Requirement already satisfied, skipping upgrade: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (4.27.0)
Requirement already satisfied, skipping upgrade: opencv-python in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (4.1.1.26)
Requirement already satisfied, skipping upgrade: paddlenlp>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (2.1.1)
Requirement already satisfied, skipping upgrade: easydict in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (1.9)
Requirement already satisfied, skipping upgrade: colorama in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (0.4.4)
Requirement already satisfied, skipping upgrade: gunicorn>=19.10.0; sys_platform != "win32" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (20.0.4)
Requirement already satisfied, skipping upgrade: colorlog in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub) (4.1.0)
Requirement already satisfied, skipping upgrade: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from packaging->paddlehub) (3.0.6)
Requirement already satisfied, skipping upgrade: pytz in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->paddlehub) (2019.3)
Requirement already satisfied, skipping upgrade: six>=1.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->paddlehub) (1.16.0)
Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->paddlehub) (1.1.0)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->paddlehub) (2.8.2)
Requirement already satisfied, skipping upgrade: cycler>=0.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->paddlehub) (0.10.0)
Requirement already satisfied, skipping upgrade: click>=5.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub) (7.0)
Requirement already satisfied, skipping upgrade: Werkzeug>=0.15 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub) (0.16.0)
Requirement already satisfied, skipping upgrade: itsdangerous>=0.24 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub) (1.1.0)
Requirement already satisfied, skipping upgrade: Jinja2>=2.10.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub) (2.11.0)
Collecting onnx<=1.9.0 (from paddle2onnx>=0.5.1->paddlehub)
[?25l  Downloading https://mirror.baidu.com/pypi/packages/3f/9b/54c950d3256e27f970a83cd0504efb183a24312702deed0179453316dbd0/onnx-1.9.0-cp37-cp37m-manylinux2010_x86_64.whl (12.2MB)
     |████████████████████████████████| 12.2MB 9.3MB/s eta 0:00:011
[?25hRequirement already satisfied, skipping upgrade: protobuf in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddle2onnx>=0.5.1->paddlehub) (3.14.0)
Requirement already satisfied, skipping upgrade: bce-python-sdk in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (0.8.53)
Requirement already satisfied, skipping upgrade: shellcheck-py in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (0.7.1.1)
Requirement already satisfied, skipping upgrade: pre-commit in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (1.21.0)
Requirement already satisfied, skipping upgrade: flake8>=3.7.9 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (4.0.1)
Requirement already satisfied, skipping upgrade: pandas in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (1.1.5)
Requirement already satisfied, skipping upgrade: Flask-Babel>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (1.0.0)
Requirement already satisfied, skipping upgrade: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.0.0->paddlehub) (2.22.0)
Requirement already satisfied, skipping upgrade: paddlefsl==1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp>=2.0.0->paddlehub) (1.0.0)
Requirement already satisfied, skipping upgrade: jieba in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp>=2.0.0->paddlehub) (0.42.1)
Requirement already satisfied, skipping upgrade: multiprocess in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp>=2.0.0->paddlehub) (0.70.11.1)
Requirement already satisfied, skipping upgrade: seqeval in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp>=2.0.0->paddlehub) (1.2.2)
Requirement already satisfied, skipping upgrade: h5py in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp>=2.0.0->paddlehub) (2.9.0)
Requirement already satisfied, skipping upgrade: setuptools>=3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from gunicorn>=19.10.0; sys_platform != "win32"->paddlehub) (41.4.0)
Requirement already satisfied, skipping upgrade: MarkupSafe>=0.23 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Jinja2>=2.10.1->flask>=1.1.0->paddlehub) (2.0.1)
Requirement already satisfied, skipping upgrade: typing-extensions>=3.6.2.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from onnx<=1.9.0->paddle2onnx>=0.5.1->paddlehub) (4.0.1)
Requirement already satisfied, skipping upgrade: future>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.0.0->paddlehub) (0.18.0)
Requirement already satisfied, skipping upgrade: pycryptodome>=3.8.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.0.0->paddlehub) (3.9.9)
Requirement already satisfied, skipping upgrade: virtualenv>=15.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (16.7.9)
Requirement already satisfied, skipping upgrade: aspy.yaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (1.3.0)
Requirement already satisfied, skipping upgrade: importlib-metadata; python_version < "3.8" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (4.10.0)
Requirement already satisfied, skipping upgrade: nodeenv>=0.11.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (1.3.4)
Requirement already satisfied, skipping upgrade: identify>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (1.4.10)
Requirement already satisfied, skipping upgrade: toml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (0.10.0)
Requirement already satisfied, skipping upgrade: cfgv>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.0.0->paddlehub) (2.0.1)
Requirement already satisfied, skipping upgrade: pyflakes<2.5.0,>=2.4.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.0.0->paddlehub) (2.4.0)
Requirement already satisfied, skipping upgrade: pycodestyle<2.9.0,>=2.8.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.0.0->paddlehub) (2.8.0)
Requirement already satisfied, skipping upgrade: mccabe<0.7.0,>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.0.0->paddlehub) (0.6.1)
Requirement already satisfied, skipping upgrade: Babel>=2.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Flask-Babel>=1.0.0->visualdl>=2.0.0->paddlehub) (2.8.0)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->visualdl>=2.0.0->paddlehub) (3.0.4)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->visualdl>=2.0.0->paddlehub) (2019.9.11)
Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->visualdl>=2.0.0->paddlehub) (2.8)
Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->visualdl>=2.0.0->paddlehub) (1.25.6)
Requirement already satisfied, skipping upgrade: dill>=0.3.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from multiprocess->paddlenlp>=2.0.0->paddlehub) (0.3.3)
Requirement already satisfied, skipping upgrade: scikit-learn>=0.21.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from seqeval->paddlenlp>=2.0.0->paddlehub) (0.22.1)
Requirement already satisfied, skipping upgrade: zipp>=0.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->pre-commit->visualdl>=2.0.0->paddlehub) (3.6.0)
Requirement already satisfied, skipping upgrade: joblib>=0.11 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn>=0.21.3->seqeval->paddlenlp>=2.0.0->paddlehub) (0.14.1)
Requirement already satisfied, skipping upgrade: scipy>=0.17.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn>=0.21.3->seqeval->paddlenlp>=2.0.0->paddlehub) (1.3.0)
ERROR: onnx 1.9.0 has requirement numpy>=1.16.6, but you'll have numpy 1.16.4 which is incompatible.
Installing collected packages: onnx, paddle2onnx, paddlehub
  Found existing installation: paddlehub 2.0.4
    Uninstalling paddlehub-2.0.4:
      Successfully uninstalled paddlehub-2.0.4
Successfully installed onnx-1.9.0 paddle2onnx-0.9.0 paddlehub-2.2.0

3-2:命令行方式一键生成对联

PaddleHub在设计时,为模型的管理和使用提供了命令行工具,也提供了通过命令行调用PaddleHub模型完成预测的方式。下面是基于命令行的hub run命令完成的对联生成,更多paddlehub命令行操作说明

# 命令行一键对联生成

!hub run ernie_gen_couplet --input_text '虎虎生威迎虎年' --use_gpu False --beam_width 10
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Download https://bj.bcebos.com/paddlehub/paddlehub_dev/ernie_gen_couplet.tar.gz
[##################################################] 100.00%
Decompress /home/aistudio/.paddlehub/tmp/tmp3h62f0k8/ernie_gen_couplet.tar.gz
[##################################################] 100.00%
[2022-01-22 21:33:21,149] [    INFO] - Successfully installed ernie_gen_couplet-1.1.0[2022-01-22 21:33:21,442] [    INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/ernie_v1_chn_base.pdparams and saved to /home/aistudio/.paddlenlp/models/ernie-1.0100%|████████████████████████████████| 392507/392507 [00:05<00:00, 74002.56it/s]
[2022-01-22 21:33:26,839] [   DEBUG] - init ErnieModel with config: {'attention_probs_dropout_prob': 0.1, 'hidden_act': 'relu', 'hidden_dropout_prob': 0.1, 'hidden_size': 768, 'initializer_range': 0.02, 'max_position_embeddings': 513, 'num_attention_heads': 12, 'num_hidden_layers': 12, 'type_vocab_size': 2, 'vocab_size': 18000, 'pad_token_id': 0}[2022-01-22 21:33:30,590] [    INFO] - loading pretrained model from /home/aistudio/.paddlenlp/models/ernie-1.0/ernie_v1_chn_base.pdparams[2022-01-22 21:33:31,671] [    INFO] - param:mlm_bias not set in pretrained model, skip[2022-01-22 21:33:31,671] [    INFO] - param:mlm.weight not set in pretrained model, skip[2022-01-22 21:33:31,671] [    INFO] - param:mlm.bias not set in pretrained model, skip[2022-01-22 21:33:31,671] [    INFO] - param:mlm_ln.weight not set in pretrained model, skip[2022-01-22 21:33:31,671] [    INFO] - param:mlm_ln.bias not set in pretrained model, skip[2022-01-22 21:33:36,252] [    INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt and saved to /home/aistudio/.paddlenlp/models/ernie-1.0[2022-01-22 21:33:36,252] [    INFO] - Downloading vocab.txt from https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt100%|████████████████████████████████████████| 90/90 [00:00<00:00, 21124.08it/s]
[['花花世界赏花灯', '花花世界看花灯', '花花世界落花丛', '家家团圆过家节', '家家团聚过家节', '花花世界映花灯', '花花世界探花郎', '花花世界落花生', '家家幸福过家节', '花花世界绽花枝']]


3-3:API方式一键生成对联

通过预测API,给出上联,程序自动生成下联。

import paddlehub as hub

module = hub.Module(name="ernie_gen_couplet")

test_texts = [ "虎跃龙腾生紫气"]
results = module.generate(texts=test_texts, use_gpu=False, beam_width=50)
for result in results:
    print(result)
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sized


Download https://bj.bcebos.com/paddlehub/paddlehub_dev/ernie_gen_couplet.tar.gz
[##################################################] 100.00%
Decompress /home/aistudio/.paddlehub/tmp/tmpz3z6aez6/ernie_gen_couplet.tar.gz
[##################################################] 100.00%


[2022-01-22 22:08:13,694] [    INFO] - Successfully installed ernie_gen_couplet-1.1.0
[2022-01-22 22:08:13,974] [    INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/ernie_v1_chn_base.pdparams and saved to /home/aistudio/.paddlenlp/models/ernie-1.0
100%|██████████| 392507/392507 [00:10<00:00, 36929.61it/s]
[2022-01-22 22:08:24,680] [   DEBUG] - init ErnieModel with config: {'attention_probs_dropout_prob': 0.1, 'hidden_act': 'relu', 'hidden_dropout_prob': 0.1, 'hidden_size': 768, 'initializer_range': 0.02, 'max_position_embeddings': 513, 'num_attention_heads': 12, 'num_hidden_layers': 12, 'type_vocab_size': 2, 'vocab_size': 18000, 'pad_token_id': 0}
W0122 22:08:24.683709   101 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0122 22:08:24.688863   101 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[2022-01-22 22:08:29,431] [    INFO] - loading pretrained model from /home/aistudio/.paddlenlp/models/ernie-1.0/ernie_v1_chn_base.pdparams
[2022-01-22 22:08:30,104] [    INFO] - param:mlm_bias not set in pretrained model, skip
[2022-01-22 22:08:30,106] [    INFO] - param:mlm.weight not set in pretrained model, skip
[2022-01-22 22:08:30,108] [    INFO] - param:mlm.bias not set in pretrained model, skip
[2022-01-22 22:08:30,109] [    INFO] - param:mlm_ln.weight not set in pretrained model, skip
[2022-01-22 22:08:30,111] [    INFO] - param:mlm_ln.bias not set in pretrained model, skip
[2022-01-22 22:08:33,631] [    INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt and saved to /home/aistudio/.paddlenlp/models/ernie-1.0
[2022-01-22 22:08:33,634] [    INFO] - Downloading vocab.txt from https://paddlenlp.bj.bcebos.com/models/transformers/ernie/vocab.txt
100%|██████████| 90/90 [00:00<00:00, 5352.46it/s]


['莺歌燕舞庆新春', '风调雨顺兆丰年', '莺歌燕舞闹春光', '莺歌燕舞闹春风', '莺歌燕舞贺新春', '莺歌燕舞兆丰年', '莺歌燕舞颂华年', '人欢马叫庆新春', '莺歌燕舞唱春风', '人欢马叫兆丰年', '山欢水笑沐春风', '莺歌燕舞醉春风', '莺歌燕舞笑春风', '莺歌燕舞报佳音', '莺歌燕舞蔚春风', '莺歌燕舞闹新春', '莺歌燕舞涌春潮', '山欢水笑闹新春', '山欢水笑涌春潮', '莺歌燕舞沐春风', '莺歌燕舞贺新年', '莺歌燕舞乐春风', '莺歌燕舞庆阳春', '莺歌燕舞报新春', '人欢马叫闹新春', '山欢水笑兆丰年', '莺歌燕舞颂阳春', '莺歌燕舞唤春风', '莺歌燕舞起祥云', '莺歌燕舞颂春风', '人欢马叫闹春风', '莺歌燕舞庆丰年', '莺歌燕舞送春风', '莺歌燕舞送吉祥', '莺歌燕舞庆祥和', '人欢马叫庆丰年', '莺歌燕舞播春光', '花香鸟语贺新春', '山欢水笑贺新春', '莺歌燕舞庆华年', '山欢水笑庆新春', '莺歌燕舞乐新春', '莺歌燕舞庆新年', '莺歌燕舞迎新春', '莺歌燕舞咏春光', '鸡鸣犬吠报新春', '莺歌燕舞播春晖', '莺歌燕舞颂新春', '莺歌燕舞播春风', '山明水秀沐春风']

参数

  • texts (list[str]): 上联文本;
  • use_gpu (bool): 是否使用 GPU;若使用GPU,请先设置CUDA_VISIBLE_DEVICES环境变量
  • beam_width: beam search宽度,决定每个上联输出的下联数量。

返回

  • results (list[list][str]): 下联文本,每个上联会生成beam_width个下联。
%cd ~
test_texts = "虎跃龙腾生紫气"
f=open('duilian.txt','w')
for result in results[0]:
    f.writelines(test_texts+","+result+ "。")
f.close()    
/home/aistudio
!cat duilian.txt
虎跃龙腾生紫气,莺歌燕舞庆新春。虎跃龙腾生紫气,风调雨顺兆丰年。虎跃龙腾生紫气,莺歌燕舞闹春光。虎跃龙腾生紫气,莺歌燕舞闹春风。虎跃龙腾生紫气,莺歌燕舞贺新春。虎跃龙腾生紫气,莺歌燕舞兆丰年。虎跃龙腾生紫气,莺歌燕舞颂华年。虎跃龙腾生紫气,人欢马叫庆新春。虎跃龙腾生紫气,莺歌燕舞唱春风。虎跃龙腾生紫气,人欢马叫兆丰年。虎跃龙腾生紫气,山欢水笑沐春风。虎跃龙腾生紫气,莺歌燕舞醉春风。虎跃龙腾生紫气,莺歌燕舞笑春风。虎跃龙腾生紫气,莺歌燕舞报佳音。虎跃龙腾生紫气,莺歌燕舞蔚春风。虎跃龙腾生紫气,莺歌燕舞闹新春。虎跃龙腾生紫气,莺歌燕舞涌春潮。虎跃龙腾生紫气,山欢水笑闹新春。虎跃龙腾生紫气,山欢水笑涌春潮。虎跃龙腾生紫气,莺歌燕舞沐春风。虎跃龙腾生紫气,莺歌燕舞贺新年。虎跃龙腾生紫气,莺歌燕舞乐春风。虎跃龙腾生紫气,莺歌燕舞庆阳春。虎跃龙腾生紫气,莺歌燕舞报新春。虎跃龙腾生紫气,人欢马叫闹新春。虎跃龙腾生紫气,山欢水笑兆丰年。虎跃龙腾生紫气,莺歌燕舞颂阳春。虎跃龙腾生紫气,莺歌燕舞唤春风。虎跃龙腾生紫气,莺歌燕舞起祥云。虎跃龙腾生紫气,莺歌燕舞颂春风。虎跃龙腾生紫气,人欢马叫闹春风。虎跃龙腾生紫气,莺歌燕舞庆丰年。虎跃龙腾生紫气,莺歌燕舞送春风。虎跃龙腾生紫气,莺歌燕舞送吉祥。虎跃龙腾生紫气,莺歌燕舞庆祥和。虎跃龙腾生紫气,人欢马叫庆丰年。虎跃龙腾生紫气,莺歌燕舞播春光。虎跃龙腾生紫气,花香鸟语贺新春。虎跃龙腾生紫气,山欢水笑贺新春。虎跃龙腾生紫气,莺歌燕舞庆华年。虎跃龙腾生紫气,山欢水笑庆新春。虎跃龙腾生紫气,莺歌燕舞乐新春。虎跃龙腾生紫气,莺歌燕舞庆新年。虎跃龙腾生紫气,莺歌燕舞迎新春。虎跃龙腾生紫气,莺歌燕舞咏春光。虎跃龙腾生紫气,鸡鸣犬吠报新春。虎跃龙腾生紫气,莺歌燕舞播春晖。虎跃龙腾生紫气,莺歌燕舞颂新春。虎跃龙腾生紫气,莺歌燕舞播春风。虎跃龙腾生紫气,山明水秀沐春风。

四、虎墩来朗读

1. 依赖安装

%cd ~
!pip install --upgrade pip
# 下载nltk_data
!wget https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz
!tar zxvf nltk_data.tar.gz

!git clone https://gitee.com/livingbody/PaddleBoBo.git --depth=1
!pip install ppgan paddlespeech

2.配置

GANDRIVING:
  FOM_INPUT_IMAGE: './file/input/test.png' #带人脸的静态图
  FOM_DRIVING_VIDEO: './file/input/zimeng.mp4' #用作表情迁移的参考视频
  FOM_OUTPUT_VIDEO: './file/input/test.mp4' #表情迁移后的视频输出路径

TTS:
  SPEED: 1.0 #语速
  PITCH: 1.0 #音高
  ENERGY: 1.0 #发音能级

SAVEPATH:
  VIDEO_SAVE_PATH: './file/output/video/' #保存音频的路径
  AUDIO_SAVE_PATH: './file/output/audio/' #保存生成虚拟主播视频的路径

3.让静态人脸动起来

%cd ~/PaddleBoBo/
!python create_virtual_human.py --config default.yaml
/home/aistudio/PaddleBoBo
[01/22 23:19:13] ppgan INFO: Found /home/aistudio/.cache/ppgan/GPEN-512.pdparams
W0122 23:19:15.999140  7236 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0122 23:19:16.003765  7236 device_context.cc:465] device: 0, cuDNN Version: 7.6.
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/tensor/creation.py:130: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  if data.dtype == np.object:
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_0. generator.noises.noise_0 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_1. generator.noises.noise_1 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_2. generator.noises.noise_2 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_3. generator.noises.noise_3 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_4. generator.noises.noise_4 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_5. generator.noises.noise_5 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_6. generator.noises.noise_6 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_7. generator.noises.noise_7 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_8. generator.noises.noise_8 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_9. generator.noises.noise_9 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_10. generator.noises.noise_10 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_11. generator.noises.noise_11 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_12. generator.noises.noise_12 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_13. generator.noises.noise_13 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_14. generator.noises.noise_14 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
[01/22 23:19:18] ppgan INFO: Found /home/aistudio/.cache/ppgan/vox-cpk-512.pdparams
[01/22 23:19:19] ppgan INFO: Found /home/aistudio/.cache/ppgan/GPEN-512.pdparams
1 persons have been detected
  0%|                                                   | 0/300 [00:00<?, ?it/s]/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py:744: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  elif dtype == np.bool:
100%|█████████████████████████████████████████| 300/300 [00:40<00:00,  7.32it/s]
IMAGEIO FFMPEG_WRITER WARNING: input image is not divisible by macro_block_size=16, resizing from (518, 534) to (528, 544) to ensure video compatibility with most codecs and players. To prevent resizing, make your input image divisible by the macro_block_size or set the macro_block_size to 1 (risking incompatibility).
[swscaler @ 0x67d2180] Warning: data is not aligned! This can lead to a speed loss
已成功创建虚拟人,文件保存在./file/input/test.mp4

4.通用版本生成

numpy 版本太高不行。。。

!pip uninstall numpy -y
Found existing installation: numpy 1.19.5
Uninstalling numpy-1.19.5:
  Successfully uninstalled numpy-1.19.5
!pip install numpy==1.20
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting numpy==1.20
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3a/6c/322f6aa128179d0ea45a543a4e29a74da2317117109899cfd56d09bf3de0/numpy-1.20.0-cp37-cp37m-manylinux2010_x86_64.whl (15.3 MB)
     |████████████████████████████████| 15.3 MB 8.8 MB/s            
[?25hInstalling collected packages: numpy
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
parl 1.4.1 requires pyzmq==18.1.1, but you have pyzmq 22.3.0 which is incompatible.
paddlefsl 1.0.0 requires numpy~=1.19.2, but you have numpy 1.20.0 which is incompatible.
paddle-parakeet 0.0.0 requires praatio~=4.1, but you have praatio 5.0.0 which is incompatible.
blackhole 1.0.1 requires numpy<=1.19.5, but you have numpy 1.20.0 which is incompatible.
blackhole 1.0.1 requires tabulate==0.8.3, but you have tabulate 0.8.9 which is incompatible.
Successfully installed numpy-1.20.0
!python general_demo.py \
    --human ./file/input/test.mp4 \
    --output output.mp4 \
    --text 虎跃龙腾生紫气,莺歌燕舞庆新春。虎跃龙腾生紫气,风调雨顺兆丰年。虎跃龙腾生紫气,莺歌燕舞闹春光。虎跃龙腾生紫气,莺歌燕舞闹春风。虎跃龙腾生紫气,莺歌燕舞贺新春。虎跃龙腾生紫气,莺歌燕舞兆丰年。虎跃龙腾生紫气,莺歌燕舞颂华年。虎跃龙腾生紫气,人欢马叫庆新春。虎跃龙腾生紫气,莺歌燕舞唱春风。虎跃龙腾生紫气,人欢马叫兆丰年。虎跃龙腾生紫气,山欢水笑沐春风。虎跃龙腾生紫气,莺歌燕舞醉春风。虎跃龙腾生紫气,莺歌燕舞笑春风。虎跃龙腾生紫气,莺歌燕舞报佳音。虎跃龙腾生紫气,莺歌燕舞蔚春风。虎跃龙腾生紫气,莺歌燕舞闹新春。虎跃龙腾生紫气,莺歌燕舞涌春潮。虎跃龙腾生紫气,山欢水笑闹新春。虎跃龙腾生紫气,山欢水笑涌春潮。虎跃龙腾生紫气,莺歌燕舞沐春风。虎跃龙腾生紫气,莺歌燕舞贺新年。虎跃龙腾生紫气,莺歌燕舞乐春风。虎跃龙腾生紫气,莺歌燕舞庆阳春。虎跃龙腾生紫气,莺歌燕舞报新春。虎跃龙腾生紫气,人欢马叫闹新春。虎跃龙腾生紫气,山欢水笑兆丰年。虎跃龙腾生紫气,莺歌燕舞颂阳春。虎跃龙腾生紫气,莺歌燕舞唤春风。虎跃龙腾生紫气,莺歌燕舞起祥云。虎跃龙腾生紫气,莺歌燕舞颂春风。虎跃龙腾生紫气,人欢马叫闹春风。虎跃龙腾生紫气,莺歌燕舞庆丰年。虎跃龙腾生紫气,莺歌燕舞送春风。虎跃龙腾生紫气,莺歌燕舞送吉祥。虎跃龙腾生紫气,莺歌燕舞庆祥和。虎跃龙腾生紫气,人欢马叫庆丰年。虎跃龙腾生紫气,莺歌燕舞播春光。虎跃龙腾生紫气,花香鸟语贺新春。虎跃龙腾生紫气,山欢水笑贺新春。虎跃龙腾生紫气,莺歌燕舞庆华年。虎跃龙腾生紫气,山欢水笑庆新春。虎跃龙腾生紫气,莺歌燕舞乐新春。虎跃龙腾生紫气,莺歌燕舞庆新年。虎跃龙腾生紫气,莺歌燕舞迎新春。虎跃龙腾生紫气,莺歌燕舞咏春光。虎跃龙腾生紫气,鸡鸣犬吠报新春。虎跃龙腾生紫气,莺歌燕舞播春晖。虎跃龙腾生紫气,莺歌燕舞颂新春。虎跃龙腾生紫气,莺歌燕舞播春风。虎跃龙腾生紫气,山明水秀沐春风。
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/librosa/core/constantq.py:1059: DeprecationWarning: `np.complex` is a deprecated alias for the builtin `complex`. To silence this warning, use `complex` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.complex128` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  dtype=np.complex,
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/nltk/decorators.py:68: DeprecationWarning: `formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directly
  regargs, varargs, varkwargs, defaults, formatvalue=lambda value: ""
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/nltk/lm/counter.py:15: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sequence, defaultdict
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/nltk/lm/vocabulary.py:13: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Counter, Iterable
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sized
[01/22 23:20:35] ppgan INFO: Found /home/aistudio/.cache/ppgan/GPEN-512.pdparams
W0122 23:20:37.036042  7503 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0122 23:20:37.040797  7503 device_context.cc:465] device: 0, cuDNN Version: 7.6.
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/tensor/creation.py:130: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  if data.dtype == np.object:
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_0. generator.noises.noise_0 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_1. generator.noises.noise_1 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_2. generator.noises.noise_2 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_3. generator.noises.noise_3 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_4. generator.noises.noise_4 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_5. generator.noises.noise_5 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_6. generator.noises.noise_6 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_7. generator.noises.noise_7 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_8. generator.noises.noise_8 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_9. generator.noises.noise_9 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_10. generator.noises.noise_10 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_11. generator.noises.noise_11 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_12. generator.noises.noise_12 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_13. generator.noises.noise_13 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py:1436: UserWarning: Skip loading for generator.noises.noise_14. generator.noises.noise_14 is not found in the provided dict.
  warnings.warn(("Skip loading for {}. ".format(key) + str(err)))
[2022-01-22 23:20:39,764] [    INFO] - File /home/aistudio/.paddlespeech/models/fastspeech2_csmsc-zh/fastspeech2_nosil_baker_ckpt_0.4.zip md5 checking...
[2022-01-22 23:20:40,803] [    INFO] - File /home/aistudio/.paddlespeech/models/pwgan_csmsc-zh/pwg_baker_ckpt_0.4.zip md5 checking...