tensorflow seq2seq bucket實現機制的一些困惑?

時間 2021-12-26 02:37:24

1樓:Rpersie

樓主,官方的demo結果好嗎??我的怎麼感覺結果不是很好啊

tensorflow seq2seq 跑預設指令碼的測試結果很差,什麼原因??

2樓:eddy

樓上已經說了,用什麼資料是由input_feed和output_feed確定的。補充一下,作者並不是對所有bucket都做處理的意思,在model.get_batch函式裡面,讀取的資料其實是被做了乙個類似transpose的操作,以返回值batch_encode_inputs為例,其shape其實是[encode_size, batch_size](而不是[batch_size, encode_size]),這樣在model.

step裡面使用資料的時候,對乙個迭代n次(n=bucket_size)的RNN,每第i次迭代都可以把每個sentence的第i個單詞輸入當前cell進行forward propagation,然後下一次迭代再處理每個句子的第i+1個單詞。encoder_inputs[:bucket[0]]的意思不是處理每個bucket,只是取了對應bucket[0]數量的placeholders用於給以後要處理的資料「佔位置」,其實就是對應剛才說的n個迭代的輸入。

3樓:beld

我覺得model_with_buckets函式仍是圖構建階段,並沒有「對哪個bucket進行訓練」,只是將所有情況列出來,就像在宣告decoder_inputs和encoder_inputs時都建立為最長的bucket的長度一樣:

# Feeds for inputs.

self

.encoder_inputs=

self

.decoder_inputs=

self

.target_weights=

fori

inxrange

(buckets[-

1][0]):

# Last bucket is the biggest one.

self

.encoder_inputs.(

tf.placeholder(tf

.int32

,shape=[

batch_size

],name

="encoder"

.format(i

)))foriin

xrange

(buckets[-

1][1]

+1):self

.decoder_inputs.(

tf.placeholder(tf

.int32

,shape=[

batch_size

],name

="decoder"

.format(i

)))self

.target_weights.(

tf.placeholder

(dtype

,shape=[

batch_size

],name

="weight"

.format(i

)))但是具體會有哪些tensor需要計算,是在model的step函式裡,input_feed和out_feed決定的。

如何評價小公尺Mix2s?

用了這麼多年智慧型機,從沒用過小公尺的,上月換了mix2s,8 256的然後終於知道什麼叫做斷流了 同樣位置,同樣的4g和WiFi 老手機從沒碰到網路問題,mix2s,每天都斷流是誇張了,2天一斷流算少了,玩個手遊決鬥場卡一下直接優勢局變輸局,呵呵了 當初圖便宜買的,現在來看,銷量越來越少真不是沒有...

如何評價小公尺電視 2S ?

虎虎的小尾巴 畫質不行,畫質不行,畫質不行 特別不建議連ps4玩高畫質遊戲 尤其在用了索尼w或者x系列情況下,沒有對比就沒有傷害。我買了兩台,因為便宜,給老人看看電視足夠了 宇宙戰艦大和號 發售一年有餘無意看到這個問題,看見有些人的回答橫豎都逃不開公尺黑或者公尺粉的桎梏真是笑死了。作為乙個吃瓜群眾還...

瘟疫危機承傳買S1還是買S2?

兩個都買了,先玩完了S1,意猶未盡,又買了S2。S1等於原有的經典版 DLC,沒有脫離開經典版的地圖和模式,就算DLC一次性玩完了也可以繼續玩經典版遊戲。S2的開局地圖和S1完全不同,遊戲機制跟S1也大概相反,可以先玩完S1再考慮。 敏感 第一季買了在積灰,第二季沒買。第一季我周圍貌似玩過的都說好,...