真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基本RNN的Tensorflow實(shí)現(xiàn)是怎樣的

這篇文章給大家介紹基本RNN的Tensorflow實(shí)現(xiàn)是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、做網(wǎng)站、泗水網(wǎng)絡(luò)推廣、小程序定制開發(fā)、泗水網(wǎng)絡(luò)營銷、泗水企業(yè)策劃、泗水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供泗水建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

今天我們一起看下在tensorflow中基本的RNN是怎么實(shí)現(xiàn)的。

首先,為了更好的理解RNN的運(yùn)行機(jī)制,我們不用tensorflow的相關(guān)RNN的操作,來實(shí)現(xiàn)一個簡單的RNN模型。這里我們創(chuàng)建一個初識循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
中所呈現(xiàn)的一個擁有5個循環(huán)神經(jīng)元的一層RNN網(wǎng)絡(luò),其中激活函數(shù)用tanh,并且假設(shè)該RNN僅運(yùn)行兩個時刻,每個時刻的輸入向量的大小為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()

這個網(wǎng)絡(luò)有點(diǎn)繞,咋一看像兩層向前傳輸?shù)木W(wǎng)絡(luò),其實(shí)不然,首先,相同的權(quán)重和偏置項都被兩個層采用了。其次,在每一層都有輸入,并且每一層都有單獨(dú)的輸出。為了運(yùn)行這個模型,我們需要在兩個時刻都對模型進(jìn)行輸入數(shù)據(jù),如下:

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包括了兩個時刻的網(wǎng)絡(luò)所有神經(jīng)元在mini-batch上的輸出。 下面是輸出的結(jié)果:

>>> 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

關(guān)于基本RNN的Tensorflow實(shí)現(xiàn)是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


當(dāng)前文章:基本RNN的Tensorflow實(shí)現(xiàn)是怎樣的
分享路徑:http://weahome.cn/article/gejiho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部