mirror of
https://github.com/apachecn/ailearning.git
synced 2026-04-02 02:01:20 +08:00
@@ -240,7 +240,8 @@
|
||||
* [Kears 快速入门](docs/TensorFlow2.x/Keras快速入门.md)
|
||||
* [实战项目 1 电影情感分类](docs/TensorFlow2.x/实战项目_1_电影情感分类.md)
|
||||
* [实战项目 2 汽车燃油效率](docs/TensorFlow2.x/实战项目_2_汽车燃油效率.md)
|
||||
* [实战项目 优化: 过拟合,欠拟合](docs/TensorFlow2.x/实战项目优化_过拟合和欠拟合.md)
|
||||
* [实战项目 3 优化 过拟合和欠拟合](docs/TensorFlow2.x/实战项目_3_优化_过拟合和欠拟合.md)
|
||||
* [实战项目 4 古诗词自动生成](docs/TensorFlow2.x/实战项目_4_古诗词自动生成.md)
|
||||
|
||||
## 3.自然语言处理
|
||||
|
||||
|
||||
5
docs/TensorFlow2.x/实战项目_4_古诗词自动生成.md
Normal file
5
docs/TensorFlow2.x/实战项目_4_古诗词自动生成.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 实战项目 4 古诗词自动生成
|
||||
|
||||
* 代码: src/py3.x/tensorflow2.x/text_gru.py
|
||||
|
||||
后续慢慢更新
|
||||
14
src/py3.x/tensorflow2.x/config.py
Normal file
14
src/py3.x/tensorflow2.x/config.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# *-* coding:utf-8 *-*
|
||||
'''
|
||||
@author: ioiogoo
|
||||
@date: 2018/1/31 19:28
|
||||
'''
|
||||
|
||||
|
||||
class Config(object):
|
||||
poetry_file = 'poetry.txt'
|
||||
weight_file = 'poetry_model.h5'
|
||||
# 根据前六个字预测第七个字
|
||||
max_len = 6
|
||||
batch_size = 512
|
||||
learning_rate = 0.001
|
||||
99
src/py3.x/tensorflow2.x/poetry.txt
Normal file
99
src/py3.x/tensorflow2.x/poetry.txt
Normal file
@@ -0,0 +1,99 @@
|
||||
寒随穷律变,春逐鸟声开。初风飘带柳,晚雪间花梅。碧林青旧竹,绿沼翠新苔。芝田初雁去,绮树巧莺来。
|
||||
晚霞聊自怡,初晴弥可喜。日晃百花色,风动千林翠。池鱼跃不同,园鸟声还异。寄言博通者,知予物外志。
|
||||
一朝春夏改,隔夜鸟花迁。阴阳深浅叶,晓夕重轻烟。哢莺犹响殿,横丝正网天。珮高兰影接,绶细草纹连。碧鳞惊棹侧,玄燕舞檐前。何必汾阳处,始复有山泉。
|
||||
夏律昨留灰,秋箭今移晷。峨嵋岫初出,洞庭波渐起。桂白发幽岩,菊黄开灞涘。运流方可叹,含毫属微理。
|
||||
寒惊蓟门叶,秋发小山枝。松阴背日转,竹影避风移。提壶菊花岸,高兴芙蓉池。欲知凉气早,巢空燕不窥。
|
||||
爽气浮丹阙,秋光澹紫宫。衣碎荷疏影,花明菊点丛。袍轻低草露,盖侧舞松风。散岫飘云叶,迷路飞烟鸿。砌冷兰凋佩,闺寒树陨桐。别鹤栖琴里,离猿啼峡中。落野飞星箭,弦虚半月弓。芳菲夕雾起,暮色满房栊。
|
||||
山亭秋色满,岩牖凉风度。疏兰尚染烟,残菊犹承露。古石衣新苔,新巢封古树。历览情无极,咫尺轮光暮。
|
||||
秦川雄帝宅,函谷壮皇居。绮殿千寻起,离宫百雉余。连薨遥接汉,飞观迥凌虚。云日隐层阙,风烟出绮疏。岩廊罢机务,崇文聊驻辇。玉匣启龙图,金绳披凤篆。韦编断仍续,缥帙舒还卷。对此乃淹留,欹案观坟典。移步出词林,停舆欣武宴。雕弓写明月,骏马疑流电。惊雁落虚弦,啼猿悲急箭。阅赏诚多美,于兹乃忘倦。鸣笳临乐馆,眺听欢芳节。急管韵朱弦,清歌凝白雪。彩凤肃来仪,玄鹤纷成列。去兹郑卫声,雅音方可悦。芳辰追逸趣,禁苑信多奇。桥形通汉上,峰势接云危。烟霞交隐映,花鸟自参差。何如肆辙迹,万里赏瑶池。飞盖去芳园,兰桡游翠渚。萍间日彩乱,荷处香风举。桂楫满中川,弦歌振长屿。岂必汾河曲,方为欢宴所。落日双阙昏,回舆九重暮。长烟散初碧,皎月澄轻素。搴幌玩琴书,开轩引云雾。斜汉耿层阁,清风摇玉树。欢乐难再逢,芳辰良可惜。玉酒泛云罍,兰殽陈绮席。千钟合尧禹,百兽谐金石。得志重寸阴,忘怀轻尺璧。建章欢赏夕,二八尽妖妍。罗绮昭阳殿,芬芳玳瑁筵。佩移星正动,扇掩月初圆。无劳上悬圃,即此对神仙。以兹游观极,悠然独长想。披卷览前踪,抚躬寻既往。望古茅茨约,瞻今兰殿广。人道恶高危,虚心戒盈荡。奉天竭诚敬,临民思惠养。纳善察忠谏,明科慎刑赏。六五诚难继,四三非易仰。广待淳化敷,方嗣云亭响。
|
||||
塞外悲风切,交河冰已结。瀚海百重波,阴山千里雪。迥戍危烽火,层峦引高节。悠悠卷旆旌,饮马出长城。寒沙连骑迹,朔吹断边声。胡尘清玉塞,羌笛韵金钲。绝漠干戈戢,车徒振原隰。都尉反龙堆,将军旋马邑。扬麾氛雾静,纪石功名立。荒裔一戎衣,灵台凯歌入。
|
||||
执契静三边,持衡临万姓。玉彩辉关烛,金华流日镜。无为宇宙清,有美璇玑正。皎佩星连景,飘衣云结庆。戢武耀七德,升文辉九功。烟波澄旧碧,尘火息前红。霜野韬莲剑,关城罢月弓。钱缀榆天合,新城柳塞空。花销葱岭雪,縠尽流沙雾。秋驾转兢怀,春冰弥轸虑。书绝龙庭羽,烽休凤穴戍。衣宵寝二难,食旰餐三惧。翦暴兴先废,除凶存昔亡。圆盖归天壤,方舆入地荒。孔海池京邑,双河沼帝乡。循躬思励己,抚俗愧时康。元首伫盐梅,股肱惟辅弼。羽贤崆岭四,翼圣襄城七。浇俗庶反淳,替文聊就质。已知隆至道,共欢区宇一。
|
||||
条风开献节,灰律动初阳。百蛮奉遐赆,万国朝未央。虽无舜禹迹,幸欣天地康。车轨同八表,书文混四方。赫奕俨冠盖,纷纶盛服章。羽旄飞驰道,钟鼓震岩廊。组练辉霞色,霜戟耀朝光。晨宵怀至理,终愧抚遐荒。
|
||||
寿丘惟旧迹,酆邑乃前基。粤予承累圣,悬弧亦在兹。弱龄逢运改,提剑郁匡时。指麾八荒定,怀柔万国夷。梯山咸入款,驾海亦来思。单于陪武帐,日逐卫文枇。端扆朝四岳,无为任百司。霜节明秋景,轻冰结水湄。芸黄遍原隰,禾颖积京畿。共乐还乡宴,欢比大风诗。
|
||||
代马依朔吹,惊禽愁昔丛。况兹承眷德,怀旧感深衷。积善忻余庆,畅武悦成功。垂衣天下治,端拱车书同。白水巡前迹,丹陵幸旧宫。列筵欢故老,高宴聚新丰。驻跸抚田畯,回舆访牧童。瑞气萦丹阙,祥烟散碧空。孤屿含霜白,遥山带日红。于焉欢击筑,聊以咏南风。
|
||||
昔年怀壮气,提戈初仗节。心随朗日高,志与秋霜洁。移锋惊电起,转战长河决。营碎落星沉,阵卷横云裂。一挥氛沴静,再举鲸鲵灵。于兹俯旧原,属目驻华轩。沉沙无故迹,灭灶有残痕。浪霞穿水净,峰雾抱莲昏。世途亟流易,人事殊今昔。长想眺前踪,抚躬聊自适。
|
||||
新丰停翠辇,谯邑驻鸣笳。园荒一径断,苔古半阶斜。前池消旧水,昔树发今花。一朝辞此地,四海遂为家。金舆巡白水,玉辇驻新丰。纽落藤披架,花残菊破丛。叶铺荒草蔓,流竭半池空。纫珮兰凋径,舒圭叶翦桐。昔地一蕃内,今宅九围中。架海波澄镜,韬戈器反农。八表文同轨,无劳歌大风。
|
||||
慨然抚长剑,济世岂邀名。星旗纷电举,日羽肃天行。遍野屯万骑,临原驻五营。登山麾武节,背水纵神兵。在昔戎戈动,今来宇宙平。
|
||||
崤函称地险,襟带壮两京。霜峰直临道,冰河曲绕城。古木参差影,寒猿断续声。冠盖往来合,风尘朝夕惊。高谈先马度,伪晓预鸡鸣。弃繻怀远志,封泥负壮情。别有真人气,安知名不名。
|
||||
翠野驻戎轩,卢龙转征旆。遥山丽如绮,长流萦似带。海气百重楼,岩松千丈盖。兹焉可游赏,何必襄城外。
|
||||
玄兔月初明,澄辉照辽碣。映云光暂隐,隔树花如缀。魄满桂枝圆,轮亏镜彩缺。临城却影散,带晕重围结。驻跸俯九都,停观妖氛灭。
|
||||
碧原开雾隰,绮岭峻霞城。烟峰高下翠,日浪浅深明。斑红妆蕊树,圆青压溜荆。迹岩劳傅想,窥野访莘情。巨川何以济,舟楫伫时英。
|
||||
韶光开令序,淑气动芳年。驻辇华林侧,高宴柏梁前。紫庭文珮满,丹墀衮绂连。九夷簉瑶席,五狄列琼筵。娱宾歌湛露,广乐奏钧天。清尊浮绿醑,雅曲韵朱弦。粤余君万国,还惭抚八埏。庶几保贞固,虚己厉求贤。
|
||||
未央初壮汉,阿房昔侈秦。在危犹骋丽,居奢遂投人。岂如家四海,日宇罄朝伦。扇天裁户旧,砌地翦基新。引月擎宵桂,飘云逼曙鳞。露除光炫玉,霜阙映雕银。舞接花梁燕,歌迎鸟路尘。镜池波太液,庄苑丽宜春。作异甘泉日,停非路寝辰。念劳惭逸己,居旷返劳神。所欣成大厦,宏材伫渭滨。
|
||||
楚王云梦泽,汉帝长杨宫。岂若因农暇,阅武出轘嵩。三驱陈锐卒,七萃列材雄。寒野霜氛白,平原烧火红。雕戈夏服箭,羽骑绿沉弓。怖兽潜幽壑,惊禽散翠空。长烟晦落景,灌木振岩风。所为除民瘼,非是悦林丛。
|
||||
烈烈寒风起,惨惨飞云浮。霜浓凝广隰,冰厚结清流。金鞍移上苑,玉勒骋平畴。旌旗四望合,罝罗一面求。楚踣争兕殪,秦亡角鹿愁。兽忙投密树,鸿惊起砾洲。骑敛原尘静,戈回岭日收。心非洛汭逸,意在渭滨游。禽荒非所乐,抚辔更招忧。
|
||||
披襟眺沧海,凭轼玩春芳。积流横地纪,疏派引天潢。仙气凝三岭,和风扇八荒。拂潮云布色,穿浪日舒光。照岸花分彩,迷云雁断行。怀卑运深广,持满守灵长。有形非易测,无源讵可量。洪涛经变野,翠岛屡成桑。之罘思汉帝,碣石想秦皇。霓裳非本意,端拱且图王。
|
||||
春蒐驰骏骨,总辔俯长河。霞处流萦锦,风前漾卷罗。水花翻照树,堤兰倒插波。岂必汾阴曲,秋云发棹歌。
|
||||
重峦俯渭水,碧嶂插遥天。出红扶岭日,入翠贮岩烟。叠松朝若夜,复岫阙疑全。对此恬千虑,无劳访九仙。
|
||||
高轩暧春色,邃阁媚朝光。彤庭飞彩旆,翠幌曜明珰。恭己临四极,垂衣驭八荒。霜戟列丹陛,丝竹韵长廊。穆矣熏风茂,康哉帝道昌。继文遵后轨,循古鉴前王。草秀故春色,梅艳昔年妆。巨川思欲济,终以寄舟航。
|
||||
凭轩俯兰阁,眺瞩散灵襟。绮峰含翠雾,照日蕊红林。镂丹霞锦岫,残素雪斑岑。拂浪堤垂柳,娇花鸟续吟。连甍岂一拱,众干如千寻。明非独材力,终藉栋梁深。弥怀矜乐志,更惧戒盈心。愧制劳居逸,方规十产金。
|
||||
朝光浮烧野,霜华净碧空。结浪冰初镜,在径菊方丛。约岭烟深翠,分旗霞散红。抽思滋泉侧,飞想傅岩中。已获千箱庆,何以继熏风。
|
||||
碧昏朝合雾,丹卷暝韬霞。结叶繁云色,凝琼遍雪华。光楼皎若粉,映幕集疑沙。泛柳飞飞絮,妆梅片片花。照璧台圆月,飘珠箔穿露。瑶洁短长阶,玉丛高下树。映桐珪累白,萦峰莲抱素。断续气将沉,徘徊岁云暮。怀珍愧隐德,表瑞伫丰年。蕊间飞禁苑,鹤处舞伊川。傥咏幽兰曲,同欢黄竹篇。
|
||||
岭衔宵月桂,珠穿晓露丛。蝉啼觉树冷,萤火不温风。花生圆菊蕊,荷尽戏鱼通。晨浦鸣飞雁,夕渚集栖鸿。飒飒高天吹,氛澄下炽空。
|
||||
崇文时驻步,东观还停辇。辍膳玩三坟,晖灯披五典。寒心睹肉林,飞魄看沉湎。纵情昏主多,克己明君鲜。灭身资累恶,成名由积善。既承百王末,战兢随岁转。
|
||||
二仪初创象,三才乃分位。非惟树司牧,固亦垂文字。绵代更膺期,芳图无辍记。炎汉承君道,英谟纂神器。潜龙既可跃,逵兔奚难致。前史殚妙词,后昆沉雅思。书言扬盛迹,补阙兴洪志。川谷犹旧途,郡国开新意。梅山未觉朽,谷水谁云异。车服随名表,文物因时置。凤戟翼康衢,銮舆总柔辔。清浊必能澄,洪纤幸无弃。观仪不失序,遵礼方由事。政宣竹律和,时平玉条备。文囿雕奇彩,艺门蕴深致。云飞星共流,风扬月兼至。类禋遵令典,坛壝资良地。五胜竟无违,百司诚有庇。粤予承暇景,谈丛引泉秘。讨论穷义府,看核披经笥。大辨良难仰,小学终先匮。闻道谅知荣,含毫孰忘愧。
|
||||
萧条起关塞,摇飏下蓬瀛。拂林花乱彩,响谷鸟分声。披云罗影散,泛水织文生。劳歌大风曲,威加四海清。
|
||||
罩云飘远岫,喷雨泛长河。低飞昏岭腹,斜足洒岩阿。泫丛珠缔叶,起溜镜图波。濛柳添丝密,含吹织空罗。
|
||||
洁野凝晨曜,装墀带夕晖。集条分树玉,拂浪影泉玑。色洒妆台粉,花飘绮席衣。入扇萦离匣,点素皎残机。
|
||||
北阙三春晚,南荣九夏初。黄莺弄渐变,翠林花落余。瀑流还响谷,猿啼自应虚。早荷向心卷,长杨就影舒。此时欢不极,调轸坐相于。
|
||||
红轮不暂驻,乌飞岂复停。岑霞渐渐落,溪阴寸寸生。藿叶随光转,葵心逐照倾。晚烟含树色,栖鸟杂流声。
|
||||
高轩临碧渚,飞檐迥架空。余花攒镂槛,残柳散雕栊。岸菊初含蕊,园梨始带红。莫虑昆山暗,还共尽杯中。
|
||||
结伴戏方塘,携手上雕航。船移分细浪,风散动浮香。游莺无定曲,惊凫有乱行。莲稀钏声断,水广棹歌长。栖乌还密树,泛流归建章。
|
||||
华林满芳景,洛阳遍阳春。朱颜含远日,翠色影长津。乔柯啭娇鸟,低枝映美人。昔作园中实,今来席上珍。
|
||||
玉衡流桂圃,成蹊正可寻。莺啼密叶外,蝶戏脆花心。丽景光朝彩,轻霞散夕阴。暂顾晖章侧,还眺灵山林。
|
||||
岸曲非千里,桥斜异七星。暂低逢辇度,还高值浪惊。水摇文鹢动,缆转锦花萦。远近随轮影,轻重应人行。
|
||||
回銮游福地,极目玩芳晨。梵钟交二响,法日转双轮。宝刹遥承露,天花近足春。未佩兰犹小,无丝柳尚新。圆光低月殿,碎影乱风筠。对此留余想,超然离俗尘。
|
||||
拂霞疑电落,腾虚状写虹。屈伸烟雾里,低举白云中。纷披乍依迥,掣曳或随风。念兹轻薄质,无翅强摇空。
|
||||
阊阖总金鞍,上林移玉辇。野郊怆新别,河桥非旧饯。惨日映峰沉,愁云随盖转。哀笳时断续,悲旌乍舒卷。望望情何极,浪浪泪空泫。无复昔时人,芳春共谁遣。
|
||||
凿门初奉律,仗战始临戎。振鳞方跃浪,骋翼正凌风。未展六奇术,先亏一篑功。防身岂乏智,殉命有余忠。
|
||||
晦魄移中律,凝暄起丽城。罩云朝盖上,穿露晓珠呈。笑树花分色,啼枝鸟合声。披襟欢眺望,极目畅春情。
|
||||
秋日凝翠岭,凉吹肃离宫。荷疏一盖缺,树冷半帷空。侧阵移鸿影,圆花钉菊丛。摅怀俗尘外,高眺白云中。
|
||||
斜廊连绮阁,初月照宵帏。塞冷鸿飞疾,园秋蝉噪迟。露结林疏叶,寒轻菊吐滋。愁心逢此节,长叹独含悲。
|
||||
菊散金风起,荷疏玉露圆。将秋数行雁,离夏几林蝉。云凝愁半岭,霞碎缬高天。还似成都望,直见峨眉前。爽气澄兰沼,秋风动桂林。露凝千片玉,菊散一丛金。日岫高低影,云空点缀阴。蓬瀛不可望,泉石且娱心。
|
||||
雕宫静龙漏,绮阁宴公侯。珠帘烛焰动,绣柱水光浮。云起将歌发,风停与管遒。琐除任多士,端扆竟何忧。
|
||||
石鲸分玉溜,劫烬隐平沙。柳影冰无叶,梅心冻有花。寒野凝朝雾,霜天散夕霞。欢情犹未极,落景遽西斜。
|
||||
冻云宵遍岭,素雪晓凝华。入牖千重碎,迎风一半斜。不妆空散粉,无树独飘花。萦空惭夕照,破彩谢晨霞。
|
||||
暮景斜芳殿,年华丽绮宫。寒辞去冬雪,暖带入春风。阶馥舒梅素,盘花卷烛红。共欢新故岁,迎送一宵中。
|
||||
岁阴穷暮纪,献节启新芳。冬尽今宵促,年开明日长。冰消出镜水,梅散入风香。对此欢终宴,倾壶待曙光。
|
||||
和气吹绿野,梅雨洒芳田。新流添旧涧,宿雾足朝烟。雁湿行无次,花沾色更鲜。对此欣登岁,披襟弄五弦。
|
||||
翠楼含晓雾,莲峰带晚云。玉叶依岩聚,金枝触石分。横天结阵影,逐吹起罗文。非得阳台下,空将惑楚君。
|
||||
绮筵移暮景,紫阁引宵烟。隔栋歌尘合,分阶舞影连。声流三处管,响乱一重弦。不似秦楼上,吹箫空学仙。
|
||||
残云收翠岭,夕雾结长空。带岫凝全碧,障霞隐半红。仿佛分初月,飘飖度晓风。还因三里处,冠盖远相通。
|
||||
兰气已熏宫,新蕊半妆丛。色含轻重雾,香引去来风。拂树浓舒碧,萦花薄蔽红。还当杂行雨,仿佛隐遥空。
|
||||
年柳变池台,隋堤曲直回。逐浪丝阴去,迎风带影来。疏黄一鸟弄,半翠几眉开。萦雪临春岸,参差间早梅。
|
||||
春晖开紫苑,淑景媚兰场。映庭含浅色,凝露泫浮光。日丽参差影,风传轻重香。会须君子折,佩里作芬芳。
|
||||
禁苑春晖丽,花蹊绮树妆。缀条深浅色,点露参差光。向日分千笑,迎风共一香。如何仙岭侧,独秀隐遥芳。
|
||||
参差垂玉阙,舒卷映兰宫。珠光摇素月,竹影乱清风。彩散银钩上,文斜桂户中。惟当杂罗绮,相与媚房栊。
|
||||
凌晨丽城去,薄暮上林栖。辞枝枝暂起,停树树还低。向日终难托,迎风讵肯迷。只待纤纤手,曲里作宵啼。
|
||||
骏骨饮长泾,奔流洒络缨。细纹连喷聚,乱荇绕蹄萦。水光鞍上侧,马影溜中横。翻似天池里,腾波龙种生。
|
||||
阶兰凝曙霜,岸菊照晨光。露浓晞晚笑,风劲浅残香。细叶凋轻翠,圆花飞碎黄。还持今岁色,复结后年芳。
|
||||
秋露凝高掌,朝光上翠微。参差丽双阙,照耀满重闱。仙驭随轮转,灵乌带影飞。临波光定彩,入隙有圆晖。还当葵霍志,倾叶自相依。
|
||||
半月无双影,全花有四时。摧藏千里态,掩抑几重悲。促节萦红袖,清音满翠帷。驶弹风响急,缓曲钏声迟。空余关陇恨,因此代相思。
|
||||
驱马出辽阳,万里转旂常。对敌六奇举,临戎八阵张。斩鲸澄碧海,卷雾扫扶桑。昔去兰萦翠,今来桂染芳。云芝浮碎叶,冰镜上朝光。回首长安道,方欢宴柏梁。
|
||||
暧暧去尘昏灞岸,飞飞轻盖指河梁。云峰衣结千重叶,雪岫花开几树妆。深悲黄鹤孤舟远,独叹青山别路长。聊将分袂沾巾泪,还用持添离席觞。
|
||||
四时运灰琯,一夕变冬春。送寒余雪尽,迎岁早梅新。
|
||||
焰听风来动,花开不待春。镇下千行泪,非是为思人。九龙蟠焰动,四照逐花生。即此流高殿,堪持待月明。
|
||||
上弦明月半,激箭流星远。落雁带书惊,啼猿映枝转。
|
||||
初秋玉露清,早雁出空鸣。隔云时乱影,因风乍含声。
|
||||
岸曲丝阴聚,波移带影疏。还将眉里翠,来就镜中舒。
|
||||
贞条障曲砌,翠叶贯寒霜。拂牖分龙影,临池待凤翔。
|
||||
散影玉阶柳,含翠隐鸣蝉。微形藏叶里,乱响出风前。
|
||||
盘根直盈渚,交干横倚天。舒华光四海,卷叶荫三川。
|
||||
近谷交萦蕊,遥峰对出莲。径细无全磴,松小未含烟。
|
||||
疾风知劲草,板荡识诚臣。勇夫安识义,智者必怀仁。
|
||||
太液仙舟迥,西园隐上才。未晓征车度,鸡鸣关早开。
|
||||
烟生遥岩隐,月落半崖阴。连山惊鸟乱,隔岫断猿吟。
|
||||
醽醁胜兰生,翠涛过玉瓒。千日醉不醒,十年味不败。
|
||||
绝域降附天下平,八表无事悦圣情。云披雾敛天地明。登封日观禅云亭,太常具礼方告成。
|
||||
雪耻酬百王,除凶报千古。昔乘匹马去,今驱万乘来。近日毛虽暖,闻弦心已惊。
|
||||
龙楼光曙景,鲁馆启朝扉。艳日浓妆影,低星降婺辉。玉庭浮瑞色,银榜藻祥徽。云转花萦盖,霞飘叶缀旂。雕轩回翠陌,宝驾归丹殿。鸣珠佩晓衣,镂璧轮开扇。华冠列绮筵,兰醑申芳宴。环阶凤乐陈,玳席珍羞荐。蝶舞袖香新,歌分落素尘。欢凝欢懿戚,庆叶庆初姻。暑阑炎气息,凉早吹疏频。方期六合泰,共赏万年春。
|
||||
羽盖飞天汉,凤驾越层峦。俱叹三秋阻,共叙一宵欢。璜亏夜月落,靥碎晓星残。谁能重操杼,纤手濯清澜。霓裳转云路,凤驾俨天潢。亏星凋夜靥,残月落朝璜。促欢今夕促,长离别后长。轻梭聊驻织,掩泪独悲伤。
|
||||
温渚停仙跸,丰郊驻晓旌。路曲回轮影,岩虚传漏声。暖溜惊湍驶,寒空碧雾轻。林黄疏叶下,野白曙霜明。眺听良无已,烟霞断续生。
|
||||
端居临玉扆,初律启金商。凤阙澄秋色,龙闱引夕凉。野净山气敛,林疏风露长。砌兰亏半影,岩桂发全香。满盖荷凋翠,圆花菊散黄。挥鞭争电烈,飞羽乱星光。柳空穿石碎,弦虚侧月张。怯猿啼落岫,惊雁断分行。斜轮低夕景,归旆拥通庄。
|
||||
停轩观福殿,游目眺皇畿。法轮含日转,花盖接云飞。翠烟香绮阁,丹霞光宝衣。幡虹遥合彩,定水迥分晖。萧然登十地,自得会三归。
|
||||
日宫开万仞,月殿耸千寻。花盖飞团影,幡虹曳曲阴。绮霞遥笼帐,丛珠细网林。寥廓烟云表,超然物外心。
|
||||
今宵冬律尽,来朝丽景新。花余凝地雪,条含暖吹分。绶吐芽犹嫩,冰□已镂津。薄红梅色冷,浅绿柳轻春。送迎交两节,暄寒变一辰。
|
||||
屏欲除奢政返淳。(霍王以下和句亡)
|
||||
九日正乘秋,三杯兴已周。泛桂迎尊满,吹花向酒浮。长房萸早熟,彭泽菊初收。何藉龙沙上,方得恣淹留。
|
||||
四郊秦汉国,八水帝王都。阊阖雄里閈,城阙壮规模。贯渭称天邑,含岐实奥区。金门披玉馆,因此识皇图。
|
||||
眷言君失德,骊邑想秦馀。政烦方改篆,愚俗乃焚书。阿房久已灭,阁道遂成墟。欲厌东南气,翻伤掩鲍车。
|
||||
177
src/py3.x/tensorflow2.x/text_gru.py
Normal file
177
src/py3.x/tensorflow2.x/text_gru.py
Normal file
@@ -0,0 +1,177 @@
|
||||
# *-* coding:utf-8 *-*
|
||||
'''
|
||||
代码参考: https://github.com/ioiogoo/poetry_generator_Keras
|
||||
做了一定的简化,作者 @ioiogoo 协议是 MIT
|
||||
'''
|
||||
import re
|
||||
import os
|
||||
import keras
|
||||
import random
|
||||
import numpy as np
|
||||
from keras.callbacks import LambdaCallback
|
||||
from keras.models import load_model
|
||||
from keras.layers import Dropout, Dense, Flatten, Bidirectional, Embedding, GRU
|
||||
from keras.optimizers import Adam
|
||||
# 该目录下的 config.py文件, 数据文件是: poetry.txt
|
||||
from config import Config
|
||||
|
||||
|
||||
def preprocess_file(Config):
|
||||
# 读取文本内容,合并到一个大字符中,用 ] 隔开
|
||||
files_content = ''
|
||||
with open(Config.poetry_file, 'r', encoding='utf-8') as f:
|
||||
for line in f:
|
||||
# 每行的末尾加上"]"符号代表一首诗结束
|
||||
line = re.sub(r"[\]\[()(){}《》:]+", "", line.strip())
|
||||
files_content += line + "]"
|
||||
|
||||
# 按照字存到字典中,字+频率
|
||||
words = [i for i in sorted(list(files_content)) if i != "]"]
|
||||
counted_words = {}
|
||||
for word in words:
|
||||
if word in counted_words:
|
||||
counted_words[word] += 1
|
||||
else:
|
||||
counted_words[word] = 1
|
||||
|
||||
# 去掉低频的字
|
||||
# [('。', 567), (',', 565), ('风', 47), ('花', 42), ('云', 40)]
|
||||
wordPairs = sorted([(k,v) for k,v in counted_words.items() if v>=2], key=lambda x: x[1], reverse=True)
|
||||
# print(wordPairs)
|
||||
|
||||
words, _ = zip(*wordPairs)
|
||||
# word到id的映射
|
||||
word2num = dict((c, i) for i, c in enumerate(words))
|
||||
num2word = dict((i, c) for i, c in enumerate(words))
|
||||
word2numF = lambda x: word2num.get(x, 0)
|
||||
return word2numF, num2word, words, files_content
|
||||
|
||||
|
||||
class PoetryModel(object):
|
||||
def __init__(self, config):
|
||||
self.model = None
|
||||
self.do_train = True
|
||||
self.loaded_model = False
|
||||
self.config = config
|
||||
|
||||
# 文件预处理
|
||||
self.word2numF, self.num2word, self.words, self.files_content = preprocess_file(self.config)
|
||||
|
||||
# 如果模型文件存在则直接加载模型,否则开始训练
|
||||
if os.path.exists(self.config.weight_file):
|
||||
self.model = load_model(self.config.weight_file)
|
||||
self.model.summary()
|
||||
else:
|
||||
self.train()
|
||||
|
||||
self.do_train = False
|
||||
self.loaded_model = True
|
||||
|
||||
def build_model(self):
|
||||
'''构建模型'''
|
||||
model = keras.Sequential()
|
||||
model.add(Embedding(len(self.num2word) + 2, 300, input_length=self.config.max_len))
|
||||
model.add(Bidirectional(GRU(128, return_sequences=True)))
|
||||
model.add(Dropout(0.6))
|
||||
model.add(Flatten())
|
||||
model.add(Dense(len(self.words), activation='softmax'))
|
||||
# 设置优化器
|
||||
optimizer = Adam(lr=self.config.learning_rate)
|
||||
model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
|
||||
self.model = model
|
||||
|
||||
def predict(self, text):
|
||||
'''根据给出的文字,生成诗句'''
|
||||
if not self.loaded_model:
|
||||
return
|
||||
with open(self.config.poetry_file, 'r', encoding='utf-8') as f:
|
||||
file_list = f.readlines()
|
||||
random_line = random.choice(file_list)
|
||||
# 如果给的text不到四个字,则随机补全
|
||||
if not text or len(text) != 4:
|
||||
for _ in range(4 - len(text)):
|
||||
random_str_index = random.randrange(0, len(self.words))
|
||||
text += self.num2word.get(random_str_index) \
|
||||
if self.num2word.get(random_str_index) not in [',', '。', ','] \
|
||||
else self.num2word.get(random_str_index + 1)
|
||||
|
||||
seed = random_line[-(self.config.max_len):-1]
|
||||
|
||||
res = ''
|
||||
seed = 'c' + seed
|
||||
|
||||
for c in text:
|
||||
seed = seed[1:] + c
|
||||
for j in range(5):
|
||||
x_pred = np.zeros((1, self.config.max_len))
|
||||
for t, char in enumerate(seed):
|
||||
x_pred[0, t] = self.word2numF(char)
|
||||
|
||||
preds = self.model.predict(x_pred, verbose=0)[0]
|
||||
next_index = self.sample(preds, 1.0)
|
||||
next_char = self.num2word[next_index]
|
||||
seed = seed[1:] + next_char
|
||||
res += seed
|
||||
return res
|
||||
|
||||
def data_generator(self):
|
||||
'''生成器生成数据'''
|
||||
i = 0
|
||||
while 1:
|
||||
# 如果越界了,就从0再开始
|
||||
if (i + self.config.max_len) > len(self.files_content) -1 :
|
||||
i = 0
|
||||
x = self.files_content[i: i + self.config.max_len]
|
||||
y = self.files_content[i + self.config.max_len]
|
||||
|
||||
puncs = [']', '[', '(', ')', '{', '}', ':', '《', '》', ':']
|
||||
if len([i for i in puncs if i in x]) != 0:
|
||||
i += 1
|
||||
continue
|
||||
if len([i for i in puncs if i in y]) != 0:
|
||||
i += 1
|
||||
continue
|
||||
|
||||
y_vec = np.zeros(
|
||||
shape=(1, len(self.words)),
|
||||
dtype=np.bool
|
||||
)
|
||||
y_vec[0, self.word2numF(y)] = 1.0
|
||||
|
||||
x_vec = np.zeros(
|
||||
shape=(1, self.config.max_len),
|
||||
dtype=np.int32
|
||||
)
|
||||
|
||||
for t, char in enumerate(x):
|
||||
x_vec[0, t] = self.word2numF(char)
|
||||
yield x_vec, y_vec
|
||||
i += 1
|
||||
|
||||
def train(self):
|
||||
'''训练模型'''
|
||||
number_of_epoch = len(self.files_content) // self.config.batch_size
|
||||
|
||||
if not self.model:
|
||||
self.build_model()
|
||||
|
||||
self.model.summary()
|
||||
|
||||
self.model.fit_generator(
|
||||
generator=self.data_generator(),
|
||||
verbose=True,
|
||||
steps_per_epoch=self.config.batch_size,
|
||||
epochs=number_of_epoch,
|
||||
callbacks=[
|
||||
keras.callbacks.ModelCheckpoint(self.config.weight_file, save_weights_only=False),
|
||||
LambdaCallback(on_epoch_end=self.generate_sample_result)
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
model = PoetryModel(Config)
|
||||
while 1:
|
||||
text = input("text:")
|
||||
sentence = model.predict(text)
|
||||
print(sentence)
|
||||
Reference in New Issue
Block a user