一、Run the MNIST example

1. 多层感知机(Multi-Layer Perceptron)

(1)InputLayer是一个输入基础。

其中输入的input_var是一个theano.tensor

(batchsize, channels, rows, columns)

shape=(None,1,8,28)参数中,None代表接收任意的输入值,1为颜色通道。

(2)应用dropout层

(3)全连接层

  800个神经单元,激活函数: ReLUs;权重w初始化(这个lasagne.init.GlorotUniform()是默认的,可以不写出来


2. Custom MLP(自定义MLP)

可以运行定制多个层。


(1)CNN

这是feature map层,pad默认为“valid”,即卷积核不能越出图像。“same”可以越出图像,卷积之后跟原来图像大小一样。

3. Loss and update expressions

设置输出和cross-entry:

使用SGD,更新权重和偏向:

get_all_params获取网络中的参数

updates用来更新。

验证集中的预测和loss和准确率:

其中deterministic=True是为了屏蔽dropout层。

二、lasagne实际问题

(1)实现双向RNN

def bulit_gru(self,input_var=None,mask_var=None):"""Bulit the GRU network"""#inputlayerl_in=lasagne.layers.InputLayer(shape=self.input_shape,input_var=input_var,name="l_in")#mask layerl_mask=lasagne.layers.InputLayer(shape=self.mask_shape,input_var=mask_var,name="l_mask")#inpute dropoutl_input_drop=lasagne.layers.DropoutLayer(l_in,p=self.keep_prob_input)#Two GRU forwardl_gru_forward=lasagne.layers.GRULayer(\l_input_drop,num_units=self.gru_size,mask_input=l_mask,name="l_gru_forward1")l_gru_forward=lasagne.layers.GRULayer(\l_gru_forward,num_units=self.gru_size,mask_input=l_mask,only_return_final=True,name="l_gru_forward2")#Two GRU backwardl_gru_backward=lasagne.layers.GRULayer(\l_input_drop,num_units=self.gru_size,mask_input=l_mask,backwards=True,name="l_gru_backward1")l_gru_backward=lasagne.layers.GRULayer(\l_gru_backward,num_units=self.gru_size,mask_input=l_mask,only_return_final=True,backwards=True,name="l_gru_backward2")#output forwardl_outdrop_forward=lasagne.layers.DropoutLayer(l_gru_forward,p=self.keep_prob_forward)#output forwardl_outdrop_backward=lasagne.layers.DropoutLayer(l_gru_backward,p=self.keep_prob_backward)#Merge forward layers and backward layersl_merge=lasagne.layers.ElemwiseSumLayer([l_outdrop_forward,l_outdrop_backward])# Finally, we'll add the fully-connected output layer, of 10 softmax units:l_out = lasagne.layers.DenseLayer(\l_merge, num_units=self.num_classes,\nonlinearity=lasagne.nonlinearities.softmax)return l_out,l_in,l_mask

(2)实现转置

l_in2 = InputLayer(shape=(2,4),input_var=input_in2)#reverse
l_out2=lasagne.layers.DimshuffleLayer(l_in2,(1, 'x', 0))
l_out2=lasagne.layers.ReshapeLayer(l_out2,(4,2))

Lasagne教程+实现双向RNN相关推荐

  1. 循环神经网络教程-第一部分 RNN介绍

    循环神经网络教程-第一部分 RNN介绍 循环神经网络(RNN)是非常流行的模型,它在许多NLP任务上都表现出了巨大的潜力.虽然它很流行,但是详细介绍RNN以及如何实现RNN的文章却很少.这篇教程旨在解 ...

  2. JCIM| 基于双向RNN的分子生成模型

    今天给大家介绍的是被誉为"欧陆第一名校"苏黎世联邦理工学院(ETH Zurich)化学与应用生物科学系博士生Francesca Grisoni和制药行业顾问Gisbert Schn ...

  3. rnn按时间展开_双向RNN的理解

    我们在学习某种神经网络模型时,一定要把如下几点理解透了,才算真正理解了这种神经网络. 网络的架构:包含那些层,每层的输入和输出,有那些模型参数是待优化的 前向传播算法 损失函数的定义 后向传播算法 什 ...

  4. 【Pytorch神经网络理论篇】 18 循环神经网络结构:LSTM结构+双向RNN结构

    1 深层循环神经网络的构建 在深层网络结构中,会将简单的RNN模型从两个角度进行改造,具体如下. 使用更复杂的结构作为RNN模型的基本单元,使其在单层网络上提取更好的记忆特征. 将多个基本单元结合起来 ...

  5. lstm原始论文_RNN及其改版(LSTM, 双向RNN, seq2seq)总结

    RNN(Recurrent Neural Networks) 循环神经网络 目的:考虑连续数据的前后关联影响. 方法:将前(和/或 后)方的数据作为一个权重加入到原有推断中. 作用:预测分析,语义分析 ...

  6. BiLSTM+CRF (一)双向RNN 浅谈

    引言 为什么要使用双向的RNN? 一般的按序列顺序过来的RNN会记录.保存来自前面序列的信息,这些历史信息对当前的输出是很有帮助的.但是有些问题,序列当前位置历史信息和这个位置未来的信息会共同对计算当 ...

  7. 双向RNN:bidirectional_dynamic_rnn()函数

    双向RNN:bidirectional_dynamic_rnn()函数 先说下为什么要使用到双向RNN,在读一篇文章的时候,上文提到的信息十分的重要,但这些信息是不足以捕捉文章信息的,下文隐含的信息同 ...

  8. 双向LSTM (BiLSTM) (双向RNN)

    为什么用双向 RNN? 单向的 RNN,是根据前面的信息推出后面的,但有时候只看前面的词是不够的, 例如, 我今天不舒服,我打算____一天. 只根据'不舒服',可能推出我打算'去医院','睡觉',' ...

  9. 深度学习学习笔记——RNN(LSTM、GRU、双向RNN)

    目录 前置知识 循环神经网络(RNN) 文本向量化 RNN 建模 RNN 模型改进 LSTM(Long Short Term Memory) LSTM变形与数学表达式 门控循环单元GRU(Grated ...

最新文章

  1. 过滤器应用【编码、敏感词、压缩、转义过滤器】
  2. python ssl连接 证书验证失败_即使在添加CA证书之后,Python也会请求SSL证书验证失败...
  3. linux 安装python_Linux/Mac/Windows的Rstudio安装Python模块总报错,怎么破?
  4. 图谱实战 | 知识图谱构建的一站式平台gBuilder
  5. 条令考试小程序辅助器_计算机一级考试干货!
  6. PCL学习(三) SAC-IA 估记object pose
  7. centos5 vnc安装配置
  8. 【渝粤教育】国家开放大学2018年春季 7215-21T电气传动与调速系统 参考试题
  9. 虚拟化云计算-centos7上使用virt-manager安装虚拟机
  10. gamma 函数的 LaTeX 代码
  11. 汽车驾驶 - 如何调整汽车后视镜
  12. 杜威分类法_设计机器人:从都会到休伊,杜威和路易
  13. Frida-dexdump使用,frida环境配置
  14. 概率论基础 —— 3.离散型、连续型概率模型,及其概率密度与概率分布函数
  15. 华为MA5626 ONU配置成交换机及开启POE指令教程
  16. 2013年全国各大著名的IT公司薪资待遇大揭密
  17. 在线乐谱协作编辑器composing.studio
  18. 桌面虚拟化技术 KVM
  19. Android底部导航栏(带加号、红点提示、数字消息)
  20. Android中免root的hook框架学习——whale(二)实战hook java方法

热门文章

  1. UC伯克利提出小批量MH测试:令MCMC方法在自编码器中更强劲
  2. Android逆向世界之一:smali文件
  3. mysql create user identified by,MySQL的SQL语句 - 数据库管理语句 - 账户管理语句 - CREATE USER 语句(1)...
  4. 爬虫频繁出现You do not have a working installation of the service_identity module
  5. 编写代码,让div慢慢长大 借助定时器,每100毫秒宽和高都+2px
  6. 帕累托图及其在Matlab中的应用
  7. 认识SOS(SYSTEM OF SYSTEMS)概念
  8. CSDN 博客,我来了
  9. 类的构造方法编程训练2—设置信用卡密码
  10. 单机版成语接龙游戏(Appinventor练习)