Tensorflow创建循环神经网络

本文介绍了如何在TensorFlow中实现RNN细胞和创建循环神经网络,包括GRUCell的实现,以及如何构建RNN结构,如BasicLSTMCell、双向RNN和应用dropout的技巧。
摘要由CSDN通过智能技术生成

虽然已经接触deep learning很长一段时间了,也看了很久rnn相关的代码,但是突然想用tensorflow实现一些功能的时候,突然发现丝毫没有头绪,找了一些资料,学习了一波,记录一下。

一、tensorflow实现RNN cell

tensorflow由于不同的版本改动较大,在1.0版本之后,可以使用如下语句来创建一个cell:
from tensorflow.contrib import rnn
cell_fun = rnn.GRUCell(rnn_hidden_size)

在tensorflow中,上述GRUCell的实现如下(可以在GitHub上看到源码):

class GRUCell(RNNCell):
  """Gated Recurrent Unit cell (cf. http://arxiv.org/abs/1406.1078)."""

  def __init__(self, num_units, input_size=None, activation=tanh):
    if input_size is not None:
      logging.warn("%s: The input_size parameter is deprecated.", self)
    self._num_units = num_units
    self._activation = activation

  @property
  def state_size(self):
    return self._num_units

  @property
  def output_size(self):
    return self._num_units

  def __call__
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值