【AI】用 GPT 帮小兔子写首诗

举报
sidiot 发表于 2023/10/20 22:55:08 2023/10/20
【摘要】 这不兔年到了,薅薅兔毛,作首与 “兔” 相关的诗词; 前不久在网络爆火的 ChatGPT,被网友们玩出了各种花样,基于此训练了一个能作中文古诗词的 GPT 预训练模型,在这儿给大伙作首诗词;

前言

这不兔年到了,薅薅兔毛;

小兔子现在很烦恼,因为今天小兔子的老师给他们布置了课后作业,要作一首包含 “兔” 字的诗,但是小兔子现在毫无思路,让我们来帮帮小兔子;

前不久在网络爆火的 ChatGPT,被网友们玩出了各种花样,基于此训练了一个能作中文古诗词的 GPT 预训练模型,在这儿作首诗,帮小兔子完成作业;

正文

先导入 tokenizer 对数据进行预处理:

poem_tokenizer = BertTokenizer.from_pretrained(checkpoint)

然后编码数据,并转换为 PyTorch Tensor:

index_token = poem_tokenizer.encode(text)
tokens_tensor = torch.tensor([index_token])

然后加载模型:

poem_model = GPT2LMHeadModel.from_pretrained(checkpoint)

预测所有的输出:

poem_model.eval()

with torch.no_grad():
    outputs = poem_model(tokens_tensor)

image.png

最后使用 argmax 以及反向解码获得最终结果:

image.png

不过只是返回文字结果的话,还是比较的单一,这里可以跟前端结合起来,效果图如下:

image.png

代码如下:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Nosifer&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Liu+Jian+Mao+Cao&family=Padyakke+Expanded+One&display=swap" rel="stylesheet">

<div style="background:url('https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/082a37b3aa4f43ffbb318b0994b5ea2f~tplv-k3u1fbpfcp-watermark.image?') no-repeat; width:800px; height:600px">
  <div class="font3" style="padding-left:25%">
    <p style="padding-top:40px">
      <i>
        兔蟾仙去不留迹,<br>
        万古长庚无尽明。<br>
        自昔不多司马相,<br>
        后来谁识孔方兄。<br>
      </i>
      <h1 style="padding-left:160px">sidiot</h1>
    </p>
  </div>
</div>

字体来自于 Google Fonts,怎么操作的话可以参考这个教程

TIP

不太会前端,随便搞搞,不要在意;


后记

以上就是 【AI】用 GPT 帮小兔子写首诗 的全部内容了。

希望本篇博文对大家有所帮助!

系列文章:


💖 我是 𝓼𝓲𝓭𝓲𝓸𝓽,期待你的关注;

👍 创作不易,请多多支持;

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。