首先在得到embeddingout的結構後,宣告乙個rnn單元,大小為10
cell = tf.nn.rnn_cell.basticrnncell(num_utis = 10)
計算output和state
output,state = tf.nn.dynamic_rnn(cell,embedding_output,dtype = tf.float32)
然後可以新增droupout
output = tf.nn.droupout(output,0.01)
如果你的需要lstm最後乙個節點的結果,也就是最後乙個time跑完的結果,那麼
你需要轉置,然後每乙個的最後輸出拼成矩陣,然後拿出來
output = tf.transpose(output,[1,0,2])
last = tf.gather(output,int(output.get_shape()[0]-1)
為了完成**,需要在此之上連線乙個全連線層,來將rnn_size的資料輸出為你的類別大小
weight = tf.variable(tf.truncated_normal(tf.truncated_normal(rnn_size,2),stddev=0.1))
bias = tf.variable(tf.constant(0.1,shape=[2]))
logits_out = tf.nn.softmax(tf.matmul(last,weight)+bias)
此時輸出的維度和你的目標維度相同,就可以計算loss了
losses = tf.nn.sparse_softmax_cross_entropy_with_logits(logits_out,y_output)
loss = reduce_mean(losses)
接下來就是建立優化器,最後就是迭代了。
輸出 time 命令的結果到檔案中
譯至 由於輸出 time 命令的結果到檔案時使用的錯誤的方式,所以將其記錄下來。環境是bash。將執行的a.out程式的輸出和其所花的時間重定向到日誌檔案中 time a.out logfile time a.out tee logfile 上面的例子是重定向結果到logfile 下面的例子是通過t...
從URL輸入到請求結果返回的過程
問 瀏覽器位址列輸入url後到請求完成瀏覽器發生了什麼?答 瀏覽器先進行dns解析,根據dns系統查詢ip位址,解析出ip位址,發起請求建立tcp鏈結,請求html檔案資源 深入 那麼為什麼url需要解析 編碼 那麼url編碼的規則是什麼?如何保證這個編碼規則?關於dns解析流程,以及dns優化 開...
關於rnn神經網路的loss函式的一些思考
做了這麼長時間的基於深度學習的nlp,愈發可以感受到bayesian的意思,語言模型裡面一切皆是分布,問題答案都是分布,乙個問題模擬出來的是乙個答案的分布 我覺得我做的最好的乙個聊天模型,就是先將問題表示成乙個100維的高斯分布,然後計算各個答案跟這個分布的契合概率,當然這個模型肯定不能放出來,但是...