五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Tensorflow與RNN、雙向LSTM等的踩坑記錄及解決

發(fā)布日期:2022-03-28 18:54 | 文章來(lái)源:腳本之家

1、tensorflow(不定長(zhǎng))文本序列讀取與解析

tensorflow讀取csv時(shí)需要指定各列的數(shù)據(jù)類型。

但是對(duì)于RNN這種接受序列輸入的模型來(lái)說(shuō),一條序列的長(zhǎng)度是不固定。這時(shí)如果使用csv存儲(chǔ)序列數(shù)據(jù),應(yīng)當(dāng)首先將特征序列拼接成一列。

例如兩條數(shù)據(jù)序列,第一項(xiàng)是標(biāo)簽,之后是特征序列

[0, 1.1, 1.2, 2.3] 轉(zhuǎn)換成 [0, '1.1_1.2_2.3']

[1, 1.0, 2.5, 1.6, 3.2, 4.5] 轉(zhuǎn)換成 [1, '1.0_2.5_1.6_3.2_4.5']

這樣每條數(shù)據(jù)都只包含固定兩列了。

讀取方式是指定第二列為字符串類型,再將字符串按照'_'分割并轉(zhuǎn)換為數(shù)字。

關(guān)鍵的幾行代碼示例如下:

def readMyFileFormat(fileNameQueue):
 reader = tf.TextLineReader()
 key, value = reader.read(fileNameQueue)
 record_defaults = [["Null"], [-1], ["Null"], ["Null"], [-1]]
 phone1, seqlen, ts_diff_strseq, t_cod_strseq, userlabel = tf.decode_csv(value, record_defaults=record_defaults)
 ts_diff_str = tf.string_split([ts_diff_strseq], delimiter='_')
 t_cod_str = tf.string_split([t_cod_strseq], delimiter='_')
 # 每個(gè)字符串轉(zhuǎn)數(shù)字
 Str2Float = lambda string: tf.string_to_number(string, tf.float32)
 Str2Int = lambda string: tf.string_to_number(string, tf.int32)
 ts_diff_seq = tf.map_fn(Str2Float, ts_diff_str.values, dtype = tf.float32) # 一定要加上dtype,且必須與fn的輸出類型一致
 t_cod_seq = tf.map_fn(Str2Int, t_cod_str.values, dtype = tf.int32)

2、時(shí)序建模的序列預(yù)測(cè)、序列擬合、標(biāo)簽預(yù)測(cè),及輸入數(shù)據(jù)格式

序列預(yù)測(cè)、擬合的“標(biāo)簽”都是序列本身,區(qū)別是未來(lái)時(shí)刻或者是當(dāng)前時(shí)刻,當(dāng)前時(shí)刻的擬合任務(wù)類似于antoencoder的reconstruction

標(biāo)簽預(yù)測(cè)常見(jiàn)于語(yǔ)言學(xué)建模,有單詞級(jí)標(biāo)簽的分詞與整句標(biāo)簽的情感分析,前者需要對(duì)每一個(gè)單詞輸入都要輸出其分詞標(biāo)識(shí),后者是取最后若干輸出級(jí)聯(lián)前饋神經(jīng)網(wǎng)絡(luò)分類器

keras的輸入-輸出對(duì):需要將序列拆分成多個(gè)片段

序列形式:

按時(shí)間列表:static_bidirectional_rnn

多維數(shù)組:bidirectional_dynamic_rnn與stack_bidirectional_dynamic_rnn 變長(zhǎng)雙向rnn的正確使用姿勢(shì)

3、多任務(wù)設(shè)置及相應(yīng)的輸出向量劃分

對(duì)于標(biāo)簽預(yù)測(cè)任務(wù),按需取輸出即可

對(duì)于序列預(yù)測(cè)、擬合:

雙向lstm:通常用于擬合。但如果需要捕捉動(dòng)態(tài)信息,盡管需要序列完整輸入,則仍可以加上正向預(yù)測(cè)與反向預(yù)測(cè)

單向lstm:擬合與預(yù)測(cè)

4、zero padding

后一般需要通過(guò)tf.boolean_mask()隔離這些零的影響,函數(shù)輸入包括數(shù)據(jù)矩陣和補(bǔ)零位置的指示矩陣。

5、get_shape()方法

與 tf.shape() 類型區(qū)別,前者得到一個(gè)list,后者得到一個(gè)tensor

6、雙向LSTM的信息瓶頸的解決

如果在時(shí)間步的最后輸出,則可能會(huì)導(dǎo)致開(kāi)始的一些字符被遺忘門(mén)給遺忘。

所以這里就對(duì)每個(gè)時(shí)間步的輸出做出了處理,

主要處理有:

1、拼接:把所有的輸出拼接在一起。

2、Average

3、Pooling

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。

美國(guó)服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部