当前位置: 首页 > wzjs >正文

中国工程建设信息网站网站权重收录

中国工程建设信息网站,网站权重收录,四川网站建设平台,微信网站搭建文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 这里我们使用tensorflow实现,代码如下: # 完整代码在这里 imp…

文章目录

    • 一、完整代码
    • 二、过程实现
      • 2.1 导包
      • 2.2 数据准备
      • 2.3 字符分词
      • 2.4 构建数据集
      • 2.5 定义模型
      • 2.6 模型训练
      • 2.7 模型推理
    • 三、整体总结

采用RNN和unicode分词进行文本生成

一、完整代码

这里我们使用tensorflow实现,代码如下:

# 完整代码在这里
import tensorflow as tf
import keras_nlp
import numpy as nptokenizer = keras_nlp.tokenizers.UnicodeCodepointTokenizer(vocabulary_size=400)# tokens - ids
ids = tokenizer(['Why are you so funny?', 'how can i get you'])# ids - tokens
tokenizer.detokenize(ids)def split_input_target(sequence):input_text = sequence[:-1]target_text = sequence[1:]return input_text, target_text# 准备数据
text = open('./shakespeare.txt', 'rb').read().decode(encoding='utf-8')
dataset = tf.data.Dataset.from_tensor_slices(tokenizer(text))
dataset = dataset.batch(64, drop_remainder=True)
dataset = dataset.map(split_input_target).batch(64)input, ouput = dataset.take(1).get_single_element()# 定义模型d_model = 512
rnn_units = 1025class CustomModel(tf.keras.Model):def __init__(self, vocabulary_size, d_model, rnn_units):super().__init__(self)self.embedding = tf.keras.layers.Embedding(vocabulary_size, d_model)self.gru = tf.keras.layers.GRU(rnn_units, return_sequences=True, return_state=True)self.dense = tf.keras.layers.Dense(vocabulary_size, activation='softmax')def call(self, inputs, states=None, return_state=False, training=False):x = inputsx = self.embedding(x)if states is None:states = self.gru.get_initial_state(x)x, states = self.gru(x, initial_state=states, training=training)x = self.dense(x, training=training)if return_state:return x, stateselse:return xmodel = CustomModel(tokenizer.vocabulary_size(), d_model, rnn_units)# 查看模型结构
model(input)
model.summary()# 模型配置
model.compile(loss = tf.losses.SparseCategoricalCrossentropy(),optimizer='adam',metrics=['accuracy']
)# 模型训练
model.fit(dataset, epochs=3)# 模型推理
class InferenceModel(tf.keras.Model):def __init__(self, model, tokenizer):super().__init__(self)self.model = modelself.tokenizer = tokenizerdef generate(self, inputs, length, return_states=False):inputs = inputs = tf.constant(inputs)[tf.newaxis]states = Noneinput_ids = self.tokenizer(inputs).to_tensor()outputs = []for i in range(length):predicted_logits, states = model(inputs=input_ids, states=states, return_state=True)input_ids = tf.argmax(predicted_logits, axis=-1)outputs.append(input_ids[0][-1].numpy())outputs = self.tokenizer.detokenize(lst).numpy().decode('utf-8')if return_states:return outputs, stateselse:return outputsinfere = InferenceModel(model, tokenizer)# 开始推理
start_chars = 'hello'
outputs = infere.generate(start_chars, 1000)
print(start_chars + outputs)

二、过程实现

2.1 导包

先导包tensorflow, keras_nlp, numpy

import tensorflow as tf
import keras_nlp
import numpy as np

2.2 数据准备

数据来自莎士比亚的作品 storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt;我们将其下载下来存储为shakespeare.txt

2.3 字符分词

这里我们使用unicode分词:将所有字符都作为一个词来进行分词

tokenizer = keras_nlp.tokenizers.UnicodeCodepointTokenizer(vocabulary_size=400)# tokens - ids
ids = tokenizer(['Why are you so funny?', 'how can i get you'])# ids - tokens
tokenizer.detokenize(ids)

2.4 构建数据集

利用tokenizertext数据构建数据集

def split_input_target(sequence):input_text = sequence[:-1]target_text = sequence[1:]return input_text, target_texttext = open('./shakespeare.txt', 'rb').read().decode(encoding='utf-8')
dataset = tf.data.Dataset.from_tensor_slices(tokenizer(text))
dataset = dataset.batch(64, drop_remainder=True)
dataset = dataset.map(split_input_target).batch(64)input, ouput = dataset.take(1).get_single_element()

2.5 定义模型

d_model = 512
rnn_units = 1025class CustomModel(tf.keras.Model):def __init__(self, vocabulary_size, d_model, rnn_units):super().__init__(self)self.embedding = tf.keras.layers.Embedding(vocabulary_size, d_model)self.gru = tf.keras.layers.GRU(rnn_units, return_sequences=True, return_state=True)self.dense = tf.keras.layers.Dense(vocabulary_size, activation='softmax')def call(self, inputs, states=None, return_state=False, training=False):x = inputsx = self.embedding(x)if states is None:states = self.gru.get_initial_state(x)x, states = self.gru(x, initial_state=states, training=training)x = self.dense(x, training=training)if return_state:return x, stateselse:return xmodel = CustomModel(tokenizer.vocabulary_size(), d_model, rnn_units)# 查看模型结构
model(input)
model.summary()

2.6 模型训练

model.compile(loss = tf.losses.SparseCategoricalCrossentropy(),optimizer='adam',metrics=['accuracy']
)model.fit(dataset, epochs=3)

2.7 模型推理

定义一个InferenceModel进行模型推理配置;

class InferenceModel(tf.keras.Model):def __init__(self, model, tokenizer):super().__init__(self)self.model = modelself.tokenizer = tokenizerdef generate(self, inputs, length, return_states=False):inputs = inputs = tf.constant(inputs)[tf.newaxis]states = Noneinput_ids = self.tokenizer(inputs).to_tensor()outputs = []for i in range(length):predicted_logits, states = model(inputs=input_ids, states=states, return_state=True)input_ids = tf.argmax(predicted_logits, axis=-1)outputs.append(input_ids[0][-1].numpy())outputs = self.tokenizer.detokenize(lst).numpy().decode('utf-8')if return_states:return outputs, stateselse:return outputsinfere = InferenceModel(model, tokenizer)start_chars = 'hello'
outputs = infere.generate(start_chars, 1000)
print(start_chars + outputs)

生成结果如下所示,感觉很差:

hellonofur us:
medous, teserwomador.
walled o y.
as
t aderemowate tinievearetyedust. manonels,
w?
workeneastily.
watrenerdores aner'shra
palathermalod, te a y, s adousced an
ptit: mamerethus:
bas as t: uaruriryedinesm's lesoureris lares palit al ancoup, maly thitts?
b veatrt
watyeleditenchitr sts, on fotearen, medan ur
tiblainou-lele priniseryo, ofonet manad plenerulyo
thilyr't th
palezedorine.
ti dous slas, sed, ang atad t,
wanti shew.
e
upede wadraredorenksenche:
wedemen stamesly ateara tiafin t t pes:
t: tus mo at
io my.
ane hbrelely berenerusedus' m tr;
p outellilid ng
ait tevadwantstry.
arafincara, es fody
'es pra aluserelyonine
pales corseryea aburures
angab:
sunelyothe: s al, chtaburoly o oonis s tioute tt,
pro.
tedeslenali: s 't ing h
sh, age de, anet: hathes: s es'tht,
as:
wedly at s serinechamai:
mored t.
t monatht t athoumonches le.
chededondirineared
ter
p y
letinalys
ani
aconen,
t rs:
t;et, tes-
luste aly,
thonort aly one telus, s mpsantenam ranthinarrame! a
pul; bon
s fofuly

三、整体总结

RNN结合unicode分词能进行文本生成但是效果一言难尽!


文章转载自:

http://3PEc9L7B.tfrLj.cn
http://bkCaCUkV.tfrLj.cn
http://ySEvLVio.tfrLj.cn
http://hUY3Gskj.tfrLj.cn
http://xkPxq9vG.tfrLj.cn
http://OvnxOvoF.tfrLj.cn
http://qvZGcNKi.tfrLj.cn
http://DNexIFwB.tfrLj.cn
http://Trww8ixA.tfrLj.cn
http://eyaoURyl.tfrLj.cn
http://DoXUVPTe.tfrLj.cn
http://GgrD1k2C.tfrLj.cn
http://Z52OjsNO.tfrLj.cn
http://QLNkRlac.tfrLj.cn
http://kmn682ZX.tfrLj.cn
http://bpTMQSTy.tfrLj.cn
http://zUQbHxJX.tfrLj.cn
http://WUtwZ3nR.tfrLj.cn
http://qwFAvh9o.tfrLj.cn
http://Tt16S9W6.tfrLj.cn
http://sBIQYF7y.tfrLj.cn
http://EZOqTK7q.tfrLj.cn
http://9zs8WdmN.tfrLj.cn
http://qWN6WQQh.tfrLj.cn
http://xWdodSal.tfrLj.cn
http://rzGCeVis.tfrLj.cn
http://l9YWayBY.tfrLj.cn
http://eTh6DYIc.tfrLj.cn
http://iVpjVlG3.tfrLj.cn
http://MmZTzfgN.tfrLj.cn
http://www.dtcms.com/wzjs/718856.html

相关文章:

  • 主要搜索引擎网站搜索结果比较红孩子母婴网站开发背景
  • 工信部网站首页pc做网站服务器吗
  • 网站的经典推广方法衡水建设企业网站
  • 网站seo快速排名云南省建设工程造价信息网官网
  • 网站做导航的地图导航发布信息的软件
  • 平面设计师素材网站响应式网站制作价格
  • 怎么找做网站的公司医疗网站建设效果
  • 网站 开发流程收录网
  • 哈尔滨网站建设招聘软件盒子wordpress
  • 做导购类网站制作一个网站的费用是多少
  • 成都建立网站的公司网站网站开发工具的功能
  • 做企业平台的网站有哪些烟台专业的网站建站公司
  • 专业企业建站价格jsp做的网站可以用的
  • 清新大气企业公司网站源码新乡seo公司
  • 网站价格表wordpress 主题和搭建
  • 服饰怎么做网站推广网页设计基础实训目的
  • 黄冈手机网站建设百度指数第一
  • .湖南省建设厅规范网站个人全屏网站模板
  • 福州小学网站建设数字化营销方案
  • 社区微网站建设方案广东建设协会网站首页
  • 什么网站做的最好虚拟货币网站建设
  • 镇江有哪些网站加盟网站开发费用
  • 盘锦做网站多少钱网上买保险有哪些平台
  • 医院网站建设的好处百度下载免费官方安装
  • 手表 网站策划哪个网站可以找人做橱柜
  • 网站建设与维护是什么意思做棋牌开发的网站
  • 私人做网站的流程php网站模板免费下载
  • 互联网站备案表做家教一般在哪个网站
  • 大石桥网站制作商业网站建设与维护
  • 山药云搭建网站今天广西紧急通知最新