循环神经网络的用法图解-tensorflow

1 one-cell的情况
with tf.variable_scope('one_cell') as scope:
    # One cell RNN input_dim (4) -> output_dim (2)
    hidden_size = 2
    cell = tf.contrib.rnn.BasicRNNCell(num_units=hidden_size)
    print(cell.output_size, cell.state_size)

    x_data = np.array([[h]], dtype=np.float32) # x_data = [[[1,0,0,0]]]
    pp.pprint(x_data)
    outputs, _states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)

    sess.run(tf.global_variables_initializer())
    pp.pprint(outputs.eval())

这里写图片描述

2 one sequence 的情况
with tf.variable_scope('two_sequances') as scope:
    # One cell RNN input_dim (4) -> output_dim (2). sequence: 5
    hidden_size = 2
    cell = tf.contrib.rnn.BasicRNNCell(num_units=hidden_size)
    x_data = np.array([[h, e, l, l, o]], dtype=np.float32)
    print(x_data.shape)
    pp.pprint(x_data)
    outputs, states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)
    sess.run(tf.global_variables_initializer())
    pp.pprint(outputs.eval())

这里写图片描述

3 batch sequences 的情况
with tf.variable_scope('3_batches') as scope:
    # One cell RNN input_dim (4) -> output_dim (2). sequence: 5, batch 3
    # 3 batches 'hello', 'eolll', 'lleel'
    x_data = np.array([[h, e, l, l, o],
                       [e, o, l, l, l],
                       [l, l, e, e, l]], dtype=np.float32)
    pp.pprint(x_data)

    hidden_size = 2
    cell = rnn.BasicLSTMCell(num_units=hidden_size, state_is_tuple=True)
    outputs, _states = tf.nn.dynamic_rnn(
        cell, x_data, dtype=tf.float32)
    sess.run(tf.global_variables_initializer())
    pp.pprint(outputs.eval())

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习是一种机器学习的方法,通过多层神经网络来学习数据的特征表示。神经网络是由许多神经元(或节点)组成的网络,每个神经元可以通过权重和激活函数来对输入进行加权和非线性变换。 在深度学习中,数据通常表示为张量(tensor),它是一个多维数组。张量由一个或多个轴组成,每个轴表示数据的一个维度。常见的张量有标量(0维)、向量(1维)、矩阵(2维)等。 了解张量和神经网络后,我们可以开始实现深度学习模型。其中一个常用的深度学习框架是TensorFlowTensorFlow是一个开源的Python库,可以用于构建和训练神经网络模型。 在TensorFlow中,我们可以通过定义网络的架构,包括层和节点的连接方式来构建神经网络模型。可以使用各种各样的层,如全连接层、卷积层和池化层等来构建模型。在每个层中,可以使用不同的激活函数来引入非线性。 一旦模型被构建,我们需要进行训练。在训练过程中,我们将数据输入模型中,并根据定义的损失函数来计算模型的预测误差。通过反向传播算法,我们可以根据这些误差来调整网络中的权重和偏差,以使模型的性能不断改进。 TensorFlow还提供了一些优化器,如随机梯度下降(SGD)等,用于自动计算和调整权重和偏差。此外,TensorFlow还支持分布式计算和GPU加速,可以加快计算速度。 通过图解深度学习与神经网络,我们可以更好地理解深度学习的原理和实现。通过学习如何使用TensorFlow构建和训练神经网络模型,我们可以更好地应用深度学习来解决各种各样的问题,如图像分类、语音识别和自然语言处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值