DL4J中文文檔/DataVec/讀取器

讀取器

讀取器從存儲(chǔ)中的數(shù)據(jù)集迭代記錄捣郊,并將數(shù)據(jù)加載到數(shù)據(jù)向量中。除了數(shù)據(jù)集中的單個(gè)條目之外,閱讀器的用處包括:如果想要在語(yǔ)料庫(kù)上訓(xùn)練文本生成器寻定,或是以編程方式將兩個(gè)條目組合在一起形成新的記錄的時(shí)候該怎么辦?讀取器實(shí)現(xiàn)對(duì)于復(fù)雜的文件類型或分布式存儲(chǔ)機(jī)制是有用的精耐。

讀取器返回記錄記錄中每一列的Writable類狼速。這些類用于將每個(gè)記錄轉(zhuǎn)換為張量/NDArray 格式。

使用

每個(gè)讀取器實(shí)現(xiàn)都擴(kuò)展了BaseRecordReader并提供了一個(gè)簡(jiǎn)單的API用于選取數(shù)據(jù)集中的下一條記錄卦停,行為類似于迭代器向胡。

包括以下有用的方法:

  • next: 返回一個(gè)批量的 Writable恼蓬。
  • nextRecord: 返回單條記錄,RecordMetaData 是可選的僵芹。
  • reset: 重置基礎(chǔ)迭代器处硬。
  • hasNext: 迭代器方法以確定是否有其他記錄可用 。

監(jiān)聽(tīng)器

你可以將自定義的RecordListener掛鉤到記錄讀取器進(jìn)行調(diào)試或可視化目的拇派。在初始化類之后荷辕,立即將你的自定義偵聽(tīng)器傳遞給addListener基類方法。

讀取器的類型

initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

記錄讀取器用于每個(gè)管道件豌。獨(dú)立的記錄是由兩個(gè)集合連接而成的疮方。


ConcatenatingRecordReader 連接記錄讀取器

[源碼]

把多個(gè)讀取器合并為一個(gè)讀取器。記錄按順序讀取-因此如果第一個(gè)取讀器有100條記錄苟径,并且第二個(gè)讀取器有200條記錄案站,那么連接記錄讀取器將有300條記錄。


FileRecordReader 文件記錄讀取器

[源碼]

文件讀取/寫(xiě)入

getCurrentLabel
public int getCurrentLabel() 

返回當(dāng)前標(biāo)簽棘街。標(biāo)簽列表中當(dāng)前文件的父目錄的索引蟆盐。

  • 返回當(dāng)前文件父目錄的索引

LineRecordReader 行記錄讀取器

[源碼]

一行一行讀取文件


CollectionRecordReader 集合記錄讀取器

[源碼]

集合記錄讀取器,主要用于測(cè)試遭殉。


CollectionSequenceRecordReader 集合序列讀取器

[源碼]

用于序列的集合記錄讀取器石挂,主要用于測(cè)試。

initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

  • 參數(shù)records是序列集合险污。例如List<List<List>> 這里內(nèi)部?jī)蓚€(gè)列表都是序列痹愚,并且外部的列表/集合是一個(gè)序列。

ListStringRecordReader 集合字符記錄讀取器

[源碼]

迭代一個(gè)字符列表返回一條記錄

initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

在初始化的時(shí)候調(diào)用一次蛔糯。

  • 參數(shù) split是定義要讀取的記錄范圍的拆分
  • 拋出 IOException
  • 拋出 InterruptedException
initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException 

在初始化的時(shí)候調(diào)用一次

  • 參數(shù) conf是一個(gè)用于初始化的配置
  • 參數(shù) split是定義要讀取的記錄范圍的拆分
  • 拋出 IOException
  • 拋出 InterruptedException
hasNext
public boolean hasNext() 

判斷是否有下一條記錄

  • 返回布爾值
reset
public void reset() 

重置

  • return
nextRecord
public Record nextRecord() 

從給定的DataInputStream加載記錄拯腮,與{-link#next()}不同,RecordReader的內(nèi)部狀態(tài)沒(méi)有修改蚁飒。此方法的實(shí)現(xiàn)不應(yīng)關(guān)閉DataInputStream动壤。

  • 參數(shù) uri
  • 參數(shù) dataInputStream
  • 拋出 IOException ,如果從輸入流中讀取的時(shí)候出錯(cuò)淮逻。
close
public void close() throws IOException 

關(guān)閉此流并釋放與之相關(guān)聯(lián)的任何系統(tǒng)資源琼懊。如果流已經(jīng)關(guān)閉,那么調(diào)用此方法沒(méi)有效果爬早。如{-Link AutoCutabySyCuffe()}所指出的哼丈,關(guān)閉可能失敗的情況需要仔細(xì)注意。強(qiáng)烈建議在拋出{-code IOException}之前筛严,放棄底層資源醉旦,并在內(nèi)部將{-code Closeable}標(biāo)記為關(guān)閉。

  • 拋出 IOException, 如果 I/O 錯(cuò)誤發(fā)生髓抑。
setConf
public void setConf(Configuration conf) 

設(shè)置此對(duì)象要使用的配置咙崎。

  • 參數(shù) conf
getConf
public Configuration getConf() 

返回此對(duì)象所使用的配置优幸。


CSVRecordReader CSV記錄讀取器

[源碼]

簡(jiǎn)單的CSV讀取器吨拍。

initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException 

跳過(guò)前n行

  • 參數(shù) skipNumLines 需要跳過(guò)的行數(shù)

CSVRegexRecordReader CSV正則記錄讀取器

[源碼]

一個(gè)CSV正則記錄讀取器,它可以使用正則將每個(gè)列拆分為其他列网杆。


CSVSequenceRecordReader CSV序列記錄讀取器

[源碼]

CSV序列記錄讀取器此讀取器旨在讀取CSV格式的數(shù)據(jù)序列羹饰,其中每個(gè)序列在其自己的文件中定義(并且有多個(gè)文件),文件中的每一行表示一個(gè)時(shí)間步驟碳却。


CSVVariableSlidingWindowRecordReader CSV可變滑動(dòng)窗口記錄讀取器

[源碼]

在整個(gè)CSV上可變大小的滑動(dòng)窗口队秩。在實(shí)踐中,滑動(dòng)窗口大小開(kāi)始于1昼浦,然后線性增加到最大線性序列馍资,然后線性下降回到1。

initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException 

帶有每個(gè)序列默認(rèn)行數(shù)為10的無(wú)參構(gòu)造器


LibSvmRecordReader LibSvm記錄讀取器

[源碼]

libsvm格式的記錄讀取器关噪,它與SVMLight格式密切相關(guān)鸟蟹。與SCIKIT學(xué)習(xí)類似,我們?yōu)閮煞N格式使用同一個(gè)讀取器使兔,因此該類是SvMLeadReadReader的子類建钥。

關(guān)于格式的進(jìn)一步細(xì)節(jié)可以在如下網(wǎng)站中找到


MatlabRecordReader Matlab記錄讀取器

[源碼]

Matlab記錄讀取器


SVMLightRecordReader SVMLight記錄讀取器

[源碼]

用于SVMLight格式的記錄讀取器,它通撑傲ぃ可以描述為如下

LABEL INDEX:VALUE INDEX:VALUE …

SVMLight格式非常適合于稀疏數(shù)據(jù)(如詞袋)熊经,因?yàn)樗雎粤怂兄禐榱愕奶卣鳌?/p>

我們支持一個(gè)“擴(kuò)展”版本,允許多個(gè)目標(biāo)(或標(biāo)簽)用逗號(hào)分隔欲险,如下:

LABEL1,LABEL2,… INDEX:VALUE INDEX:VALUE …

這可以用于表示多任務(wù)問(wèn)題或具有稀疏二進(jìn)制標(biāo)簽的多任務(wù)問(wèn)題(通過(guò)“MULTILABEL”配置選項(xiàng)進(jìn)行控制)镐依。

與SCIKIT學(xué)習(xí)一樣,我們支持基于零的和基于一個(gè)的索引天试。

關(guān)于格式的進(jìn)一步細(xì)節(jié)可以在如下網(wǎng)站中找到

initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException 

在嘗試讀取記錄之前調(diào)用槐壳。

  • 參數(shù) conf 是數(shù)據(jù)向量配置
  • 參數(shù) split是文件分割器
  • 拋出 IOException
  • 拋出 InterruptedException
setConf
public void setConf(Configuration conf) 

Set configuration. 設(shè)置配置

  • 參數(shù) conf 是數(shù)據(jù)向量配置
  • 拋出 IOException
  • 拋出 InterruptedException
hasNext
public boolean hasNext() 

幫助檢測(cè)被注釋的行的幫助函數(shù)∏锍樱可以提前讀取并緩存一行宏粤。

  • return
nextRecord
public Record nextRecord() 

以Writables的列表返回下一個(gè)記錄。

  • return

RegexLineRecordReader 正則行記錄讀取器

[源碼]

讀取一整個(gè)文件灼卢,每次一行绍哎,并使用正則分割字段。例如:輸入數(shù)據(jù)的格試為“2016-01-01 23:59:59.001 1 DEBUG First entry message!”

使用正則字符 “(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}) (\d+) ([A-Z]+) (.)”將被分割為4個(gè)文本writables: [“2016-01-01 23:59:59.001”, “1”, “DEBUG”, “First entry message!”]

RegexSequenceRecordReader 正則序列記錄讀取器

[源碼]

讀取一整個(gè)序列文件鞋真,每次一行崇堰,并使用正則分割字段。例如:輸入數(shù)據(jù)的格試為“2016-01-01 23:59:59.001 1 DEBUG First entry message!”

使用正則字符 “(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}) (\d+) ([A-Z]+) (.)”將被分割為4個(gè)文本writables: [“2016-01-01 23:59:59.001”, “1”, “DEBUG”, “First entry message!”]

不匹配正則的行會(huì)倒致一個(gè)異常(FailOnInvalid),可以被悄悄跳過(guò)(SkipInvalid)海诲,或跳過(guò)無(wú)效但記錄一個(gè)警告(SkipInvalidWithWarning)


TransformProcessRecordReader 轉(zhuǎn)換過(guò)程記錄讀取器

[源碼]

在返回之前應(yīng)用一個(gè)轉(zhuǎn)換過(guò)程繁莹。

initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

在初始化的時(shí)候調(diào)用一次

  • 參數(shù) split 分割器,它定義記錄被讀取的范圍
  • 拋出 IOException
  • 拋出 InterruptedException
initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException 

在初始化的時(shí)候調(diào)用一次

  • 參數(shù) conf初始化需要的一個(gè)配置
  • 參數(shù) split 分割器特幔,它定義記錄被讀取的范圍
  • 拋出 IOException
  • 拋出 InterruptedException
hasNext
public boolean hasNext() 

得到下一行

  • return
reset
public void reset() 

重置

  • return
nextRecord
public Record nextRecord() 

從給定的DataInputStream加載記錄咨演,與{-link#next()}不同,RecordReader的內(nèi)部狀態(tài)沒(méi)有修改蚯斯。此方法的實(shí)現(xiàn)不應(yīng)關(guān)閉DataInputStream薄风。

  • 參數(shù) uri
  • 參數(shù) dataInputStream
  • 如果從輸入流中讀取的時(shí)候出錯(cuò)則拋出 IOException 。
loadFromMetaData
public Record loadFromMetaData(RecordMetaData recordMetaData) throws IOException 

從一個(gè)RecordMetaData實(shí)例中加載單個(gè)記錄拍嵌。注意:對(duì)于不可分割的數(shù)據(jù)(即需要掃描/分割的文本數(shù)據(jù)),通過(guò)使用{- link #loadFromMetaData(List)}一次加載多行是更有效的遭赂。

  • 參數(shù) recordMetaData 是 我們想要加載記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回單個(gè)記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
loadFromMetaData 原文檔中漏了這個(gè)方法說(shuō)明
public List<Record> loadFromMetaData(List<RecordMetaData> recordMetaDatas) throws IOException

從給定RecordMetaData實(shí)例列表中加載多條記錄

  • 參數(shù) recordMetaData 是 我們想要加載記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回多條記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
setListeners
public void setListeners(RecordListener... listeners) 
setListeners
public void setListeners(Collection<RecordListener> listeners) 

為這個(gè)記錄讀取器設(shè)置記錄監(jiān)聽(tīng)器

  • 參數(shù) listeners
close
public void close() throws IOException 

關(guān)閉此流并釋放與之相關(guān)聯(lián)的任何系統(tǒng)資源。如果流已經(jīng)關(guān)閉横辆,那么調(diào)用此方法沒(méi)有效果撇他。如{-Link AutoCutabySyCuffe()}所指出的,關(guān)閉可能失敗的情況需要仔細(xì)注意狈蚤。強(qiáng)烈建議在拋出{-code IOException}之前困肩,放棄底層資源,并在內(nèi)部將{-code Closeable}標(biāo)記為關(guān)閉炫惩。

  • 拋出 IOException僻弹, 如果 I/O 錯(cuò)誤發(fā)生。
setConf
public void setConf(Configuration conf) 

設(shè)置這個(gè)對(duì)象使用的配置

  • 參數(shù) conf
getConf
public Configuration getConf() 

返回這個(gè)對(duì)象使用的配置


TransformProcessSequenceRecordReader 轉(zhuǎn)換過(guò)程序列記錄讀取器

[源碼]

在返回之前被轉(zhuǎn)換

setConf
public void setConf(Configuration conf) 

設(shè)置這個(gè)對(duì)象使用的配置

  • 參數(shù) conf
getConf
public Configuration getConf() 

返回這個(gè)對(duì)象使用的配置他嚷。

batchesSupported
public boolean batchesSupported() 

返回是否支持批量

  • 返回一個(gè)布爾值
nextSequence
public SequenceRecord nextSequence() 

從給定的DataInputStream加載序列記錄蹋绽,與{-link#next()}不同,RecordReader的內(nèi)部狀態(tài)沒(méi)有修改筋蓖。此方法的實(shí)現(xiàn)不應(yīng)關(guān)閉DataInputStream卸耘。

  • 參數(shù) uri
  • 參數(shù) dataInputStream
  • 如果從輸入流中讀取的時(shí)候出錯(cuò)則拋出 IOException 。
loadSequenceFromMetaData
public SequenceRecord loadSequenceFromMetaData(RecordMetaData recordMetaData) throws IOException 

從一個(gè)RecordMetaData實(shí)例中加載單個(gè)記錄粘咖。注意:對(duì)于不可分割的數(shù)據(jù)(即需要掃描/分割的文本數(shù)據(jù)),通過(guò)使用{- link #loadSequenceFromMetaData(List)}一次加載多行是更有效的蚣抗。

  • 參數(shù) recordMetaData 是 我們想要加載序列記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回單個(gè)記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
loadSequenceFromMetaData 原文檔中漏了這個(gè)方法說(shuō)明
public List<SequenceRecord> loadSequenceFromMetaData(List<RecordMetaData> recordMetaDatas) throws IOException

從給定RecordMetaData實(shí)例列表中加載多條記錄

  • 參數(shù) recordMetaData 是 我們想要加載記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回多條記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

initialize
public void initialize(Configuration conf, InputSplit split) throws IOException, InterruptedException  

在初始化的時(shí)候調(diào)用一次

  • 參數(shù) conf是一個(gè)用于初始化的配置
  • 參數(shù) split是定義要讀取的記錄范圍的拆分
  • 拋出 IOException
  • 拋出 InterruptedException

hasNext

public boolean hasNext() 

得到下一條記錄

  • return
reset
public void reset() 

重置

  • return
nextRecord
public Record nextRecord() 

從給定的DataInputStream加載記錄,與{-link#next()}不同瓮下,RecordReader的內(nèi)部狀態(tài)沒(méi)有修改翰铡。此方法的實(shí)現(xiàn)不應(yīng)關(guān)閉DataInputStream。

  • 參數(shù) uri
  • 參數(shù) dataInputStream
  • 如果從輸入流中讀取的時(shí)候出錯(cuò)則拋出 IOException 讽坏。
loadFromMetaData
public Record loadFromMetaData(RecordMetaData recordMetaData) throws IOException 

從一個(gè)RecordMetaData實(shí)例中加載單個(gè)記錄锭魔。注意:對(duì)于不可分割的數(shù)據(jù)(即需要掃描/分割的文本數(shù)據(jù)),通過(guò)使用{- link #loadFromMetaData(List)}一次加載多行是更有效的。

  • 參數(shù) recordMetaData 是 我們想要加載記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回單個(gè)記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
loadFromMetaData 此方法說(shuō)明在原文檔中沒(méi)有
public List<Record> loadFromMetaData(List<RecordMetaData> recordMetaDatas) throws IOException

從一個(gè)RecordMetaData實(shí)例中加載單個(gè)記錄路呜。注意:對(duì)于不可分割的數(shù)據(jù)(即需要掃描/分割的文本數(shù)據(jù)),通過(guò)使用{- link #loadFromMetaData(List)}一次加載多行是更有效的迷捧。

  • 參數(shù) recordMetaData 是 我們想要加載記錄的Metadata
  • 為給定的RecordMetaData實(shí)例返回多條記錄
  • 如果在加載過(guò)程中發(fā)生 I/O錯(cuò)誤則拋出 IOException
setListeners
public void setListeners(RecordListener... listeners) 

setListeners
public void setListeners(Collection<RecordListener> listeners) 

為這個(gè)記錄讀取器設(shè)置記錄監(jiān)聽(tīng)器织咧。

  • 參數(shù) listeners
close
public void close() throws IOException 

關(guān)閉此流并釋放與之相關(guān)聯(lián)的任何系統(tǒng)資源。如果流已經(jīng)關(guān)閉漠秋,那么調(diào)用此方法沒(méi)有效果笙蒙。如{-Link AutoCutabySyCuffe()}所指出的,關(guān)閉可能失敗的情況需要仔細(xì)注意庆锦。強(qiáng)烈建議在拋出{-code IOException}之前捅位,放棄底層資源,并在內(nèi)部將{-code Closeable}標(biāo)記為關(guān)閉肥荔。

  • 拋出 IOException绿渣, 如果 I/O 錯(cuò)誤發(fā)生朝群。

NativeAudioRecordReader 本地音頻記錄讀取器

[源碼]

使用FFmpeg的本地音頻文件加載器燕耿。


WavFileRecordReader 聲音文件記錄讀取器

[源碼]

聲音文件加載器


ImageRecordReader 圖片記錄讀取器

[源碼]

圖像記錄讀取器。讀取本地文件系統(tǒng)并解析給定高度和寬度的圖像姜胖。所有圖像被重新縮放并轉(zhuǎn)換為給定的高度誉帅、寬度和通道數(shù)量。

如果指定右莱,還附加標(biāo)簽(基于目錄結(jié)構(gòu)的k個(gè)編碼之一蚜锨,其中根目錄的每個(gè)子目錄是一個(gè)索引標(biāo)簽)


VideoRecordReader 視頻記錄讀取器

[源碼]

視頻只是一個(gè)移動(dòng)的圖片窗口。應(yīng)該這樣處理慢蜓。這會(huì)遍歷根文件夾并返回一幀亚再。

initialize
public void initialize(InputSplit split) throws IOException, InterruptedException 

用給定的高和寬加載記錄讀取器

  • 參數(shù) height 是加載的高度
  • 參數(shù) width 是加載的寬度

TfidfRecordReader 詞頻-逆向文件頻率記錄讀取器

[源碼]

詞頻-逆向文件頻率記錄讀取器(封裝一個(gè)TFIDF矢量化器,用于傳送標(biāo)簽并遵守記錄讀取器接口)

有任何問(wèn)題請(qǐng)聯(lián)系微信

image

如果您覺(jué)得我的文章給了您幫助晨抡,請(qǐng)為我買(mǎi)一杯飲料吧氛悬!以下是我的支付寶,意思一下我將非常感激耘柱!

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末如捅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子调煎,更是在濱河造成了極大的恐慌镜遣,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件士袄,死亡現(xiàn)場(chǎng)離奇詭異悲关,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)娄柳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)寓辱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人西土,你說(shuō)我怎么就攤上這事讶舰。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵跳昼,是天一觀的道長(zhǎng)般甲。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鹅颊,這世上最難降的妖魔是什么敷存? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮堪伍,結(jié)果婚禮上锚烦,老公的妹妹穿的比我還像新娘。我一直安慰自己帝雇,他們只是感情好涮俄,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著尸闸,像睡著了一般彻亲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吮廉,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天苞尝,我揣著相機(jī)與錄音,去河邊找鬼宦芦。 笑死宙址,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的调卑。 我是一名探鬼主播抡砂,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼令野!你這毒婦竟也來(lái)了舀患?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤气破,失蹤者是張志新(化名)和其女友劉穎聊浅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體现使,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡低匙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碳锈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顽冶。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖售碳,靈堂內(nèi)的尸體忽然破棺而出强重,到底是詐尸還是另有隱情绞呈,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布间景,位于F島的核電站佃声,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏倘要。R本人自食惡果不足惜圾亏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望封拧。 院中可真熱鬧志鹃,春花似錦、人聲如沸泽西。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)尝苇。三九已至铛只,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糠溜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工直撤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留非竿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓谋竖,卻偏偏與公主長(zhǎng)得像红柱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蓖乘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • (上期獨(dú)膽2中.獨(dú)跨6中.6碼中組) 膽碼246.雙膽46.獨(dú)膽4. 定位:百位3469.十位1248.個(gè)位056...
    萱萱_eed9閱讀 86評(píng)論 0 0
  • 今天是什么日子 規(guī)定起床:8時(shí) 實(shí)際起床:8時(shí)45分 規(guī)定就寢:9時(shí)30分 實(shí)際就寢: 10時(shí) 天氣:晴 心情:※...
    改變_閱讀 111評(píng)論 0 0
  • 今天已經(jīng)是21月21日锤悄,2017已經(jīng)走進(jìn)尾聲,新的一年將要開(kāi)始嘉抒。對(duì)今年做下復(fù)盤(pán)零聚。 一,與往年的對(duì)比 剛聽(tīng)到“七年就...
    踐行而生閱讀 154評(píng)論 1 0
  • 1蚂会。 富人愛(ài)創(chuàng)業(yè);窮人愛(ài)打工耗式。 2胁住。 富人有投資意識(shí)趁猴;窮人只有存錢(qián)意識(shí)。 3彪见。 富人看趨勢(shì)做事躲叼;窮人看結(jié)果做事。 ...
    onnlfcthqb閱讀 204評(píng)論 0 0
  • “懂比愛(ài)更珍貴,愛(ài)你的人很多浪规,懂你的人太少”或听,這句話曾經(jīng)說(shuō)到無(wú)數(shù)人心坎里去了,隱喻的體現(xiàn)了人際交往中溝通的價(jià)值笋婿。 ...
    遇見(jiàn)熱帶魚(yú)閱讀 812評(píng)論 3 13