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

无限建站系统宁波seo推广公司排名

无限建站系统,宁波seo推广公司排名,摄图网的图片可以做网站吗,龙岗在线网站制作【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…

在这里插入图片描述

【作者主页】Francek Chen
【专栏介绍】 ⌈ ⌈ PyTorch深度学习 ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。
【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。

文章目录

    • 一、定义模型
    • 二、训练与预测
    • 小结


  虽然循环神经网络的从零开始实现对了解循环神经网络的实现方式具有指导意义,但并不方便。本节将展示如何使用深度学习框架的高级API提供的函数更有效地实现相同的语言模型。我们仍然从读取时光机器数据集开始。

import torch
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2lbatch_size, num_steps = 32, 35
train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)

一、定义模型

  高级API提供了循环神经网络的实现。我们构造一个具有256个隐藏单元的单隐藏层的循环神经网络层rnn_layer。事实上,我们还没有讨论多层循环神经网络的意义(这将在深度循环神经网络中介绍)。现在仅需要将多层理解为一层循环神经网络的输出被用作下一层循环神经网络的输入就足够了。

num_hiddens = 256
rnn_layer = nn.RNN(len(vocab), num_hiddens)

  我们使用张量来初始化隐状态,它的形状是(隐藏层数,批量大小,隐藏单元数)。

state = torch.zeros((1, batch_size, num_hiddens))
state.shape

在这里插入图片描述

  通过一个隐状态和一个输入,我们就可以用更新后的隐状态计算输出。需要强调的是,rnn_layer的“输出”(Y)不涉及输出层的计算:它是指每个时间步的隐状态,这些隐状态可以用作后续输出层的输入。

X = torch.rand(size=(num_steps, batch_size, len(vocab)))
Y, state_new = rnn_layer(X, state)
Y.shape, state_new.shape

在这里插入图片描述

  与循环神经网络的从零开始实现类似,我们为一个完整的循环神经网络模型定义了一个RNNModel类。注意,rnn_layer只包含隐藏的循环层,我们还需要创建一个单独的输出层。

#@save
class RNNModel(nn.Module):"""循环神经网络模型"""def __init__(self, rnn_layer, vocab_size, **kwargs):super(RNNModel, self).__init__(**kwargs)self.rnn = rnn_layerself.vocab_size = vocab_sizeself.num_hiddens = self.rnn.hidden_size# 如果RNN是双向的(之后将介绍),num_directions应该是2,否则应该是1if not self.rnn.bidirectional:self.num_directions = 1self.linear = nn.Linear(self.num_hiddens, self.vocab_size)else:self.num_directions = 2self.linear = nn.Linear(self.num_hiddens * 2, self.vocab_size)def forward(self, inputs, state):X = F.one_hot(inputs.T.long(), self.vocab_size)X = X.to(torch.float32)Y, state = self.rnn(X, state)# 全连接层首先将Y的形状改为(时间步数*批量大小,隐藏单元数)# 它的输出形状是(时间步数*批量大小,词表大小)。output = self.linear(Y.reshape((-1, Y.shape[-1])))return output, statedef begin_state(self, device, batch_size=1):if not isinstance(self.rnn, nn.LSTM):# nn.GRU以张量作为隐状态return  torch.zeros((self.num_directions * self.rnn.num_layers,batch_size, self.num_hiddens), device=device)else:# nn.LSTM以元组作为隐状态return (torch.zeros((self.num_directions * self.rnn.num_layers,batch_size, self.num_hiddens), device=device),torch.zeros((self.num_directions * self.rnn.num_layers,batch_size, self.num_hiddens), device=device))

二、训练与预测

  在训练模型之前,让我们基于一个具有随机权重的模型进行预测。

device = d2l.try_gpu()
net = RNNModel(rnn_layer, vocab_size=len(vocab))
net = net.to(device)
d2l.predict_ch8('time traveller', 10, net, vocab, device)

在这里插入图片描述

  很明显,这种模型根本不能输出好的结果。接下来,我们使用循环神经网络的从零开始实现中定义的超参数调用train_ch8,并且使用高级API训练模型。

num_epochs, lr = 500, 1
d2l.train_ch8(net, train_iter, vocab, lr, num_epochs, device)

在这里插入图片描述
在这里插入图片描述

  与上一节相比,由于深度学习框架的高级API对代码进行了更多的优化,该模型在较短的时间内达到了较低的困惑度。

小结

  • 深度学习框架的高级API提供了循环神经网络层的实现。
  • 高级API的循环神经网络层返回一个输出和一个更新后的隐状态,我们还需要计算整个模型的输出层。
  • 相比从零开始实现的循环神经网络,使用高级API实现可以加速训练。

文章转载自:

http://2vaVVa6A.jwgmx.cn
http://y5HN7K9p.jwgmx.cn
http://Y6YAbi9g.jwgmx.cn
http://mAo6gUSr.jwgmx.cn
http://jS7PIskQ.jwgmx.cn
http://Q4AHu13D.jwgmx.cn
http://7SY7mg63.jwgmx.cn
http://VuCfTuRr.jwgmx.cn
http://eyKgmcYt.jwgmx.cn
http://ycUBnksM.jwgmx.cn
http://4tboAWJ3.jwgmx.cn
http://UInBjbm4.jwgmx.cn
http://rMbHf5cb.jwgmx.cn
http://0FYw1X5d.jwgmx.cn
http://dEfzds6Y.jwgmx.cn
http://waEyRBmT.jwgmx.cn
http://c818BUlI.jwgmx.cn
http://q8QZJKZc.jwgmx.cn
http://klpxZ2jc.jwgmx.cn
http://RKSYJM6S.jwgmx.cn
http://71FEI3ax.jwgmx.cn
http://hGNhpnGX.jwgmx.cn
http://edTD1jUY.jwgmx.cn
http://1CRp22fU.jwgmx.cn
http://GztByem8.jwgmx.cn
http://jxISbB1l.jwgmx.cn
http://CTPx8vmX.jwgmx.cn
http://6aL0RJNE.jwgmx.cn
http://EeHUe79y.jwgmx.cn
http://TQNtW3B3.jwgmx.cn
http://www.dtcms.com/wzjs/610410.html

相关文章:

  • 如何免费注册网站平台2015做哪个网站致富
  • 外贸公司英文网站怎么做免费制作网站方案
  • 注册公司如何做网站wordpress主题后门
  • 什么是php网站开发钦州市建设网站
  • 营销型网站的分类不包含好看的ui网站页面设计
  • 网站开发员岗位职责外贸整合推广
  • 公司网站建设厂家网站开发框架是什么
  • 做催收的网站若羌县铁路一建设网站
  • 企业网站icp备案申请盘石网站做的怎么样
  • 网站加速代码骏驰网站建设
  • 热门网站建设招商项目网站免费正能量破解版
  • 优化网站平台香奈儿网站建设的目标
  • 医疗网站专题怎样做网站系统接口500异常
  • 做网站的尺寸1920网站上的漂浮怎么做
  • 网站建设和实现wordpress任意文件删除漏洞
  • 织梦制作手机网站模板wap网站建设哪家好
  • 好吊顶网站做网站是做广告吗
  • 天津做公司的网站网站建设浦东
  • 书店网站模板下载微营销工具有哪些
  • 哪个网站做黄金交易最好wordpress get cat
  • 二级网站内容建设要求北京外贸网站制作公司
  • 乐清网络网站建设青海高端网站建设价格
  • 找网站做任务qq红包wordpress页面后缀.html和
  • 网站淘宝客一般怎么做手机装修设计软件app
  • 确定网站文案简单asp网站源码
  • 在哪个网站做视频可以赚钱网站发布与推广方式
  • 事业单位网站方案wordpress即时聊天插件
  • 成都网站开发公司绍兴柯桥哪里有做网站的
  • 商业网站建设与运营运行下打开wordpress
  • 网站架设建设wdcp更改网站域名