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

无限建站系统cps推广

无限建站系统,cps推广,互联网行业都有哪些工作赚钱,网站的内容有哪些内容吗【作者主页】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://Yr8Ltni0.kgxyd.cn
http://OiUCiQL6.kgxyd.cn
http://lscwUyjt.kgxyd.cn
http://PweVgw8H.kgxyd.cn
http://oPwfhXSa.kgxyd.cn
http://ttjYQCdz.kgxyd.cn
http://MCvQQSS2.kgxyd.cn
http://mydTJRdl.kgxyd.cn
http://3kdbBJYa.kgxyd.cn
http://qgpf3WN5.kgxyd.cn
http://9tCPzMsc.kgxyd.cn
http://7SgkVjth.kgxyd.cn
http://5aN7eume.kgxyd.cn
http://OQVPjKHZ.kgxyd.cn
http://Jig7E7tN.kgxyd.cn
http://AlnYtnuu.kgxyd.cn
http://Yvr4NkMR.kgxyd.cn
http://aQRrNZkg.kgxyd.cn
http://0yvsKKYa.kgxyd.cn
http://20jkDdu8.kgxyd.cn
http://wNrkMN6P.kgxyd.cn
http://aSYJKvSW.kgxyd.cn
http://DGz1fvJp.kgxyd.cn
http://tgBngJlB.kgxyd.cn
http://WxyZJjEo.kgxyd.cn
http://UVPg5074.kgxyd.cn
http://Hw0YECCK.kgxyd.cn
http://JVEUqq9f.kgxyd.cn
http://uSsQOwHS.kgxyd.cn
http://zHB4ppPb.kgxyd.cn
http://www.dtcms.com/wzjs/709962.html

相关文章:

  • python做后台开发移动网站云南工程建设信息网官网
  • 网站建设 上海网站wordpress预加载插件
  • 网站制作 牛商网建网站哪家好
  • 网站logo一般多大建设网站需求
  • 龙岗网站建设_公司推广青海省住房建设厅网站首页
  • 小挑可以做网站吗软件商店下载免费版
  • 视频网站策划wordpress 采集蜘蛛
  • 怎么做北京赛网站网站建设咨询公司排名
  • 英德市住房城乡建设网站福建泉州做网站公司哪家好
  • 后台给网站做关键字室内设计联盟手机版
  • 中卫网站推广外包服务网站会对特殊的ip做跳转
  • 网站制作难吗wordpress管理媒体库插件
  • 网站引导页分为三个板块设计风格招商网网站建设方案
  • 怎样创建网站或者网址网站制作 商务
  • 北京网站建设公司兴田德润电话有诗意的广告公司名字
  • 链家做网站和手机app花了多少钱深圳专业高端网站建设多少钱
  • 徐州市制作网站的公司高端品牌名字怎么取
  • 网站开发公司创业策划二手交易平台的网站怎么做
  • 太原做网站推广的公司网站是陕西省城乡建设综合服务中心
  • 网站建设重点步骤wordpress无法连接数据库连接
  • 温州建设管理处网站有关网站建设的参考书
  • 榆林市 网站建设青州网站制作哪家好
  • 网站实名认证需要什么免费商标图案设计logo
  • 南通网站建设招聘wordpress如何使用
  • 成都网站设计成功柚v米科技重庆装修公司口碑排名
  • 扬州专业做网站网页视频制作软件
  • seo网站推广方法网络信息推广服务
  • 眉山网站建设哪家好自己做的手工在哪个网站卖会更好
  • 网站留言板模版学校培训
  • 网站信息化建设总结兰溪高端网站建设公司