用tensorflow構建動態RNN

2021-09-14 00:28:15 字數 1345 閱讀 9012

直接看**

def create_cell():

cell = rnn.lstmcell(num_units)

rnn_cell = rnn.multirnncell([create_cell() for _ in range(2)])

output, states = tf.nn.dynamic_rnn(rnn_cell, x, dtype=tf.float32)

tf.nn.dynamic_rnn(

cell,

inputs,

sequence_length=none,

initial_state=none,

dtype=none,

parallel_iterations=none,

swap_memory=false,

time_major=false,

scope=none

)

引數

cell:一種rnn 的cell,本例項中傳入了乙個多層的rnncell,每層cell的基本單元是lstmcell,並且使用了dropout

inputs:輸入資料

如果 time_major == false (default)

input的形狀必須為 [batch_size, max_time, embed_size]

如果 time_major == true

input輸入的形狀必須為 [max_time, batch_size, embed_size]

其中batch_size是批大小,max_time是每個序列的大小,而embed_size是序列裡面每個分量的大小

返回的是乙個元組 (outputs, state)

outputs:rnn的最後一層的輸出,是乙個tensor

如果為time_major== false,則shape [batch_size,max_time,cell.output_size]。如果為time_major== true,則shape: [max_time,batch_size,cell.output_size]。cell.output_size就是num_units

state: rnn最後時間步的state,如果cell.state_size是乙個整數(一般是單層的rnncell),則state的shape:[batch_size,cell.state_size]。如果它是乙個元組(一般這裡是 多層的rnncell),那麼它將是乙個具有相應形狀的元組。注意:如果若rnncell是 lstmcells,則state將為每層cell的lstmstatetuple的元組tuple(lstmstatetuple,lstmstatetuple,lstmstatetuple)

Tensorflow專案構建流程

參考部落格 整理 一。訓練階段 1.tensorflow打包資料 2 採用tfrecoder進行高效資料讀取 2.網路架構與訓練 經過上面的資料格式處理,接著我們只要寫一寫網路結構,網路優化方法,把資料搞進網路中就可以 3.視覺化顯示 二。測試階段 直接通重載入圖模型,讀取引數等,然後直接通過ten...

使用tensorflow構建電影推薦系統

1 蒐集資料集 2 準備資料 import pandas as pd import numpy as np import tensorflow as tf ratings df pd.read csv c users administrator pycharmprojects myproject m...

tensorflow1 構建線性模型

x是給定的輸入資料 使用tensorflow構建乙個模型,開始的時候,w和b全部給成0,讓其訓練,使其接近預設的模型。即讓w接近0.1,b接近0.2 import tensorflow as tf import numpy as np x data np.random.rand 100 y data...