基本RNN的Tensorflow实现是怎样的
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章给大家介绍基本RNN的Tensorflow实现是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。今天我们一起看下在tensorflow中基本的RNN是怎么实现的。首先
千家信息网最后更新 2025年02月04日基本RNN的Tensorflow实现是怎样的
这篇文章给大家介绍基本RNN的Tensorflow实现是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
今天我们一起看下在tensorflow中基本的RNN是怎么实现的。
首先,为了更好的理解RNN的运行机制,我们不用tensorflow的相关RNN的操作,来实现一个简单的RNN模型。这里我们创建一个初识循环神经网络(RNN)
中所呈现的一个拥有5个循环神经元的一层RNN网络,其中激活函数用tanh,并且假设该RNN仅运行两个时刻,每个时刻的输入向量的大小为3,通过两个时刻来显示。代码如下:
n_inputs = 3
n_neurons = 5
X0 = tf.placeholder(tf.float32, [None, n_inputs])
X1 = tf.placeholder(tf.float32, [None, n_inputs])
Wx = tf.Variable(tf.random_normal(shape=[n_inputs, n_neurons],dtype=tf.float32))
Wy = tf.Variable(tf.random_normal(shape=[n_neurons,n_neurons],dtype=tf.float32))
b = tf.Variable(tf.zeros([1, n_neurons], dtype=tf.float32))
Y0 = tf.tanh(tf.matmul(X0, Wx) + b)
Y1 = tf.tanh(tf.matmul(Y0, Wy) + tf.matmul(X1, Wx) + b)
init = tf.global_variables_initializer()
这个网络有点绕,咋一看像两层向前传输的网络,其实不然,首先,相同的权重和偏置项都被两个层采用了。其次,在每一层都有输入,并且每一层都有单独的输出。为了运行这个模型,我们需要在两个时刻都对模型进行输入数据,如下:
import numpy as np
# Mini-batch: instance 0,instance 1,instance 2,instance 3
X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]]) # t = 0
X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]]) # t = 1
with tf.Session() as sess:
init.run()
Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})
上面的mini-batch包含了两个时刻的输入,每个时刻有4个样本,其中每个样本包含3个特征。最后的Y0_val和Y1_val包括了两个时刻的网络所有神经元在mini-batch上的输出。 下面是输出的结果:
>>> print(Y0_val) # output at t = 0
[[-0.2964572 0.82874775 -0.34216955 -0.75720584 0.19011548] # instance 0
[-0.12842922 0.99981797 0.84704727 -0.99570125 0.38665548] # instance 1
[ 0.04731077 0.99999976 0.99330056 -0.999933 0.55339795] # instance 2
[ 0.70323634 0.99309105 0.99909431 -0.85363263 0.7472108 ]] # instance 3
>>> print(Y1_val) # output at t = 1
[[ 0.51955646 1. 0.99999022 -0.99984968 -0.24616946] # instance 0
[-0.70553327 -0.11918639 0.48885304 0.08917919 -0.26579669] # instance 1
[-0.32477224 0.99996376 0.99933046 -0.99711186 0.10981458] # instance 2
[-0.43738723 0.91517633 0.97817528 -0.91763324 0.11047263]] # instance 3
关于基本RNN的Tensorflow实现是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
时刻
两个
网络
输入
模型
神经
输出
运行
内容
更多
样本
神经元
帮助
循环
不错
相同
不用
代码
兴趣
其实不然
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
运维 数据库开发
银联用的数据库工具
数据库的基础和核心是
火锅店数据库管理系统
哔哩哔哩使用什么数据库
上市企业网络安全
计算机软件开发待遇怎么样
上海市服务器机房精密空调系统
四级作文 网络安全问题
全校大学生网络安全知识竞赛
网络安全法新亮点
网络安全等级保护建设与整改
天授网络安全吗
无法连接服务器小米盒子
管理您的服务器添加IIS
部队网络安全政治教育
网络安全法自什么时起实行
网络技术计划书例文
为什么进入游戏看不到服务器
数据库dll可以删除吗
阿里云申请服务器
数据库建设合同
了解分布式系统数据库
公司的两个网络安全定位
数据库设计器有哪些
茁壮网络技术支持面试
网络安全能查微信吗
小学生沉迷网络安全教育
上海服务器管理中心起火
为什么进入游戏看不到服务器