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

wordpress能开发商城网站吗咸阳建设局网站

wordpress能开发商城网站吗,咸阳建设局网站,光明区建设局网站,苏州定制建站网站建设目录 门候选隐状态隐状态门控循环单元GRU从零开始实现代码初始化模型参数定义隐藏状态的初始化函数定义门控循环单元模型训练该部分总代码简洁代码实现 做RNN的时候处理不了太长的序列#xff0c;这是因为把整个序列信息全部放在隐藏状态里面#xff0c;当时间很长的话#… 目录 门候选隐状态隐状态门控循环单元GRU从零开始实现代码初始化模型参数定义隐藏状态的初始化函数定义门控循环单元模型训练该部分总代码简洁代码实现 做RNN的时候处理不了太长的序列这是因为把整个序列信息全部放在隐藏状态里面当时间很长的话隐藏状态可能就会累计很多东西所以对于前面很久以前的信息不易从中抽取出来了。 门 R t R_t Rt​就是重置 Z t Z_t Zt​就是更新 门是跟隐藏状态同样长度的一个向量计算方式跟RNN的隐藏状态是一样的。 候选隐状态 假设 R t R_t Rt​里面的元素靠近零的话那么 R t R_t Rt​点乘 H t − 1 H_{t-1} Ht−1​就会变得像零。就等于是把上一个时刻的隐藏状态忘掉。 如果全部设成0就变成了初始状态等于这个时刻开始前面的信息全部不要。 如果全部设成1就表示所有前面的信息全部拿过来做当前的更新。 隐状态 H t H_t Ht​等于 Z t Z_t Zt​按元素点乘上一次的隐藏状态(1- Z t Z_t Zt​)按元素点乘候选隐藏状态 Z t Z_t Zt​是一个控制单元叫做update gate。它是在0-1之间的数字。 假设 Z t Z_t Zt​都等于1。就是不更新过去的状态把过去的状态放到现在 假设 Z t Z_t Zt​都等于0。不直接拿过去的状态了基本上看现在的更新状态 Z t Z_t Zt​里面全0且 R t R_t Rt​里面全1的时候就回到我们RNN的情况下。 门控循环单元GRU从零开始实现代码 import torch from torch import nn from d2l import torch as d2lbatch_size, num_steps 32, 3 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps)初始化模型参数 def get_params(vocab_size, num_hiddens, device):num_inputs num_outputs vocab_sizedef normal(shape):return torch.randn(sizeshape, devicedevice) * 0.01# 定义一个函数生成三组权重和偏置张量用于不同的门控机制def three():return (normal((num_inputs, num_hiddens)),normal((num_hiddens, num_hiddens)),torch.zeros(num_hiddens, devicedevice))W_xz, W_hz, b_z three() # GRU多了这两行,更新门的权重和偏置W_xr, W_hr, b_r three() # GRU多了这两行重置门的权重和偏置W_xh, W_hh, b_h three() # 候选隐藏状态的权重和偏置# 隐藏状态到输出的权重W_hq normal((num_hiddens, num_outputs))# 输出的偏置b_q torch.zeros(num_outputs, devicedevice)params [W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q]# 遍历参数列表中所有参数for param in params:param.requires_grad_(True)return params 定义隐藏状态的初始化函数 定义隐状态的初始化函数init_gru_state。与之前定义的init_rnn_state函数一样此函数返回一个形状为批量大小隐藏单元个数的张量张量的值全部为零。 def init_gru_state(batch_size, num_hiddens, device):return (torch.zeros((batch_size, num_hiddens), devicedevice), )定义门控循环单元模型 def gru(inputs, state, params):W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q paramsH, stateoutputs []for X in inputs:Z torch.sigmoid((X W_xz) (H W_hz) b_z)R torch.sigmoid((X W_xr) (H W_hr) b_r)H_tilda torch.tanh((X W_xh) ((R * H) W_hh) b_h)H Z * H (1 - Z) * H_tildaY H W_hq b_qoutputs.append(Y)return torch.cat(outputs, dim0), (H,)训练 vocab_size, num_hiddens, device len(vocab), 256, d2l.try_gpu() num_epochs, lr 500, 1 model d2l.RNNModelScratch(len(vocab), num_hiddens, device, get_params,init_gru_state, gru) d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)该部分总代码 import torch from torch import nn from d2l import torch as d2l# 初始化模型参数 def get_params(vocab_size, num_hiddens, device):num_inputs num_outputs vocab_sizedef normal(shape):return torch.randn(sizeshape, devicedevice) * 0.01# 定义一个函数生成三组权重和偏置张量用于不同的门控机制def three():return (normal((num_inputs, num_hiddens)),normal((num_hiddens, num_hiddens)),torch.zeros(num_hiddens, devicedevice))# 初始化GRU中的权重和偏置# 权重和偏置用于控制更新门W_xz, W_hz, b_z three() # GRU多了这两行# 权重和偏置用于控制重置门W_xr, W_hr, b_r three() # GRU多了这两行W_xh, W_hh, b_h three()W_hq normal((num_hiddens, num_outputs))b_q torch.zeros(num_outputs, devicedevice)params [W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q]for param in params:param.requires_grad_(True)return params# 定义隐藏状态的初始化函数 def init_gru_state(batch_size, num_hiddens, device):return (torch.zeros((batch_size, num_hiddens), devicedevice),)# 定义门控循环单元模型 def gru(inputs, state, params):# 参数 params 解包为多个变量分别表示模型中的权重和偏置W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q paramsH, stateoutputs []# 遍历输入序列中的每个时间步for X in inputs:# 更新门控机制 ZZ torch.sigmoid((X W_xz) (H W_hz) b_z)# 重置门控机制 RR torch.sigmoid((X W_xr) (H W_hr) b_r)H_tilda torch.tanh((X W_xh) ((R * H) W_hh) b_h)H Z * H (1 - Z) * H_tildaY H W_hq b_qoutputs.append(Y)# 将所有输出拼接在一起并返回拼接后的结果和最终的隐藏状态return torch.cat(outputs, dim0), (H,)batch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps) vocab_size, num_hiddens, device len(vocab), 256, d2l.try_gpu() num_epochs, lr 500, 1 model d2l.RNNModelScratch(len(vocab), num_hiddens, device, get_params, init_gru_state, gru) d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device) d2l.plt.show() 简洁代码实现 from torch import nn from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps) vocab_size, num_hiddens, device len(vocab), 256, d2l.try_gpu() num_epochs, lr 500, 1 num_inputs vocab_size gru_layer nn.GRU(num_inputs, num_hiddens) model d2l.RNNModel(gru_layer, len(vocab)) model model.to(device) d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device) d2l.plt.show()
http://www.hkea.cn/news/14292688/

相关文章:

  • 建设工程招聘网网站建设 优化
  • 广州市建设工程造价管理站新手建网站
  • 学生版 建设网站软件下载seo推广网站
  • 网站建设帖子商业软文怎么写
  • 网站建设 做一个网站需要多少钱网站域名自动跳转
  • 绍兴网站制作建设更改wordpress所有的链接
  • 不收费推广网站有哪些南京网站设计公司兴田德润可以不
  • 网站主流服务器语言荣成市建设局网站是什么
  • 制作外贸网站公关公司服务的特点包括
  • 以背景做网站视频为营销策划方案包括哪些内容
  • flash+xml网站模板陕西建设网官方网站
  • 山西手机版建站系统信息西安北郊网站开发
  • 网站建设续费催款通知书谁有免费网址发给我谢谢
  • wordpress 加ico贵阳seo网站建设
  • 网站建设公司华网天兰州迅豹网络
  • 建设银行广东分行网站玄圭做网站怎么样
  • 怎么删除ghost wordpress镇海阿里巴巴关键词优化
  • 茂名建站模板搭建现在用什么做网站
  • 做商城网站需要备案什么域名回收手表网站
  • 企业网站开发技术题库网站策划选题
  • 电子商务网站建设目标及利益分析兽装定制网站
  • 福州 网站备案衡水企业网站建设价格
  • wordpress网站缓存安装织梦cms是什么
  • 做快手网站怎么部署wordpress
  • 做网站哪家正规环保网站查询碾米是否做备案
  • 网站设计评语外贸做的社交网站
  • 模板网站建设青岛广告费内包括网站建设
  • 带数据库网站模板小型教育网站开发
  • 分类信息建站系统网络连接
  • 网站广告出价平台门户网站建设管理工作