预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

⼿把⼿教你⽤python来制作春联,是时候让你⼤展⾝⼿了 那是⼀个阳光明媚的午后,作为浑⽔摸鱼⼤师的我⽆意中⼀撇,突然发现了这么⼀篇⽂章: ⽤Python写春联:抒写最真诚的祝福和最美好的祈愿 这不是撞我枪⼝了嘛,反正闲着也是闲着,不如搞点事情。于是我兴致勃勃地喝了⼀杯茶 去looklook。好家伙,原来是⽣成了对联的图⽚,那么问题来了有⽊有办法⾃动⽣成对联,然后再⽣成图⽚呢? 并且在本地部署咧。 于是我有个⼤胆的想法 基于RNN(Seq2Seq+Attention)⽣成对联(个屁) 没错我有个⼤胆的想法那就是,我们基于Seq2Seq+Attention来⽣成对联吧。然⽽ 好吧看来我们得换⼀个思路了。 呀呼,还真让我找到了。 环境准备 好了不说废话了,让我们快速开始吧。在此之前我们得准备⼀下我们的环境。我这⾥使⽤的是python3.8 pipinstallpaddlepaddle pipinstallpaddlehub #如果paddlehub安装失败的话,可以使⽤ pipinstall-i--default-timeout=100paddlehub pipinstallpillow 功能分析 对联⽣成 得益于飞浆为我们提供的我们可以快速地实现我们需要的功能。于是我们可以这样封装⼀下我们的代码。 这个真没啥好说的。 importpaddlehubashub classHubUtils(object): def__init__(self): self.hub=hub #初始化时需要加载模型,需要时间,饿汉加载吧,⽅便后⾯调⽤,但是给标题的⽐较特殊 self.module_love_words=self.hub.Module(name="ernie_gen_lover_words") self.module_poetry=self.hub.Module(name="ernie_gen_poetry") self.module_couplets=self.hub.Module(name="ernie_gen_couplet") defGetLoveWords(self,curx,size=5): #⽣成情话,默认返回五个情话,这个传⼊list results=self.module_love_words.generate(texts=curx,use_gpu=True,beam_width=size) returnresults[0] defGetAcrostic(self,title,line=4,word=7,size=1): #默认返回⼀⾸,输⼊标题即可 self.module_acrostic=self.hub.module=hub.Module(name="ernie_gen_acrostic_poetry",line=4,word=7) results=self.module_acrostic.generate(texts=[title],use_gpu=True,beam_width=size) returnresults[0] defGetPoetry(self,curx,size=1): #输⼊关键句,词即可⽣成诗歌,默认⼀⾸ results=self.module_poetry.generate(texts=[curx],use_gpu=True,beam_width=size) returnresults[0] defGetCouplet(self,up_couplet,size=1): #输⼊上联给出下联,默认给⼀个 results=self.module_couplets.generate(texts=[up_couplet],use_gpu=True,beam_width=size) returnresults[0] if__name__=="__main__": Hub=HubUtils() print(Hub.GetCouplet("⼩母⽜坐飞机")) print(Hub.GetCouplet("风吹云乱天垂泪")) 这⾥的话我还封装了⼏个⽐较有意思的训练好的模型。 图⽚⽣成 现在我们拿到了我们的对联,接下来要做的就是来⽣成⼀下我们的图⽚。 这个其实很简单,我们直接使⽤pillow在⼀张背景图⽚上写字就⾏,就像打⽔印⼀样。 不过在此之前我们得先选⼀个好看的字体。这⾥我使⽤的还是Windows系统(没办法,很多环境配置都在Windows系统,除了平时办公室 玩玩基本没玩了,⽽且现在还放寒假了…以前还玩kali来着的) 打开这个⽂件夹C:\Windows\Fonts 咱们选⼀个好看的。 来我们先来看看这个⽣成的效果 我们再给他美化⼀下,同时我们