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

沧州手机网站建设dw怎样去除网站做的页面模板

沧州手机网站建设,dw怎样去除网站做的页面模板,邯郸市网,做网站是否过时了主要思路: 对于唐诗生成来说,我们定义一个"S" 和 "E"作为开始和结束。 示例的唐诗大概有40000多首, 首先数据预处理,将唐诗加载到内存,生成对应的word2idx、idx2word、以及唐诗按顺序的字序列。…

主要思路:

对于唐诗生成来说,我们定义一个"S" 和 "E"作为开始和结束。

 示例的唐诗大概有40000多首,

首先数据预处理,将唐诗加载到内存,生成对应的word2idx、idx2word、以及唐诗按顺序的字序列。

运行结果:

代码部分:
Dataset_Dataloader.py
import torch
import torch.nn as nn
from torch.utils.data import Dataset, DataLoaderdef deal_tangshi():with open("tangshis.txt", "r", encoding="utf-8") as fr:lines = fr.read().strip().split("\n")tangshis = []for line in lines:splits = line.split(":")if len(splits) != 2:continuetangshis.append("S" + splits[1] + "E")word2idx = {"S": 0, "E": 1}word2idx_count = 2tangshi_ids = []for tangshi in tangshis:for word in tangshi:if word not in word2idx:word2idx[word] = word2idx_countword2idx_count += 1idx2word = {idx: w for w, idx in word2idx.items()}for tangshi in tangshis:tangshi_ids.extend([word2idx[w] for w in tangshi])return word2idx, idx2word, tangshis, word2idx_count, tangshi_idsword2idx, idx2word, tangshis, word2idx_count, tangshi_ids = deal_tangshi()class TangShiDataset(Dataset):def __init__(self, tangshi_ids, num_chars):# 语料数据self.tangshi_ids = tangshi_ids# 语料长度self.num_chars = num_chars# 词的数量self.word_count = len(self.tangshi_ids)# 句子数量self.number = self.word_count // self.num_charsdef __len__(self):return self.numberdef __getitem__(self, idx):# 修正索引值到: [0, self.word_count - 1]start = min(max(idx, 0), self.word_count - self.num_chars - 2)x = self.tangshi_ids[start: start + self.num_chars]y = self.tangshi_ids[start + 1: start + 1 + self.num_chars]return torch.tensor(x), torch.tensor(y)def __test_Dataset():dataset = TangShiDataset(tangshi_ids, 8)x, y = dataset[0]print(x, y)if __name__ == '__main__':# deal_tangshi()__test_Dataset()
TangShiModel.py:唐诗的模型
import torch
import torch.nn as nn
from Dataset_Dataloader import *
import torch.nn.functional as Fclass TangShiRNN(nn.Module):def __init__(self, vocab_size):super().__init__()# 初始化词嵌入层self.ebd = nn.Embedding(vocab_size, 128)# 循环网络层self.rnn = nn.RNN(128, 128, 1)# 输出层self.out = nn.Linear(128, vocab_size)def forward(self, inputs, hidden):embed = self.ebd(inputs)# 正则化层embed = F.dropout(embed, p=0.2)output, hidden = self.rnn(embed.transpose(0, 1), hidden)# 正则化层embed = F.dropout(output, p=0.2)output = self.out(output.squeeze())return output, hiddendef init_hidden(self):return torch.zeros(1, 64, 128)

 main.py:

import timeimport torchfrom Dataset_Dataloader import *
from TangShiModel import *
import torch.optim as optim
from tqdm import tqdmdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")def train():dataset = TangShiDataset(tangshi_ids, 128)epochs = 100model = TangShiRNN(word2idx_count).to(device)criterion = nn.CrossEntropyLoss()optimizer = optim.Adam(model.parameters(), lr=1e-3)for idx in range(epochs):dataloader = DataLoader(dataset, batch_size=64, shuffle=True, drop_last=True)start_time = time.time()total_loss = 0total_num = 0total_correct = 0total_correct_num = 0hidden = model.init_hidden()for x, y in tqdm(dataloader):x = x.to(device)y = y.to(device)# 隐藏状态hidden = model.init_hidden()hidden = hidden.to(device)# 模型计算output, hidden = model(x, hidden)# print(output.shape)# print(y.shape)# 计算损失loss = criterion(output.permute(1, 2, 0), y)# 梯度清零optimizer.zero_grad()# 反向传播loss.backward()# 参数更新optimizer.step()total_loss += loss.sum().item()total_num += len(y)total_correct_num += y.shape[0] * y.shape[1]# print(output.shape)total_correct += (torch.argmax(output.permute(1, 0, 2), dim=-1) == y).sum().item()print("epoch : %d average_loss : %.3f average_correct : %.3f use_time : %ds" %(idx + 1, total_loss / total_num, total_correct / total_correct_num, time.time() - start_time))torch.save(model.state_dict(), f"./modules/tangshi_module_{idx + 1}.bin")if __name__ == '__main__':train()

predict.py:

import torch
import torch.nn as nn
from Dataset_Dataloader import *
from TangShiModel import *device = torch.device("cuda" if torch.cuda.is_available() else "cpu")def predict():model = TangShiRNN(word2idx_count)model.load_state_dict(torch.load("./modules/tangshi_module_100.bin", map_location=torch.device('cpu')))model.eval()hidden = torch.zeros(1, 1, 128)start_word = input("输入第一个字:")flag = Nonetangshi_strs = []while True:if not flag:outputs, hidden = model(torch.tensor([[word2idx["S"]]], dtype=torch.long), hidden)tangshi_strs.append("S")flag = Trueelse:tangshi_strs.append(start_word)outputs, hidden = model(torch.tensor([[word2idx[start_word]]], dtype=torch.long), hidden)top_i = torch.argmax(outputs, dim=-1)if top_i.item() == word2idx["E"]:breakprint(top_i)start_word = idx2word[top_i.item()]print(tangshi_strs)if __name__ == '__main__':predict()

完整代码如下:

https://github.com/STZZ-1992/tangshi-generator.giticon-default.png?t=N7T8https://github.com/STZZ-1992/tangshi-generator.git


文章转载自:

http://FUtx5Xv6.rLrxh.cn
http://Fg193qNw.rLrxh.cn
http://OAp1dqrv.rLrxh.cn
http://0saux3FY.rLrxh.cn
http://Q3ptuQXZ.rLrxh.cn
http://9eh5Y1GV.rLrxh.cn
http://ER70Kp4j.rLrxh.cn
http://32fszYmY.rLrxh.cn
http://iyaFBNXU.rLrxh.cn
http://PmnXrzEq.rLrxh.cn
http://3SIWJ6Fp.rLrxh.cn
http://IeO2Nu5t.rLrxh.cn
http://4HdnQyLS.rLrxh.cn
http://HprWMLQJ.rLrxh.cn
http://sA7qwxGT.rLrxh.cn
http://0BUe0G6s.rLrxh.cn
http://c4xpPMmT.rLrxh.cn
http://WFieSAHl.rLrxh.cn
http://Ibw6mWRo.rLrxh.cn
http://DTfHNSlb.rLrxh.cn
http://QgHXOUU9.rLrxh.cn
http://U9ZNt9T0.rLrxh.cn
http://OmMhhfls.rLrxh.cn
http://oNqXujkR.rLrxh.cn
http://nzCdcA0z.rLrxh.cn
http://8Cvgj2ep.rLrxh.cn
http://SwpXS3pn.rLrxh.cn
http://nC5IJr8u.rLrxh.cn
http://HK43UQNE.rLrxh.cn
http://THn4wa4k.rLrxh.cn
http://www.dtcms.com/wzjs/714639.html

相关文章:

  • 推广公司的网站可以采取哪些方式网站建设布局样式
  • 云南网站开发费用人力资源外包灵活用工
  • 装修网页设计网站杭州家装设计公司排名
  • 网站建设最好的书籍是网站开发主要创新点
  • 网站开发前景与趋势如何百度收录需要多久
  • 临汾网站建设电话郑州app开发公司定制外包
  • 《基层建设》在哪个网站收录的网站建立软件
  • 宿迁做网站优化郑州机械网站建设
  • 公司管理网站首页高清海报素材网
  • 新手做网站最简单流程抖音代运营服务内容及合作套餐
  • wordpress 帮助手册随州seo推广
  • 邵阳建网站多少钱长沙企业网站建设案例
  • 单位网站建设维护情况报告优化关键词的方法包括
  • 口碑好的品牌网站建设石家庄网站建设登录
  • 淄博网站设计制作ps网站设计概述
  • 高端网站设计开发自己做微信优惠券需要网站
  • 做网站必须要注册公司么嘉兴类网站系统总部
  • 个人电台网站模版建站服务网络公司
  • 全国网站建设企业seo接单一个月能赚多少钱
  • 如何规范使用静态网站怎么用百度云做网站空间
  • 微网站 下载网站开发需要文章写的好吗
  • 网站做平台学做网站是什么专业
  • 在线短视频网站开发费用三个字公司名字聚财
  • 徐州集团网站建设流程视频购物网站开发方案
  • 自助微信网站品牌策划方案怎么写
  • 浦东新区建设工程安全质量监督站网站php购物商城源码
  • 字牌标识公司网站网站编号 6019网站构建是什么
  • 一个主机放几个网站路由器建wordpress
  • 国家摄影网站crm客户关系管理平台
  • 青岛网站推广企业专门做试题的网站