Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安裝

本次安裝caffe是在新的筆記本上,感覺與之前在臺式機(jī)上的安裝還是有一定的區(qū)別岖沛。加之是在新的ubuntu16.04系統(tǒng)上安裝的鲜滩,可參考教程較少。而且其中添加了不少庫鸿市,修改的一些錯誤锯梁,難免會有遺漏。如果發(fā)現(xiàn)本文未提及錯誤灸芳,歡迎一起討論學(xué)習(xí)涝桅。另外,看到有的人說安裝了半個多月烙样,多次重裝冯遂,希望有問題還是先把問題查清楚,不要盲目重裝系統(tǒng);其次谒获,安裝的時候最好記錄自己安裝的過程和內(nèi)容蛤肌,避免遺漏和重復(fù)壁却,出問題了也可以與別人的教程相對比。
首先介紹安裝條件和軟件準(zhǔn)備:

  • 聯(lián)想筆記本電腦Y700-15ISK裸准,雙顯卡nvidia的GTX960M展东,內(nèi)存16G
  • Ubuntu16.04系統(tǒng),選擇該系統(tǒng)主要是能夠完美支持新筆記本的所有硬件
  • cuda7.5安裝與配置炒俱,cudnn5.0安裝與配置
  • BLAS安裝與配置
  • OpenCV3.1.0安裝與配置
  • Python安裝與配置盐肃,選擇的是anaconda2-4.0,即python2.7
  • matlab2014a下載與安裝权悟,下載鏈接http://pan.baidu.com/s/1c2I6UTM ,密碼jdit
  • caffe官網(wǎng)下載與安裝

參考博客與文章:
ubuntu16.04系統(tǒng)cuda7.5安裝教程:https://www.pugetsystems.com/labs/hpc/NVIDIA-CUDA-with-Ubuntu-16-04-beta-on-a-laptop-if-you-just-cannot-wait-775/
caffe官網(wǎng)教程:http://caffe.berkeleyvision.org/installation.html
ubuntu16.04系統(tǒng)cuda7.5配置與caffe安裝教程:http://blog.csdn.net/g0m3e/article/details/51420565
ubuntu14.04系統(tǒng)上caffe安裝:http://www.cnblogs.com/platero/p/3993877.html

一砸王、Ubuntu16.04系統(tǒng)安裝

這一部分接觸過ubuntu系統(tǒng)的應(yīng)該比較熟悉,網(wǎng)上也有很多可以參考的例子峦阁,就不再贅述谦铃。另外,我是在一個SSD固態(tài)硬盤上單獨(dú)安裝的系統(tǒng)榔昔,之前在臺式機(jī)上也是這么實現(xiàn)的驹闰,感覺這樣和windows雙系統(tǒng)故障會少些。

二撒会、顯卡驅(qū)動與cuda安裝

1嘹朗、顯卡驅(qū)動安裝

安裝完ubuntu16.04系統(tǒng)之后,直接更新系統(tǒng)并重啟诵肛。在多顯卡的筆記本中骡显,可能需要在BIOS系統(tǒng)里選擇”自由選擇顯卡“,這樣系統(tǒng)才能識別nvidia的顯卡曾掂,并進(jìn)行驅(qū)動更新。我這里是運(yùn)用ppa更新的最新驅(qū)動壁顶,使用起來能夠得到挺好的體驗珠洗,并能夠?qū)崿F(xiàn)雙顯卡的自由切換。
首先若专,通過快捷鍵Ctrl+Alt+T打開終端许蓖,然后加入官方ppa源:

$ sudo  add-apt-repository ppa:graphics-drivers/ppa

需要輸入用戶密碼,并確認(rèn)鏈接源调衰。之后刷新軟件庫并安裝最新的驅(qū)動膊爪,在命令行輸入:

$ sudo apt-get update
$ sudo apt-get install nvidia-367 nvidia-settings nvidia-prime

由于聯(lián)想筆記本的UEFI保護(hù),會拒絕第三方的驅(qū)動嚎莉,因此需要關(guān)閉該保護(hù)米酬,關(guān)閉之后重啟能夠正常驅(qū)動nvidia,并能夠進(jìn)行雙顯卡的切換趋箩。
安裝完成之后赃额,可以通過系查看系統(tǒng)屬性加派,看是否是nvidia的顯卡。另外跳芳,也可以通過下面命令看是否安裝成功:

$ nvidia-settings
nvidia settings界面

如果出現(xiàn)的nvidia設(shè)置界面不是這樣芍锦,驅(qū)動可能還是有問題。此處我出現(xiàn)的錯誤主要是是UEFI保護(hù)沒注意到飞盆,導(dǎo)致重復(fù)安裝了幾遍娄琉。

2、cuda7.5 安裝與配置

首先下載cuda7.5.run文件吓歇,如下圖所示:


cuda7.5下載版本

可以看到當(dāng)前cuda7.5還不支持ubuntu16.04孽水。參考別人的教程,主要是gcc版本的問題照瘾,實際是可以編譯通過的匈棘。下載完15.04版本的run文件之后,一定要進(jìn)行進(jìn)行md5檢驗析命,校驗碼不對會出現(xiàn)安裝之后重啟不能進(jìn)入界面的問題主卫。
下載完成之后,cd進(jìn)入文件所在目錄鹃愤,在終端進(jìn)行如下操作

$ chmod 777 cuda_7.5.18_linux.run     #獲取文件權(quán)限
$ sudo ./cuda_7.5.18_linux.run --override #執(zhí)行文件安裝

注意后面的override是必須的簇搅,這樣才能保證安裝的過程中,不會出現(xiàn)編譯器不支持的錯誤软吐。另外瘩将,在選擇條件的過程中,一定不要再次安裝nvidia驅(qū)動凹耙,雖然cuda.run文件本身是包含又nvidia驅(qū)動的姿现,但是本處直接安裝會出錯。下圖是安裝.run文件的配置:

cuda.run文件安裝界面

安裝完成之后會出現(xiàn)

============ Summary ============
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-7.5
Samples: Installed in /usr/local/cuda-7.5

之后更換cudnn動態(tài)庫肖抱,可以獲得更快的計算效率备典。下載完cudnn5.0之后進(jìn)行解壓,cd進(jìn)入cudnn5.0解壓之后的include目錄意述,在命令行進(jìn)行如下操作:

$ sudo cp cudnn.h /usr/local/cuda/include/    #復(fù)制頭文件

再將lib64目錄下的動態(tài)文件進(jìn)行復(fù)制和鏈接:

$ sudo cp lib* /usr/local/cuda/lib64/    #復(fù)制動態(tài)鏈接庫
$ cd /usr/local/cuda/lib64/      
$ sudo rm -rf libcudnn.so libcudnn.so.5    #刪除原有動態(tài)文件
$ sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5
$ sudo ln -s libcudnn.so.5 libcudnn.so

然后設(shè)置環(huán)境變量和動態(tài)鏈接庫提佣,在命令行輸入:

$ sudo gedit /etc/profile

在打開的文件末尾加入:

export PATH = /usr/local/cuda/bin:$PATH

保存之后,創(chuàng)建鏈接文件:

$ sudo vim /etc/ld.so.conf.d/cuda.conf

按下鍵盤i進(jìn)行編輯荤崇,輸入鏈接庫位置:

/usr/local/cuda/lib64

然后按esc拌屏,輸入:wq保存退出。并在終端輸入:

$ sudo ldconfig

使鏈接立即生效术荤。

3倚喂、cuda用例安裝與測試

在安裝cuda.run文件時,我們已經(jīng)選擇安裝了samples用例喜每,還需要編譯务唐。因為當(dāng)前的cuda還不支持gcc5.0以上的版本雳攘,在編譯之前,我們需要修改配置文件枫笛,否則無法編譯成功吨灭。在終端輸入:

$ cd /usr/local/cuda-7.5/include
$ cp host_config.h host_config.h.bak   #備份編譯頭文件
$ sudo gedit host_config.h

然后在115行修改編譯其支持的版本:

# if GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9)
# error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
# endif /* GNUC > 4 || (GNUC == 4 && GNUC_MINOR > 9) */

將if后面連續(xù)兩個4改為5即可,然后進(jìn)入用例文件進(jìn)行編譯:

$ cd /usr/local/cuda/samples
$ sudo make all -j4
$ cd /usr/local/cuda/samples/bin/x86_64/linux/release
$ sudo ./deviceQuery

成功之后會出現(xiàn)下列信息:

CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 960M"
CUDA Driver Version / Runtime Version 8.0 / 7.5
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 4044 MBytes (4240375808 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1176 MHz (1.18 GHz)
Memory Clock rate: 2505 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M
Result = PASS

通過上述用例測試刑巧,就表明顯卡驅(qū)動安裝和cuda安裝完全成功了喧兄。

二、BLAS安裝與配置

BLAS(基礎(chǔ)線性代數(shù)集合)是一個應(yīng)用程序接口的標(biāo)準(zhǔn)啊楚。caffe官網(wǎng)上推薦了三種實現(xiàn):ATLAS, MKL, or OpenBLAS吠冤。其中atlas可以直接通過命令行安裝,在此不再介紹恭理。我采用的是intel的mkl庫拯辙,首先,通過上面鏈接在intel官網(wǎng)申請學(xué)生版的**Parallel Studio XE Cluster Edition **颜价,下載完成之后cd到下載目錄進(jìn)行安裝:

$ tar zxvf parallel_studio_xe_2016_update3.tgz   #解壓下載文件
$ chmod 777 parallel_studio_xe_2016_update3 -R   #獲取文件權(quán)限
$ cd parallel_studio_xe_2016_update3/
$ sudo ./install_GUI.sh

安裝完成之后涯保,進(jìn)行相關(guān)文件的鏈接:

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

在打開的文件中添加庫文件:

/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64

添加完成之后,編譯鏈接時lib文件立即生效:

$ sudo ldconfig

三周伦、OpenCV3.1.0安裝與配置

首先安裝必要的庫夕春,有的依賴庫我是已經(jīng)安裝過的,具體安裝的先后關(guān)系已經(jīng)忘了专挪。如果出現(xiàn)有些依賴關(guān)系不滿足的錯誤及志,可以再安裝庫:

$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev    # 必要的基本庫

根據(jù)上面的鏈接下載OpenCV3.1.0版本,并進(jìn)行解壓寨腔,解壓之后進(jìn)入安裝文件目錄:

$ cd opencv-3.1.0
$ mkdir build          #創(chuàng)建build文件夾
$ cd opencv-3.1.0/build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  
$ #生成的文件在bulid中速侈,而生成的CMakeList.txt文件在上一級文件中

在configure過程中過程中,可能會出現(xiàn)下面的錯誤:

-- ICV: Downloading ippicv_linux_20151201.tgz...

在直接下載該文件的過程中迫卢,會因為超時而失敗锌畸,可以下載http://download.csdn.net/detail/yehuohan/9511463, 并替換掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件,然后再次cmake即可靖避。生成編譯文件之后,在opencv-3.1.0/build目錄下比默,終端輸入:

$ make -j4       #四核運(yùn)算
$ sudo make install

此時幻捏,可能會出現(xiàn)另外一個錯誤:

/usr/include/string.h: In function ‘void* __mempcpy_inline(void, const void, size_t)’: /usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope return (char *) memcpy (__dest, __src, __n) + __n;

這也是因為ubuntu16.04的個個g++版本太高的造成的,只需要在opencv-3.1.0目錄下的CMakeList.txt 文件的開頭加入:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES")

添加之后再次進(jìn)行編譯鏈接即可命咐。

4篡九、python安裝與配置

python的安裝有兩種方式:一種是系統(tǒng)自帶的python,只需再安裝相應(yīng)的庫即可醋奠;第二種是直接安裝anaconda榛臼,很多相應(yīng)的庫已經(jīng)包含了伊佃。第一種直接安裝庫文件比較簡單,不需要修改相應(yīng)的包含路徑和庫文件沛善。本人因為習(xí)慣了anaconda航揉,因此選擇的是anaconda linux64 2.7版本(3.5版本我也試過,裝caffe的時候可能會比較麻煩)金刁。下載完成之后帅涂,最好也要進(jìn)行md5sum的檢驗。完成之后尤蛮,cd進(jìn)入下載文件所在的目錄媳友,在命令行輸入:

$ bash Anaconda2-4.0.0-Linux-x86_64.sh

安裝完成之后,在.bashrc中添加Anaconda的庫文件产捞,一定不要在/etc/profile文件中添加醇锚。因為anaconda有幾個鏈接庫和系統(tǒng)鏈接庫文件類似,如果添加到/etc/profile文件中坯临,會出現(xiàn)電腦重啟之后不能進(jìn)入界面的情況

$ sudo gedit ~/.bashrc

然后加入庫文件:

export PATH="/home/lyndon/anaconda2/bin:$PATH"
export LD_LIBRARY_PATH="/home/lyndon/anaconda2/lib:$LD_LIBRARY_PATH"

重啟電腦之后焊唬,在命令行輸入:

$ ipython

就可以看到python的版本,并進(jìn)行運(yùn)用了尿扯。

5求晶、matlab的安裝與配置

在網(wǎng)盤上下載安裝包及Crack破解文件之后,解壓兩個壓縮文件衷笋,并用Crack文件中的install替換matlab2014安裝目錄下/java/jar/下的install文件芳杏。然后在命令行cd進(jìn)入matlab2014目錄,輸入:

$ sudo ./install

1辟宗、選擇“不聯(lián)網(wǎng)安裝”爵赵;
2、當(dāng)出現(xiàn)密鑰時泊脐,隨意輸入20個數(shù)字12345-67890-12345-67890即可空幻;
3、選擇自己需要安裝的工具容客;
4秕铛、需要激活時選擇不要聯(lián)網(wǎng)激活,運(yùn)用Crack目錄下的“l(fā)icense_405329_R2014a.lic”文件作為激活文件
安裝完成之后缩挑,還要將Crack/linux目錄下的libmwservices.so文件拷貝到/usr/local/MATLAB/R2014a/bin/glnxa64但两。在Crack/linux目錄下的命令行輸入:

$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64
安裝完成之后,直接在命令行輸入matlab供置,就能過進(jìn)行使用了

6谨湘、caffe的安裝與配置

首先,安裝caffe必要的庫文件:protobuf, glog, gflags, hdf5

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

安裝之后,anaconda應(yīng)用時還是會出現(xiàn)錯誤紧阔。此時用anaconda的安裝工具conda 再安裝必要文件就行了坊罢,我安裝了以下文件,后續(xù)ipython中就能夠用caffe了擅耽。

$ conda install libprotobuf-dev libleveldb-dev 

安裝完成之后活孩,進(jìn)入caffe下載的文件目錄,在命令行輸入:

$ sudo cp Makefile.config.example Makefile.config # 備份配置文件
$ gedit Makefile.config  # 修改編譯文件

配置文件主要修改:

USE_CUDNN := 1 #取消注釋秫筏,應(yīng)用cudnn
OPENCV_VERSION := 3 #取消注釋诱鞠,應(yīng)用opencv3
BLAS := mkl #BLAS庫應(yīng)用英特爾的mkl
ANACONDA_HOME := /home/lyndon/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include
$(ANACONDA_HOME)/include/python2.7
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \ #選用anaconda作為python工具
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial #加入了 /usr/include/hdf5/serial,防止找不到hdf5.h錯誤

在make過程中可能 string.h ‘memcy’ was not declared in this scope的錯誤是这敬,這也是因為ubuntu中g(shù)cc編譯器版本太新航夺,解決方法是打開Makefile文件,搜索并修改:

改 NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
為 NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

還可能出現(xiàn):/usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_size@XZ_5.0'崔涂,解決改問題只需要添加庫文件路徑就行阳掐,在home目錄下的命令行輸入:

$ sudo gedit ~/.bashrc

在文件中加入:

export LD_LIBRARY_PATH="/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"

在命令行輸入:
$ sudo ldconfig #編譯立即生效,然后進(jìn)入caffe所在目錄
$ cd /home/lyndon/lyndon/caffe/caffe-master
$ make all -j4 #編譯文件
$ make test -j4 #編譯測試文件
$ make runtest
$ make pycaffe
$ make matcaffe
如果編譯都沒報錯冷蚂,則表示基本成功缭保,能夠通過用例進(jìn)行測試了。在運(yùn)用anaconda和matlab時都需要修改相應(yīng)的內(nèi)容蝙茶。
anaconda需要將caffe頭文件進(jìn)行鏈接:

$ sudo gedit ~/.bashrc

export PYTHONPATH="/home/lyndon/lyndon/caffe/caffe-master/python:$PYTHONPATH"
之后編譯鏈接庫艺骂,打開ipython,輸入:

$ import caffe

即可調(diào)用caffe相應(yīng)模塊了隆夯。matlab模塊可以直接測試caffe/matlab/+caffe的用例钳恕。

7、總結(jié)

至此蹄衷,ubuntu16.0下的caffe等相關(guān)文件全部安裝完畢忧额,其中問題最多的應(yīng)該是雙顯卡問題中的nvidia驅(qū)動安裝的問題,很有可能會驅(qū)動不起來愧口,最好弄明白自己出錯的原因睦番,不然重裝系統(tǒng)也沒用。其次耍属,在安裝anaconda過程中托嚣,有些教程建議把庫文件加入到/etc/profile環(huán)境中,這可能會造成電腦重啟沒法進(jìn)入桌面的問題厚骗。其余的問題都應(yīng)該不會造成電腦不能重啟不能進(jìn)入桌面的情況注益,可以直接google和百度解決。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溯捆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌提揍,老刑警劉巖啤月,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劳跃,居然都是意外死亡谎仲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門刨仑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郑诺,“玉大人,你說我怎么就攤上這事杉武≌薜” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵轻抱,是天一觀的道長飞涂。 經(jīng)常有香客問我,道長祈搜,這世上最難降的妖魔是什么较店? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮容燕,結(jié)果婚禮上梁呈,老公的妹妹穿的比我還像新娘。我一直安慰自己蘸秘,他們只是感情好官卡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秘血,像睡著了一般味抖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灰粮,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天仔涩,我揣著相機(jī)與錄音,去河邊找鬼粘舟。 笑死熔脂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柑肴。 我是一名探鬼主播霞揉,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晰骑!你這毒婦竟也來了适秩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秽荞,沒想到半個月后骤公,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扬跋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年阶捆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钦听。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡洒试,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出朴上,到底是詐尸還是另有隱情垒棋,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布余指,位于F島的核電站捕犬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏酵镜。R本人自食惡果不足惜碉碉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淮韭。 院中可真熱鬧垢粮,春花似錦、人聲如沸靠粪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽占键。三九已至昔善,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畔乙,已是汗流浹背君仆。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牲距,地道東北人返咱。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像牍鞠,于是被迫代替她去往敵國和親咖摹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

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