91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RNN中的Dropout怎么實現

發布時間:2022-05-07 15:34:36 來源:億速云 閱讀:143 作者:iii 欄目:大數據

本文小編為大家詳細介紹“RNN中的Dropout怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“RNN中的Dropout怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

我們可以簡單的在RNN之前或之后加一個DropOut層,但是如果我們想在RNN層中間加上DropOut的話,就得用DropoutWrapper了。下面代碼在每個RNN層的輸入都應用Dropout,對每個輸入有50%的概率丟棄。

keep_prob = 0.5

cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)
cell_drop = tf.contrib.rnn.DropoutWrapper(cell, input_keep_prob=keep_prob)
multi_layer_cell = tf.contrib.rnn.MultiRNNCell([cell_drop] * n_layers)
rnn_outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)

當然,我們也可以通過設置output_keep_prob來對輸出進行dropout。
其實,細心的童鞋可能已經發現,上面的代碼是有問題的,因為我們在前面CNN中應用Dropout的時候是有一個is_training的placeholder來區分是在training還是testing應用的。但是上面代碼并沒有。確實,上面代碼的最大問題就是在testing的時候,也會應用Dropout,當然,這并不是我們想要的。不幸的是,DropoutWrapper并不支持is_training的placeholder,因此,我們要么自己重寫一個DropoutWapper類,要么我們有兩個計算圖,一個是用來training,另一個用來testing。這里我們看下兩個計算圖是怎么實現的,如下:

import sys
is_training = (sys.argv[-1] == "train")
X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])
y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])
cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)
if is_training:
   cell = tf.contrib.rnn.DropoutWrapper(cell, input_keep_prob=keep_prob)
multi_layer_cell = tf.contrib.rnn.MultiRNNCell([cell] * n_layers)
rnn_outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)
[...] # build the rest of the graph
init = tf.global_variables_initializer()
saver = tf.train.Saver()
with tf.Session() as sess:
   if is_training:
       init.run()
       for iteration in range(n_iterations):
           [...] # train the model
       save_path = saver.save(sess, "/tmp/my_model.ckpt")
   else:
       saver.restore(sess, "/tmp/my_model.ckpt")
       [...] # use the model

讀到這里,這篇“RNN中的Dropout怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阆中市| 合肥市| 遂平县| 渝北区| 奉贤区| 湘乡市| 建始县| 绥滨县| 阿克| 荔波县| 富宁县| 红原县| 泰安市| 长丰县| 修文县| 铁岭市| 大关县| 巨鹿县| 嘉定区| 田林县| 辛集市| 兖州市| 唐山市| 瓦房店市| 嵊州市| 建宁县| 株洲县| 绥宁县| 灌阳县| 泌阳县| 长乐市| 故城县| 女性| 东乡族自治县| 鹤庆县| 连平县| 亳州市| 东光县| 汕头市| 句容市| 甘泉县|