Keras深度學(xué)習(xí)框架配置


作者:周縱葦

微博:@MrGiovanni

郵箱:zongweiz@asu.edu


Please cite this paper if you found it useful. Thanks!

Wang H, Zhou Z, Li Y, et al. Comparison of machine learning methods for classifying mediastinal lymph node metastasis of non-small cell lung cancer from 18F-FDG PET/CT images[J]. 2017, 7.

---

論文引用——3.2 測(cè)試平臺(tái)

項(xiàng)目代碼是在Windows 7上運(yùn)行的囤热,主要用到的Matlab R2013a和Python劝堪,其中Matlab用于patch的分割和預(yù)處理,卷積神經(jīng)網(wǎng)絡(luò)搭建用到了根植于Python和Theano的深度學(xué)習(xí)框架Keras。Keras是基于Theano的一個(gè)深度學(xué)習(xí)框架最爬,它的設(shè)計(jì)參考了Torch,用Python語(yǔ)言編寫(xiě)淹冰,是一個(gè)高度模塊化的神經(jīng)網(wǎng)絡(luò)庫(kù)叮喳,支持GPU和CPU被芳,用起來(lái)特別簡(jiǎn)單,適合快速開(kāi)發(fā)馍悟。


直接上干貨筐钟,拒絕走彎路

下載一個(gè)Anaconda Python Distribution,網(wǎng)址: https://www.continuum.io/downloads#_windows

無(wú)腦安裝赋朦,一直next

安裝完成后,該有的基礎(chǔ)包就都有了李破,安裝完anaconda宠哄,就相當(dāng)于安裝了Python、IPython嗤攻、集成開(kāi)發(fā)環(huán)境Spyder毛嫉、一些包等等。然后打開(kāi)Anaconda Prompt妇菱,cd到?.py?文件的路徑承粤,輸入“python **.py”暴区,注意:這兒和cmd的命令相比多了一個(gè)“python”。要是你不加python辛臊,會(huì)提示錯(cuò)誤:拒絕訪(fǎng)問(wèn)仙粱。

打開(kāi)Anaconda Prompt,輸入命令彻舰,就可以運(yùn)行py文件了

在打開(kāi)的Anaconda Prompt的命令行中輸入“pip install keras"伐割,稍等片刻,keras直接就安裝完了刃唤,好方便隔心!


pip install keras


再接著輸命令“conda install mingw libpython”,多等片刻尚胞,MinGW也就安裝完了硬霍。

解決g++ not detected問(wèn)題

最近我安裝的時(shí)候感覺(jué)特別慢,有時(shí)候根本就沒(méi)有進(jìn)度笼裳,我懷疑是被墻了唯卖。

所以我默默地翻墻了,然后就有進(jìn)度啦

接下來(lái)呢侍咱,開(kāi)始裝theano~三步走

1. 下載theano的zip文件耐床,解壓到你電腦的.../Anaconda/Lib/site-packages/theano目錄下,注意:原來(lái)這個(gè)site-packages里面本身就有一個(gè)叫做theano的東西楔脯,把它刪了撩轰!替換成壓縮包里的文件,并重命名為theano

2. 添加環(huán)境變量: ? ?path: C:/Anaconda/MinGW/bin; C:/Anaconda/MinGW/x86_64-w64-mingw32/lib;

3. 新建環(huán)境變量: ?PYTHONPATH: C:/Anaconda/Lib/site-packages/theano;

好了昧廷,理論上theano也安裝成功了堪嫂,測(cè)試一下看~在A(yíng)naconda Prompt的命令行中輸入“python”,回車(chē)木柬,然后輸入“import theano”皆串,回車(chē)。如果你看到“>>>”三個(gè)箭頭眉枕,沒(méi)有別的亂七八糟的東西了恶复,就說(shuō)明:你!安速挑!裝谤牡!成!功姥宝!啦翅萤!

至此,你已經(jīng)可以運(yùn)行keras的神經(jīng)網(wǎng)絡(luò)程序了腊满,但是有一個(gè)小瑕疵:會(huì)警告你cl.exe找不到套么。你可以不理它培己,我提供解決方案是

去電腦的C盤(pán)目錄下檢索“cl.exe”,會(huì)出來(lái)幾個(gè)cl.exe

靠譜的路徑名是:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64

當(dāng)然啰胚泌,前提是你電腦里面裝了Visual Studio (VS)省咨,如果沒(méi)裝的話(huà)也沒(méi)關(guān)系,裝一下就好了啰诸迟。提供VS各個(gè)版本的免費(fèi)下載地址:Visual Studio 各版本下載

下載完茸炒,把搜索到的cl.exe的路徑添加到系統(tǒng)路徑Path里頭,這個(gè)警告就會(huì)消失啦~

(可選)加速庫(kù)CuDNN

官網(wǎng)下載需要注冊(cè)賬號(hào)申請(qǐng)阵苇,兩三天批準(zhǔn)壁公。網(wǎng)盤(pán)搜索一般也能找到最新版。

Windows目前就是cudnn-7.0-win-x64-v5.0-prod.zip绅项。

下載解壓出來(lái)是名為cuda的文件夾紊册,里面有bin、include快耿、lib囊陡,將三個(gè)文件夾復(fù)制到安裝CUDA的地方覆蓋對(duì)應(yīng)文件夾,默認(rèn)文件夾在:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA

添加環(huán)境變量:? ? path:?C:\Anaconda2;C:\Anaconda2\Scripts;


Cool掀亥,整個(gè)64位的python·keras就配置完成了撞反,也就是說(shuō)可以運(yùn)行你的深度學(xué)習(xí)代碼啰:)

至于說(shuō)找keras的源代碼,去這兒里隨便挑一個(gè)搪花,一般就用mnist_cnn.py遏片。








如果你根據(jù)“干貨”成功地配完了keras,那么就別往下看了撮竿,要是沒(méi)成功吮便,下面就是更加詳細(xì)的步驟、遇到的錯(cuò)誤和對(duì)應(yīng)解決方案幢踏。供你參考:)

安裝python

我選擇的版本是2.7.11版本髓需,注意了!不要裝Python3.5.1房蝉,不然后續(xù)的深度學(xué)習(xí)配置各種坑僚匆。在Python的官方主頁(yè)下載Python安裝包。下載地址是:https://www.python.org/downloads/

下載2.7.11搭幻,不要追求最新的0兹取!

選擇64位粗卜!選擇64位!選擇64位纳击!說(shuō)三遍续扔,不然到時(shí)候數(shù)據(jù)量大了就MemoryError了攻臀!

就是因?yàn)檫@個(gè)原因我要重新裝python了!呵呵
我是Windows 7 64位的機(jī)子

當(dāng)然嘍纱昧,我當(dāng)初沒(méi)有裝64位是有原因的刨啸,因?yàn)樵谶\(yùn)行mnist手寫(xiě)字體識(shí)別的神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn)這個(gè)問(wèn)題,那時(shí)我為了圖簡(jiǎn)單识脆,就干脆裝了32位的python设联,哎,現(xiàn)在還得填坑W莆妗@肜!

64位的ImageDataGenerator會(huì)報(bào)錯(cuò)悉稠,但是你最后只要?jiǎng)e用這個(gè)模塊就好啦

在下載完成之后宫蛆,一直點(diǎn)擊下一步就OK了。注意:安裝在系統(tǒng)盤(pán)5拿汀耀盗!

這兒選擇just for me

在安裝完成之后,我們需要手動(dòng)添加環(huán)境變量:鼠標(biāo)右鍵我的電腦 ?-> 屬性 -> 點(diǎn)擊高級(jí)系統(tǒng)設(shè)置 -> 點(diǎn)擊環(huán)境變量 -> 點(diǎn)擊PATH -> 在最后面加上我們的Python安裝路徑 -> 點(diǎn)擊確定卦尊。反正就是Python27這個(gè)文件夾的系統(tǒng)目錄

我的路徑是:C:\\Python27

怎么看你有沒(méi)有裝成功咧叛拷,打開(kāi)cmd命令行界面,輸入python岂却,返回了版本號(hào)忿薇,就可以啦

cmd怎么開(kāi)我就不說(shuō)了唄~

python安裝成功!

安裝pip

pip對(duì)于python就相當(dāng)于apple store對(duì)于iPhone淌友,是各個(gè)包的下載中心煌恢,剛剛下完的python相當(dāng)于一個(gè)裸機(jī),需要在pip里面下載一些深度學(xué)習(xí)需要的包~所以現(xiàn)在我們先下載安裝pip震庭。

同樣需要在Python的官網(wǎng)上去下載瑰抵,下載地址是:https://pypi.python.org/pypi/pip#downloads

自動(dòng)跳轉(zhuǎn)到這兒,下這個(gè)好了

下載完器联,解壓到python27文件路徑下

解壓到這兒

打開(kāi)二汛,里面有一個(gè)setup.py,復(fù)制當(dāng)前路徑拨拓,在cmd下cd到這兒

cd ?C:\\Python27\\pip-8.1.1

到了C:\\Python27\\pip-8.1.1后肴颊,輸入

python setup.py install

就醬,輸兩行代碼
這種情況就是“沒(méi)有配環(huán)境變量”渣磷!python安裝的時(shí)候也一樣

--------我是分割線(xiàn)---------

當(dāng)然最近還出現(xiàn)了一個(gè)新的錯(cuò)誤婿着,就是這個(gè)

ImportError: No module named setuptools

要是你沒(méi)遇到最好,直接跳到下一個(gè)分割線(xiàn),遇到的話(huà)解決方法是:

直接用瀏覽器訪(fǎng)問(wèn)地址:https://bootstrap.pypa.io/get-pip.py竟宋,直接打開(kāi)了get-pip.py的源代碼提完,可以直接把內(nèi)容拷貝出來(lái),然后在本地創(chuàng)建get-pip.py丘侠。就是新建一個(gè)txt文檔徒欣,粘貼內(nèi)容,重命名成get-pip.py蜗字,注意:文件類(lèi)型改成了.py

運(yùn)行cmd打肝,cd到get-pip.py所在目錄(我是C:\\Python27),運(yùn)行代碼:

運(yùn)行g(shù)et-pip.py挪捕,安裝完成:)

--------我是分割線(xiàn)---------

按照之前介紹的添加環(huán)境變量的方法粗梭,我們?cè)赑ATH最后添加:

C:\\Python27\\Scripts;

然后看看到底pip安裝成功了沒(méi),在cmd里面輸入pip担神,會(huì)出現(xiàn)這個(gè)

good for u, 你成功了楼吃!

安裝深度學(xué)習(xí)框架keras

上面都是基本的準(zhǔn)備東西,要是你已經(jīng)跪在前面了妄讯,那孩锡。。只能亥贸。躬窜。自求多福:) 啰,我現(xiàn)在要開(kāi)始正式講keras怎么用了炕置!

注意一點(diǎn):python以及keras的所有代碼都在cmd界面運(yùn)行的~

我們可以先看看現(xiàn)在python有些什么包荣挨,在cmd下輸入:

pip list

現(xiàn)在有pip,setuptools朴摊,wheel這仨

我們需要先安裝scipy和numpy這兩個(gè)包默垄,注意:這兩的比較奇葩,用pip安裝會(huì)給你出來(lái)一堆錯(cuò)誤甚纲,建議用網(wǎng)上的scipy.exe和numpy.exe無(wú)腦裝口锭,省事兒。你可能在網(wǎng)上會(huì)看到whl等格式文件和所謂的去“官網(wǎng)”安裝介杆,我只能忠告一下:不要入坑鹃操。。春哨。:)

numpy.exe 64位下載地址:http://vdisk.weibo.com/s/sTuT3rm3Mg2jC

scipy.exe 64位下載地址:http://download.csdn.net/download/feixueyinjiayue/9027923

也許scipy.exe需要注冊(cè)賬號(hào)荆隘,就提供一下我的這兩個(gè)exe的百度云鏈接:numpy.exescipy.exe

下載完這兩個(gè)exe,都是無(wú)腦安裝的,一直摁next即可吗冤。然后在cmd下輸入“pip list”查看是否安裝完柬甥,如果成功了是這個(gè)界面

階段性開(kāi)心一下:)

接下來(lái)我介紹pip這個(gè)appstore怎么用。也就是一句話(huà)的事兒拓轻,在cmd中輸入:pip install **(你想下載的包)虽缕,回車(chē)就好了熊昌,確保有網(wǎng)仪壮,就可以自動(dòng)開(kāi)始下載安裝啰,超級(jí)簡(jiǎn)單的胳徽。舉例:

現(xiàn)在安裝完scipy和numpy积锅,我就可以下載安裝keras了,就這樣

pip install keras

這樣keras就成功安裝完了养盗。缚陷。。


調(diào)試keras

首先往核,你得有一個(gè)卷積神經(jīng)網(wǎng)絡(luò)的keras樣例代碼箫爷,一般來(lái)說(shuō)比較推薦minst的,我可以提供代碼和數(shù)據(jù)聂儒,我想這個(gè)網(wǎng)站要成為下一步學(xué)習(xí)的墊腳石了虎锚,因?yàn)橐_(kāi)始小小地改代碼了。

http://keras.io/

這個(gè)網(wǎng)站相當(dāng)于keras的詳細(xì)使用文檔衩婚,是學(xué)習(xí)keras過(guò)程中避不開(kāi)的參考

有了代碼和數(shù)據(jù)窜护,小改一下數(shù)據(jù)的路徑,然后就開(kāi)始解決一堆報(bào)錯(cuò)的問(wèn)題了嘿嘿嘿:

錯(cuò)誤1:sorry, unimplemented: 64-bit mode not compiled in

原因:32位的gcc不能編譯64位程序非春。

解決方法:下載并安裝64位gcc到E:\\MinGW\\bin柱徙,需要修改環(huán)境變量。(親測(cè)不可行奇昙,呵呵)

錯(cuò)誤2:'g++' is not recognized as an internal or external command.

我就是用我已經(jīng)安裝的codeblocks的g++.exe所在的路徑放到環(huán)境變量里頭就行了

錯(cuò)誤3:TypeError: max_pool_2d() got an unexpected keyword argument 'mode'

這個(gè)就是keras內(nèi)部的函數(shù)定義的時(shí)候形參多了一個(gè)“mode”护侮,找到這個(gè)函數(shù),把mode='average_exc_pad'這項(xiàng)刪了即可储耐;找函數(shù)的方法如下圖羊初,函數(shù)在theano_backend.py這個(gè)文件內(nèi)(C:\\Python27\\Lib\\site-packages\\keras\\backend\\theano_backend.py),用搜索找到pool_out = downsample.max_pool_2d這個(gè)位置弧岳,把該刪的刪掉凳忙!

這個(gè)需要修改一下keras內(nèi)部的代碼~

--------我是分割線(xiàn)---------

如果實(shí)在遇到的坑太多,就換個(gè)方法禽炬,要是正常的話(huà)直接跳到下一個(gè)分割線(xiàn)就好了(額)

Anaconda Python Distribution安裝

下載一個(gè)Anaconda Python Distribution涧卵,網(wǎng)址:https://www.continuum.io/downloads#_windows

無(wú)腦安裝,一直next

安裝完成后腹尖,該有的基礎(chǔ)包就都有了柳恐,安裝完anaconda,就相當(dāng)于安裝了Python、IPython乐设、集成開(kāi)發(fā)環(huán)境Spyder讼庇、一些包等等。然后打開(kāi)Anaconda Prompt近尚,cd到py文件的路徑蠕啄,輸入“python **.py”,注意:這兒和cmd的命令相比多了一個(gè)python戈锻。要是你不加python歼跟,會(huì)拒絕訪(fǎng)問(wèn)。

打開(kāi)Anaconda Prompt格遭,輸入命令哈街,就可以運(yùn)行py文件了

然后在打開(kāi)的Anaconda Prompt命令行中輸入“pip install keras",這樣keras直接就安裝完了拒迅,好方便骚秦!

--------我是分割線(xiàn)---------

好了,我們繼續(xù)填坑璧微。

錯(cuò)誤4:g++ not detected !

前提是我已經(jīng)將E:\\Program Files (x86)\\CodeBlocks\\MinGW\\bin和lib, include加入系統(tǒng)路徑了作箍。呵呵

找不到g++!M薄C纱А!

解決辦法:在[Anaconda2] 中輸入命令“conda install mingw libpython

成功解決g++ not detected問(wèn)題

錯(cuò)誤5:Exception: Compilation failed (return status=-1073741701)

錯(cuò)誤提示長(zhǎng)這樣

-fPIC問(wèn)題的解決:看不懂开瞭,媽的

我的解決方法:首先不要用codeblocks的g++.exe懒震,用Anacoda2中自帶的MinGW的g++.exe,把這個(gè)路徑加入環(huán)境變量

地址是C:\\Users\\Administrator\\Anaconda2\\MinGW\\x86_64-w64-mingw32\\bin嗤详,然后呢个扰,錯(cuò)誤提示變成了這樣

error: CreateProcess: No such file or directory

對(duì)于這種錯(cuò)誤4,錯(cuò)誤5葱色,我要提供一個(gè)終極解決方案啦5菡!2哉(不能忍了)

64位WIN7上成功安裝theano,并運(yùn)行了g++, GPU

我們已經(jīng)安裝完Anaconda了办龄,然后現(xiàn)在要重!新淋昭!安俐填!裝!theano翔忽!

1. 下載theano的zip文件英融,解壓到.../Anaconda/Lib/site-packages/theano(文件里面有個(gè)theano的文件夾盏檐,拿出來(lái)放在E:/Anaconda/Lib/site-packages里面)目錄下。

2. 添加環(huán)境變量: ? ?path: E:/Anaconda/MinGW/bin;E:/Anaconda/MinGW/x86_64-w64-mingw32/lib;

(32bit ?E:/Anaconda/MinGW/i686-w64-mingw32/lib;)

新建環(huán)境變量: ?PYTHONPATH: E:/Anaconda/Lib/site-packages/theano;

g++.exe驶悟,theano這種問(wèn)題完美解決胡野!收~

至此,我所有的問(wèn)題都順利的解決了痕鳍,你呢硫豆?是不是也可以成功地訓(xùn)練你的神經(jīng)網(wǎng)絡(luò)了呢?

歷時(shí)72個(gè)小時(shí)笼呆,終于又看到了這個(gè)親切的畫(huà)面够庙,開(kāi)心死了!


寫(xiě)個(gè)彩蛋

對(duì)于64位的Anaconda抄邀,如果python要讀入MATLAB的數(shù)據(jù)文件.mat,好像不能再用32位的那句代碼了昼榛,因?yàn)闀?huì)出現(xiàn)“Python.exe已停止工作”的錯(cuò)誤境肾。

sio.loadmat()不好使了

解決方法是換一個(gè)讀入方法唄~

h5py.File()

這個(gè)函數(shù)有很多優(yōu)點(diǎn)哦:

1. 可以讀入MATLAB Version 7.3 or later (save -v7.3) Variables can exceed 2GB on 64-bit systems ! 這個(gè)版本的mat文件能儲(chǔ)存的數(shù)據(jù)量超級(jí)大。

2. 輸入的矩陣就是mat內(nèi)部存的形式胆屿,舉例:mat文件里面有一個(gè)A(3*2)的變量奥喻,sio.loadmat()讀入的是一個(gè)一維的(1*6)的數(shù)組,然后還得reshape()一下變成(3*2)的非迹;h5py.File()直接就讀入一個(gè)(3*2)的數(shù)組环鲤。


剛剛測(cè)試了一下花了我72小時(shí)的64·python·keras,真的可以利用的內(nèi)存爆大誒T魇蕖@淅搿!

你看纯命!導(dǎo)入的訓(xùn)練集14w+西剥,測(cè)試集20w+

祝一切順利~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市亿汞,隨后出現(xiàn)的幾起案子瞭空,更是在濱河造成了極大的恐慌,老刑警劉巖疗我,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咆畏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吴裤,警方通過(guò)查閱死者的電腦和手機(jī)旧找,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嚼摩,“玉大人钦讳,你說(shuō)我怎么就攤上這事矿瘦。” “怎么了愿卒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缚去,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我琼开,道長(zhǎng)易结,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任柜候,我火速辦了婚禮搞动,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渣刷。我一直安慰自己鹦肿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布辅柴。 她就那樣靜靜地躺著箩溃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碌嘀。 梳的紋絲不亂的頭發(fā)上涣旨,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音股冗,去河邊找鬼霹陡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛止状,可吹牛的內(nèi)容都是我干的烹棉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼导俘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼峦耘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起旅薄,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辅髓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后少梁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體洛口,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年凯沪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了第焰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡妨马,死狀恐怖挺举,靈堂內(nèi)的尸體忽然破棺而出杀赢,到底是詐尸還是另有隱情,我是刑警寧澤湘纵,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布脂崔,位于F島的核電站,受9級(jí)特大地震影響梧喷,放射性物質(zhì)發(fā)生泄漏砌左。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一铺敌、第九天 我趴在偏房一處隱蔽的房頂上張望汇歹。 院中可真熱鬧,春花似錦偿凭、人聲如沸产弹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)取视。三九已至,卻和暖如春常挚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背稽物。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工奄毡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贝或。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓吼过,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親咪奖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盗忱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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