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

深圳有什么网站网站提供服务商

深圳有什么网站,网站提供服务商,胶州网站设计公司,静态网站需要数据库吗[oneAPI] 使用字符级 RNN 生成名称 oneAPI特殊写法使用字符级 RNN 生成名称Intel Optimization for PyTorch数据下载加载数据并对数据进行处理创建网络训练过程准备训练训练网络 结果 参考资料 比赛#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517… [oneAPI] 使用字符级 RNN 生成名称 oneAPI特殊写法使用字符级 RNN 生成名称Intel® Optimization for PyTorch数据下载加载数据并对数据进行处理创建网络训练过程准备训练训练网络 结果 参考资料 比赛https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel® DevCloud for oneAPIhttps://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolkitSamples/ oneAPI特殊写法 import intel_extension_for_pytorch as ipex# Device configuration device torch.device(xpu if torch.cuda.is_available() else cpu)rnn RNN(n_letters, 128, n_letters) optim torch.optim.SGD(rnn.parameters(), lr0.01) Apply Intel Extension for PyTorch optimization against the model object and optimizer object.rnn, optim ipex.optimize(rnn, optimizeroptim)criterion nn.NLLLoss()使用字符级 RNN 生成名称 为了深入探索语言模型在分类和生成方面的卓越能力我们特意设计了一个独特的任务。此任务的独特之处在于它旨在综合学习多种语言的词义特征以确保生成的内容与各种语言的词组相关性一致。 在任务的具体描述中我们提供了一个多语言数据集这个数据集包含多种语言的文本。通过这个数据集我们的目标是使模型能够在生成名称时融合不同语言的特征。具体来说我们会提供一个词的开头作为提示然后模型将能够根据这个开头生成对应语言的名称从而将不同语言的词意和语法特征进行完美融合。 通过这一任务我们旨在实现一个在多语言环境中具有卓越生成和分类能力的语言模型。通过学习并融合不同语言的词义和语法特征我们让使模型具备更广泛的应用潜力能够在不同语境下生成准确、符合语法规则的名称。 python sample.py Russian RUS Rovakov Uantov Shavakov python sample.py German GER Gerren Ereng Rosher python sample.py Spanish SPA Salla Parer Allan python sample.py Chinese CHI Chan Hang IunIntel® Optimization for PyTorch 在本次实验中我们利用PyTorch和Intel® Optimization for PyTorch的强大功能对PyTorch进行了精心的优化和扩展。这些优化举措极大地增强了PyTorch在各种任务中的性能尤其是在英特尔硬件上的表现更加突出。通过这些优化策略我们的模型在训练和推断过程中变得更加敏捷和高效显著地减少了计算时间提高了整体效能。我们通过深度融合硬件和软件的精巧设计成功地释放了硬件潜力使得模型的训练和应用变得更加快速和高效。这一系列优化举措为人工智能应用开辟了新的前景带来了全新的可能性。 数据下载 从这里下载数据 并将其解压到当前目录。 加载数据并对数据进行处理 简而言之有一堆data/names/[Language].txt每行都有一个名称的纯文本文件。我们将行分割成一个数组将 Unicode 转换为 ASCII最后得到一个字典。{language: [names …]} from io import open import glob import os import unicodedata import stringall_letters string.ascii_letters .,;- n_letters len(all_letters) 1 # Plus EOS markerdef findFiles(path): return glob.glob(path)# Turn a Unicode string to plain ASCII, thanks to https://stackoverflow.com/a/518232/2809427 def unicodeToAscii(s):return .join(c for c in unicodedata.normalize(NFD, s)if unicodedata.category(c) ! Mnand c in all_letters)# Read a file and split into lines def readLines(filename):with open(filename, encodingutf-8) as some_file:return [unicodeToAscii(line.strip()) for line in some_file]# Build the category_lines dictionary, a list of lines per category category_lines {} all_categories [] for filename in findFiles(data/names/*.txt):category os.path.splitext(os.path.basename(filename))[0]all_categories.append(category)lines readLines(filename)category_lines[category] linesn_categories len(all_categories)if n_categories 0:raise RuntimeError(Data not found. Make sure that you downloaded data from https://download.pytorch.org/tutorial/data.zip and extract it to the current directory.)print(# categories:, n_categories, all_categories) print(unicodeToAscii(ONéàl))Output: # categories: 18 [Arabic, Chinese, Czech, Dutch, English, French, German, Greek, Irish, Italian, Japanese, Korean, Polish, Portuguese, Russian, Scottish, Spanish, Vietnamese] ONeal创建网络 序列到序列网络或 seq2seq 网络或编码器解码器网络是由两个称为编码器和解码器的 RNN 组成的模型。编码器读取输入序列并输出单个向量解码器读取该向量以产生输出序列。 我添加了第二个线性层o2o在组合隐藏层和输出层之后以赋予其更多的功能。还有一个 dropout 层它以给定的概率此处为 0.1随机将部分输入归零通常用于模糊输入以防止过度拟合。在这里我们在网络末端使用它来故意添加一些混乱并增加采样多样性。 ###################################################################### # Creating the Network # import torch import torch.nn as nnimport intel_extension_for_pytorch as ipexclass RNN(nn.Module):def __init__(self, input_size, hidden_size, output_size):super(RNN, self).__init__()self.hidden_size hidden_sizeself.i2h nn.Linear(n_categories input_size hidden_size, hidden_size)self.i2o nn.Linear(n_categories input_size hidden_size, output_size)self.o2o nn.Linear(hidden_size output_size, output_size)self.dropout nn.Dropout(0.1)self.softmax nn.LogSoftmax(dim1)def forward(self, category, input, hidden):input_combined torch.cat((category, input, hidden), 1)hidden self.i2h(input_combined)output self.i2o(input_combined)output_combined torch.cat((hidden, output), 1)output self.o2o(output_combined)output self.dropout(output)output self.softmax(output)return output, hiddendef initHidden(self):return torch.zeros(1, self.hidden_size)训练过程 准备训练 import random# Random item from a list def randomChoice(l):return l[random.randint(0, len(l) - 1)]# Get a random category and random line from that category def randomTrainingPair():category randomChoice(all_categories)line randomChoice(category_lines[category])return category, line# One-hot vector for category def categoryTensor(category):li all_categories.index(category)tensor torch.zeros(1, n_categories)tensor[0][li] 1return tensor# One-hot matrix of first to last letters (not including EOS) for input def inputTensor(line):tensor torch.zeros(len(line), 1, n_letters)for li in range(len(line)):letter line[li]tensor[li][0][all_letters.find(letter)] 1return tensor# LongTensor of second letter to end (EOS) for target def targetTensor(line):letter_indexes [all_letters.find(line[li]) for li in range(1, len(line))]letter_indexes.append(n_letters - 1) # EOSreturn torch.LongTensor(letter_indexes)为了训练过程中的方便我们将创建一个randomTrainingExample 函数来获取随机类别、线对并将它们转换为所需的类别、输入、目标张量。 # Make category, input, and target tensors from a random category, line pair def randomTrainingExample():category, line randomTrainingPair()category_tensor categoryTensor(category)input_line_tensor inputTensor(line)target_line_tensor targetTensor(line)return category_tensor, input_line_tensor, target_line_tensor训练网络 criterion nn.NLLLoss()learning_rate 0.0005def train(category_tensor, input_line_tensor, target_line_tensor):target_line_tensor.unsqueeze_(-1)hidden rnn.initHidden()rnn.zero_grad()loss torch.Tensor([0]) # you can also just simply use loss 0for i in range(input_line_tensor.size(0)):output, hidden rnn(category_tensor, input_line_tensor[i], hidden)l criterion(output, target_line_tensor[i])loss lloss.backward()for p in rnn.parameters():p.data.add_(p.grad.data, alpha-learning_rate)return output, loss.item() / input_line_tensor.size(0)为了跟踪训练需要多长时间我添加了一个 timeSince(timestamp)返回人类可读字符串的函数 import time import mathdef timeSince(since):now time.time()s now - sincem math.floor(s / 60)s - m * 60return %dm %ds % (m, s)训练就像平常一样 - 多次调用训练并等待几分钟打印当前时间和每个print_every 示例的损失并存储每个plot_every示例的平均损失all_losses以供稍后绘制。 rnn RNN(n_letters, 128, n_letters)n_iters 100000 print_every 5000 plot_every 500 all_losses [] total_loss 0 # Reset every plot_every itersstart time.time()for iter in range(1, n_iters 1):output, loss train(*randomTrainingExample())total_loss lossif iter % print_every 0:print(%s (%d %d%%) %.4f % (timeSince(start), iter, iter / n_iters * 100, loss))if iter % plot_every 0:all_losses.append(total_loss / plot_every)total_loss 0结果 参考资料 https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html#
http://www.hkea.cn/news/14260006/

相关文章:

  • seo网站设计营销工具宝安中心站是几号线
  • 网站管理工作网站建设选哪家公司
  • 一点科技官方网站济南建设网行政审批系统
  • 外贸网站 服务器wordpress解密
  • 新建的网站必须要备案吗网站制作的相关术语
  • 网站建设招标评分中国风配色网站
  • 视频在线制作网站中高端网页设计开发
  • 网站建设与管理pdf网站建设与管理怎么样
  • 怎么创建万维网网站中国最好室内设计公司排名榜
  • 网站运营商查询实训小结网站建设
  • 建设网站公司专业服务泉州网站
  • 发布一个网站需要什么网站改版后 搜索不到
  • 虚拟主机网站500错误广告投放公司
  • 深圳建设局网站首页网页设计教程完整
  • 重庆 手机网站制作培训机构网络推广方案
  • 黄冈网站建设有哪些wordpress的目录结构
  • 网站添加百度商桥企业邮箱号怎么注册
  • 做网站用什么编程电子设计网站
  • 网站seo哪家好成都模板网建站
  • 住房城乡建设部执业资格注册中心网站qq推广工具
  • 基层建设网站是不是停办了杭州有哪些性价比高的网站建设服务商
  • 无锡上海网站建设模板制作安装
  • 网站开发人员职责58招商加盟项目
  • 做视频网站成本高吗网站建设推广工资
  • 郑州模板网站制作直播视频下载
  • 网站制作详情windows2008 iis 网站配置
  • 绍兴cms建站模板网络营销管理名词解释
  • 网站自建设需要买什么时候开始咸阳网站开发
  • 桂林有名网站制作公司胶州哪家公司做网站
  • wordpress网站在线安装建设网站费用一般多少