ATLAS + NumPy + SciPy + Theano的python科學(xué)計(jì)算環(huán)境的搭建

ATLAS + NumPy + SciPy + Theano的python科學(xué)計(jì)算環(huán)境的搭建

http://fhqdddddd.blog.163.com/blog/static/1869915420116642947209/

Theano是一個(gè)python庫(kù),提供了定義嫌松、優(yōu)化以及評(píng)估數(shù)學(xué)表達(dá)式的庫(kù)蜓萄,尤其適合處理高維數(shù)組背苦。使用Theano能獲得和C差不多的處理速度,并且當(dāng)利用GPU進(jìn)行計(jì)算時(shí)笤成,效率要優(yōu)于CPU上運(yùn)行的C語(yǔ)言程序总处。利用Theano能快速驗(yàn)證各種算法模型。

但是在Linux上安裝theano是一件非常痛苦的事情筹麸,從theano的文檔中看到,其依賴(lài)條件非常多:

(1) 64-bit Linux(最佳)

(2) python 2.4以上

(3) g++ 4.2以上

(4) NumPy 1.5.0以上

(5) SciPy 0.8以上

(6) BLAS支持Level-3

事實(shí)上雏婶,在安裝過(guò)程中發(fā)現(xiàn)物赶,如果要安裝NumPy,還需要安裝ATLAS留晚,而ATLAS則又依賴(lài)于lapack ……

這其中涉及到:

ATLAS是python下的一個(gè)線性代數(shù)庫(kù)酵紫,是基于另外兩個(gè)線性代數(shù)庫(kù)BLAS和lapack的;

NumPy提供了一個(gè)在python中做科學(xué)計(jì)算的基礎(chǔ)庫(kù)错维,它重在數(shù)值計(jì)算奖地,甚至可以說(shuō)是用于多維數(shù)組處理的庫(kù);

SciPy是基于numpy赋焕,提供了一個(gè)在python中做科學(xué)計(jì)算的工具集参歹,也就是說(shuō)它是更上一個(gè)層次的庫(kù);

Theano則是基于NumPy以及SciPy的一個(gè)更高級(jí)的用于科學(xué)計(jì)算的庫(kù)隆判。

這里假設(shè)python和g++已經(jīng)按要求裝好犬庇,并且符合版本要求,以下根據(jù)安裝的步驟來(lái)進(jìn)行說(shuō)明:

首先介紹下環(huán)境侨嘀,多核服務(wù)器臭挽,cpu時(shí)鐘頻率2668MHz,Linux-64bit咬腕,非root權(quán)限欢峰。所有源碼放在/data4/open_src中

各開(kāi)發(fā)包的版本為:

開(kāi)發(fā)包 ? ? 版本 ? ? ? 文件名 ? ? ? ? ? ? ? ? ? 下載地址

-----------------------------------------------------------------------------------------------

BLAS ? ? ? ? ? ? ? ? ?blas.tgz ? ? ? ? ? ? ? ? http://www.netlib.org/blas/

lapack ? ? 3.2.2 ? ? ?lapack.tgz ? ? ? ? ? ? ? http://www.netlib.org/lapack/#_previous_release

ATLAS ? ? ?3.8.4 ? ? ?atlas3.8.4.tar.bz2 ? ? ? http://sourceforge.net/projects/math-atlas/files/Stable/

NumPy ? ? ?1.7.1 ? ? ?numpy-1.7.1.tar.gz ? ? ? https://pypi.python.org/pypi/numpy

SciPy ? ? ?0.12.0 ? ? scipy-0.12.0.tar.gz ? ? ?https://pypi.python.org/pypi/scipy

Theano ? ? 0.6.0 ? ? ?Theano-0.6.0rc3.tar.gz ? http://deeplearning.net/software/theano/#download

以下是安裝步驟:

step 1. 編譯BLAS

(1) 解壓:tar -xvzf blas.tgz

(2) cd BLAS

(3) 修改 make.inc 中的編譯選項(xiàng):

PLAT = _LINUX

FORTRAN ?= gfortran

OPTS ? ? = -O2 -m64 -fPIC

NOOPT ? ?= -O0 -m64 -fPIC

LOADER ? = gfortran

(4) 編譯BLAS:make

編譯完成后,會(huì)生成blas_LINUX.a文件

step 2. 配置ATLAS

在安裝ATLAS之前需要先編譯lapack涨共,但是為了能使得編譯成功纽帖,需要保證lapack的編譯選項(xiàng)與ATLAS一致。因此首先配置ATLAS煞赢,然后將相關(guān)編譯配置拷貝到lapack中

(1) 解壓:tar -xvjf atlas3.8.4.tar.bz2

(2) cd ATLAS

(3) 創(chuàng)建一個(gè)build目錄抛计,用于存放ATLAS的編譯配置:mkdir atlas_build

(4) cd atlas_build

(5) 執(zhí)行configure進(jìn)行配置:../configure -b 64 -D c -DPentiumCPS=2668 -Fa alg -fPIC --with-netlib-lapack=/data4/open_src/lapack-3.2.2/lapack_LINUX.a --prefix=~/.local

其中的參數(shù)說(shuō)明如下:

-b 指定編譯出庫(kù)的類(lèi)型(32位庫(kù)還是64位庫(kù))

-D c -DPentiumCPS 是指定你的CPU的時(shí)鐘頻率,可以通過(guò) grep MHz /proc/cpuinfo 得到

-Fa alg -fPIC 得到與位置無(wú)關(guān)的代碼照筑,生成動(dòng)態(tài)的共享庫(kù)

--prefix 為安裝路徑

--with-netlib-lapack 則是制定lapack庫(kù)文件(此時(shí)lapack庫(kù)文件還沒(méi)有生成吹截,先隨便指定一個(gè))

../configure -b 64 -Fa alg -fPIC -Si cputhrchk 0 --prefix=$HOME/atlas3.8.4 --with-netlib-lapack==$HOME/lapack-3.5.0/liblapack.a

(6) 完成配置后,在Make.inc文件中找到F77和F77FLAGS的參數(shù)配置凝危,這兩個(gè)配置將會(huì)賦給lapack的FORTRAN和OPTS

ps:對(duì)于ATLAS 3.10及以上版本波俄,設(shè)置--with-netlib-lapack會(huì)出錯(cuò),需要直接指定lapack的壓縮包(--with-netlib- lapack-tarfile=)蛾默,它在編譯過(guò)程中會(huì)自動(dòng)解壓和編譯lapack懦铺,最終生成的so文件也由之前的6個(gè)整合成兩個(gè)。ATLAS 3.10以上版本對(duì)后續(xù)安裝NumPy沒(méi)有影響支鸡,但是在使用的時(shí)候會(huì)造成有些庫(kù)文件找不到的現(xiàn)象冬念。因此這里使用的是ATLAS 3.8.4版本趁窃。

step 3. 編譯lapack

(1) 解壓:tar -xvzf lapack.tgz

(2) cd lapack-3.2.2

(3) 拷貝生成make.inc: cp make.inc.example make.inc

(4) 修改make.inc:

將其中FORTRAN和OPTS的值設(shè)置得跟 ATLAS/atlas_build/Make.inc 中的F77和F77FLAGS一致

PLAT = _LINUX

BLASLIB = /data4/open_src/BLAS/blas$(PLAT).a

(5) 編譯:make

(6) 編譯成功后,會(huì)在根目錄生成兩個(gè)庫(kù)文件:lapack_LINUX.a 和 tmglib_LINUX.a

step 4 編譯并安裝ATLAS

(1) cd ATLAS

(2) 刪除原配置:rm -rf atlas_build

(3) 重新配置ATLAS:參考 step 2急前,并設(shè)置 --with-netlib-lapack=/data4/open_src/lapack-3.2.2/lapack_LINUX.a

(4) 在atlas_build中進(jìn)行編譯:make

ps:這個(gè)過(guò)程相當(dāng)漫長(zhǎng)醒陆,耐心等待!裆针!

(5) check編譯結(jié)果:

make check

make ptcheck (對(duì)于多核服務(wù)器)

make time

ps:如果check過(guò)程中沒(méi)有報(bào)錯(cuò)刨摩,則可以放心進(jìn)行以后的步驟;如果出現(xiàn)報(bào)錯(cuò)世吨,也可以嘗試進(jìn)行后續(xù)步驟澡刹,是否成功就要靠人品了。

(6) 編譯動(dòng)態(tài)庫(kù):

cd lib

make shared

make ptshared (對(duì)于多核服務(wù)器)

如果在 lib 下面出現(xiàn)libatlas.so, libcblas.so, libf77blas.so, liblapack.so, libptcblas.so, libptf77blas.so 這6個(gè)動(dòng)態(tài)庫(kù)文件耘婚,則表示編譯成功

(7) 安裝ATLAS:make install

由于之前設(shè)置了--prefix=~/.local 因此ATLAS將被安裝到 ~/.local/lib 中

(8) cp ./lib/*.so ~/.local/lib

(9) 設(shè)置環(huán)境變量:在~/.bashrc中添加 export LD_LIBRARY_PATH=~/.local/lib:$LD_LIBRARY_PATH 并執(zhí)行 source ~/.bashrc

step 5. 安裝nose

tar -xzvf nose-1.0.0

cd nose-1.0.0

python setup.py build

python setup.py install

step 6. 安裝NumPy

(1) 解壓 tar -xvzf numpy-1.7.1.tar.gz

(2) cd numpy-1.7.1

(3) 拷貝生成sit.cfg: cp site.cfg.example site.cfg

(4) 配置site.cfg:

1> 打開(kāi)[DEFAULT]罢浇,并設(shè)置 library_dirs 和 include_dirs ,使得在編譯的時(shí)候能夠找到atlas庫(kù)

library_dirs = ~/.local/lib

include_dirs = ~/.local/include

2> 打開(kāi)[blas_opt]边篮,并設(shè)置 libraries

libraries = ptf77blas, ptcblas, atlas

3> 打開(kāi)[lapack_opt]己莺,并設(shè)置 libraries

libraries = lapack, ptf77blas, ptcblas, atlas

ps:如果在ATLAS安裝過(guò)程中,沒(méi)有生成libptf77blas和libptcblas戈轿,則需要設(shè)置兩個(gè)libraries為

libraries = f77blas, cblas, atlas

libraries = lapack, f77blas, cblas, atlas

(5) 利用python構(gòu)建NumPy:python setup.py build

(6) 利用python安裝NumPy:python setup.py install --prefix=~/.local

(7) 安裝完成后凌受,NumPy被安裝在 ~/.local/lib/python2.7/site-packages/numpy

(8) 設(shè)置環(huán)境變量:在~/.bashrc中添加 export PYTHONPATH=~/.local/lib/python2.7/site-packages:$PYTHONPATH 并執(zhí)行 source ~/.bashrc

step 7. 安裝SicPy

(1) 解壓: tar -xvzf scipy-0.12.0.tar.gz

(2) cd scipy-0.12.0

(3) 設(shè)置site.cfg: 可以直接將NumPy的site.cfg拷貝到當(dāng)前目錄中

(4) 利用python構(gòu)建SciPy:python setup.py build

(5) 利用python安裝SciPy:python setup.py install --prefix=~/.local

(6) 安裝完成后,SciPy被安裝在 ~/.local/lib/python2.7/site-packages/scipy

如果前面得到的Fortran編譯器是gfortran的話思杯,執(zhí)行:

python setup.py build --fcompiler=gnu95

如果前面得到的Fortran編譯器是g77的話胜蛉,執(zhí)行:

python setup.py build --fcompiler=gnu

環(huán)境變量設(shè)置:

我換成 gnu95 以后,和我以前 環(huán)境變量設(shè)置有沖突(動(dòng)態(tài)庫(kù)設(shè)置)

export HOME=/home/SCE/zhaolei

export PATH=$HOME/local/bin:$PATH

export LD_LIBRARY_PATH=$HOME/local/lib:$HOME/local/BerkeleyDB.4.5/lib:$LD_LIBRARY_PATH

export LIBRARY_PATH=$HOME/local/lib:$HOME/local/BerkeleyDB.4.5/lib:$LIBRARY_PATH

export LD_RUN_PATH=$LD_LIBRARY_PATH

export INCLUDE=$HOME/local/include:$INCLUDE

所以安裝時(shí)色乾,只好先注釋掉了誊册。

或者下面的變量一般不用設(shè)置:

#export LDFLAGS="-L$HOME/local/lib -L$HOME/local/BerkeleyDB.4.5/lib"

#export CPPFLAGS="-I$HOME/local/include -I$HOME/local/BerkeleyDB.4.5/include"

#export CXXFLAGS=$CPPFLAGS

#export CFLAGS=$CPPFLAGS

step 8. 安裝Theano

有了以上的準(zhǔn)備后,安裝Theano就是一個(gè)非常簡(jiǎn)單的過(guò)程了暖璧。直接利用python就可以完成安裝:

(1) 解壓:tar -xvzf Theano-0.6.0rc3.tar.gz

(2) cd Theano-0.6.0rc3

(3) python setup.py install --prefiex=~/.local

(4) 安裝完成后案怯,SciPy被安裝在 ~/.local/lib/python2.7/site-packages/Theano-0.6.0rc3-py2.7.egg

然后可以在python下執(zhí)行相應(yīng)的測(cè)試程序:

python

>>>import nose

>>>import numpy

>>>import scipy

>>>numpy.test('full')

等待。澎办。嘲碱。。

>>>scipy.test('full')

至此局蚀,完成了ATLAS + NumPy + SciPy + Theano的python科學(xué)計(jì)算環(huán)境的搭建

http://blog.sina.com.cn/s/blog_6cb8e53d0101keak.html

Theano是一個(gè)python庫(kù)麦锯,提供了定義、優(yōu)化以及評(píng)估數(shù)學(xué)表達(dá)式的庫(kù)琅绅,尤其適合處理高維數(shù)組扶欣。使用Theano能獲得和C差不多的處理速度,并且當(dāng)利用GPU進(jìn)行計(jì)算時(shí),效率要優(yōu)于CPU上運(yùn)行的C語(yǔ)言程序料祠。利用Theano能快速驗(yàn)證各種算法模型骆捧。

但是在Linux上安裝theano是一件非常痛苦的事情,從theano的文檔中看到术陶,其依賴(lài)條件非常多:

(1) 64-bit Linux(最佳)

(2) python 2.4以上

(3) g++ 4.2以上

(4) NumPy 1.5.0以上

(5) SciPy 0.8以上

(6) BLAS支持Level-3

事實(shí)上凑懂,在安裝過(guò)程中發(fā)現(xiàn),如果要安裝NumPy梧宫,還需要安裝ATLAS,而ATLAS則又依賴(lài)于lapack ……

這其中涉及到:

ATLAS是python下的一個(gè)線性代數(shù)庫(kù)摆碉,是基于另外兩個(gè)線性代數(shù)庫(kù)BLAS和lapack的塘匣;

NumPy提供了一個(gè)在python中做科學(xué)計(jì)算的基礎(chǔ)庫(kù),它重在數(shù)值計(jì)算巷帝,甚至可以說(shuō)是用于多維數(shù)組處理的庫(kù)忌卤;

SciPy是基于numpy,提供了一個(gè)在python中做科學(xué)計(jì)算的工具集楞泼,也就是說(shuō)它是更上一個(gè)層次的庫(kù)驰徊;

Theano則是基于NumPy以及SciPy的一個(gè)更高級(jí)的用于科學(xué)計(jì)算的庫(kù)。

這里假設(shè)python和g++已經(jīng)按要求裝好堕阔,并且符合版本要求棍厂,以下根據(jù)安裝的步驟來(lái)進(jìn)行說(shuō)明:

首先介紹下環(huán)境,多核服務(wù)器超陆,cpu時(shí)鐘頻率2668MHz牺弹,Linux-64bit,非root權(quán)限时呀。所有源碼放在/data4/open_src中

各開(kāi)發(fā)包的版本為:

開(kāi)發(fā)包版本文件名下載地址

-----------------------------------------------------------------------------------------------

BLASblas.tgzhttp://www.netlib.org/blas/

lapack3.2.2lapack.tgzhttp://www.netlib.org/lapack/#_previous_release

ATLAS3.8.4atlas3.8.4.tar.bz2http://sourceforge.net/projects/math-atlas/files/Stable/

NumPy1.7.1numpy-1.7.1.tar.gzhttps://pypi.python.org/pypi/numpy

SciPy0.12.0scipy-0.12.0.tar.gzhttps://pypi.python.org/pypi/scipy

Theano0.6.0Theano-0.6.0rc3.tar.gzhttp://deeplearning.net/software/theano/#download

以下是安裝步驟:

step 1. 編譯BLAS

(1) 解壓:tar -xvzf blas.tgz

(2) cd BLAS

(3) 修改 make.inc 中的編譯選項(xiàng):

PLAT = _LINUX

FORTRAN= gfortran

OPTS= -O2 -m64 -fPIC

NOOPT= -O0 -m64 -fPIC

LOADER= gfortran

(4) 編譯BLAS:make

編譯完成后张漂,會(huì)生成blas_LINUX.a文件

step 2. 配置ATLAS

在安裝ATLAS之前需要先編譯lapack,但是為了能使得編譯成功谨娜,需要保證lapack的編譯選項(xiàng)與ATLAS一致航攒。因此首先配置ATLAS,然后將相關(guān)編譯配置拷貝到lapack中

(1) 解壓:tar -xvjf atlas3.8.4.tar.bz2

(2) cd ATLAS

(3) 創(chuàng)建一個(gè)build目錄趴梢,用于存放ATLAS的編譯配置:mkdir atlas_build

(4) cd atlas_build

(5) 執(zhí)行configure進(jìn)行配置:../configure -b 64 -D c -DPentiumCPS=2668 -Fa alg -fPIC --with-netlib-lapack=/data4/open_src/lapack-3.2.2/lapack_LINUX.a --prefix=~/.local

其中的參數(shù)說(shuō)明如下:

-b 指定編譯出庫(kù)的類(lèi)型(32位庫(kù)還是64位庫(kù))

-D c -DPentiumCPS 是指定你的CPU的時(shí)鐘頻率漠畜,可以通過(guò) grep MHz /proc/cpuinfo 得到

-Fa alg -fPIC 得到與位置無(wú)關(guān)的代碼,生成動(dòng)態(tài)的共享庫(kù)

--prefix 為安裝路徑

--with-netlib-lapack 則是制定lapack庫(kù)文件(此時(shí)lapack庫(kù)文件還沒(méi)有生成垢油,先隨便指定一個(gè))

(6) 完成配置后盆驹,在Make.inc文件中找到F77和F77FLAGS的參數(shù)配置,這兩個(gè)配置將會(huì)賦給lapack的FORTRAN和OPTS

ps:對(duì)于ATLAS 3.10及以上版本滩愁,設(shè)置--with-netlib-lapack會(huì)出錯(cuò)躯喇,需要直接指定lapack的壓縮包(--with-netlib-lapack-tarfile=),它在編譯過(guò)程中會(huì)自動(dòng)解壓和編譯lapack,最終生成的so文件也由之前的6個(gè)整合成兩個(gè)廉丽。ATLAS 3.10以上版本對(duì)后續(xù)安裝NumPy沒(méi)有影響倦微,但是在使用的時(shí)候會(huì)造成有些庫(kù)文件找不到的現(xiàn)象。因此這里使用的是ATLAS 3.8.4版本正压。

step 3. 編譯lapack

(1) 解壓:tar -xvzf lapack.tgz

(2) cd lapack-3.2.2

(3) 拷貝生成make.inc: cp make.inc.example make.inc

(4) 修改make.inc:

將其中FORTRAN和OPTS的值設(shè)置得跟 ATLAS/atlas_build/Make.inc 中的F77和F77FLAGS一致

同時(shí)設(shè)置

PLAT = _LINUX

BLASLIB = /data4/open_src/BLAS/blas$(PLAT).a

(5) 編譯:make build

(6) 編譯成功后欣福,會(huì)在根目錄生成兩個(gè)庫(kù)文件:lapack_LINUX.a 和 tmglib_LINUX.a

step 4. 編譯并安裝ATLAS

(1) cd ATLAS

(2) 刪除原配置:rm -rf atlas_build

(3) 重新配置ATLAS:參考 step 2,并設(shè)置 --with-netlib-lapack=/data4/open_src/lapack-3.2.2/lapack_LINUX.a

(4) 在atlas_build中進(jìn)行編譯:make build

ps:這個(gè)過(guò)程相當(dāng)漫長(zhǎng)焦履,耐心等待M厝啊!

(5) check編譯結(jié)果:

make check

make ptcheck (對(duì)于多核服務(wù)器)

make time

ps:如果check過(guò)程中沒(méi)有報(bào)錯(cuò)嘉裤,則可以放心進(jìn)行以后的步驟郑临;如果出現(xiàn)報(bào)錯(cuò),也可以嘗試進(jìn)行后續(xù)步驟屑宠,是否成功就要靠人品了厢洞。

(6) 編譯動(dòng)態(tài)庫(kù):

cd lib

make shared

make ptshared (對(duì)于多核服務(wù)器)

cd ..

如果在 lib 下面出現(xiàn)libatlas.so, libcblas.so, libf77blas.so, liblapack.so, libptcblas.so, libptf77blas.so 這6個(gè)動(dòng)態(tài)庫(kù)文件,則表示編譯成功

(7) 安裝ATLAS:make install

由于之前設(shè)置了--prefix=~/.local 因此ATLAS將被安裝到 ~/.local/lib 中

(8) cp ./lib/*.so ~/.local/lib

(9) 設(shè)置環(huán)境變量:在~/.bashrc中添加 export LD_LIBRARY_PATH=~/.local/lib:$LD_LIBRARY_PATH 并執(zhí)行 source ~/.bashrc

step 5. 安裝NumPy

(1) 解壓 tar -xvzf numpy-1.7.1.tar.gz

(2) cd numpy-1.7.1

(3) 拷貝生成sit.cfg: cp site.cfg.example site.cfg

(4) 配置site.cfg:

1> 打開(kāi)[DEFAULT]典奉,并設(shè)置 library_dirs 和 include_dirs 躺翻,使得在編譯的時(shí)候能夠找到atlas庫(kù)

library_dirs = ~/.local/lib

include_dirs = ~/.local/include

2> 打開(kāi)[blas_opt],并設(shè)置 libraries

libraries = ptf77blas, ptcblas, atlas

3> 打開(kāi)[lapack_opt]卫玖,并設(shè)置 libraries

libraries = lapack, ptf77blas, ptcblas, atlas

ps:如果在ATLAS安裝過(guò)程中公你,沒(méi)有生成libptf77blas和libptcblas,則需要設(shè)置兩個(gè)libraries為

libraries = f77blas, cblas, atlas

libraries = lapack, f77blas, cblas, atlas

(5) 利用python構(gòu)建NumPy:python setup.py build

(6) 利用python安裝NumPy:python setup.py install --prefix=~/.local

(7) 安裝完成后骇笔,NumPy被安裝在 ~/.local/lib/python2.7/site-packages/numpy

(8) 設(shè)置環(huán)境變量:在~/.bashrc中添加 export PYTHONPATH=~/.local/lib/python2.7/site-packages:$PYTHONPATH 并執(zhí)行 source ~/.bashrc

step 6. 安裝SicPy

(1) 解壓: tar -xvzf scipy-0.12.0.tar.gz

(2) cd scipy-0.12.0

(3) 設(shè)置site.cfg: 可以直接將NumPy的site.cfg拷貝到當(dāng)前目錄中

(4) 利用python構(gòu)建SciPy:python setup.py build

(5) 利用python安裝SciPy:python setup.py install --prefix=~/.local

(6) 安裝完成后省店,SciPy被安裝在 ~/.local/lib/python2.7/site-packages/scipy

step 7. 安裝Theano

有了以上的準(zhǔn)備后,安裝Theano就是一個(gè)非常簡(jiǎn)單的過(guò)程了笨触。直接利用python就可以完成安裝:

(1) 解壓:tar -xvzf Theano-0.6.0rc3.tar.gz

(2) cd Theano-0.6.0rc3

(3) python setup.py install --prefiex=~/.local

(4) 安裝完成后懦傍,SciPy被安裝在 ~/.local/lib/python2.7/site-packages/Theano-0.6.0rc3-py2.7.egg

至此,完成了ATLAS + NumPy + SciPy + Theano的python科學(xué)計(jì)算環(huán)境的搭建

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芦劣,一起剝皮案震驚了整個(gè)濱河市粗俱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌虚吟,老刑警劉巖寸认,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異串慰,居然都是意外死亡偏塞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)邦鲫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)灸叼,“玉大人神汹,你說(shuō)我怎么就攤上這事」沤瘢” “怎么了屁魏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捉腥。 經(jīng)常有香客問(wèn)我氓拼,道長(zhǎng),這世上最難降的妖魔是什么抵碟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任桃漾,我火速辦了婚禮,結(jié)果婚禮上拟逮,老公的妹妹穿的比我還像新娘呈队。我一直安慰自己,他們只是感情好唱歧,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著粒竖,像睡著了一般颅崩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蕊苗,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天沿后,我揣著相機(jī)與錄音,去河邊找鬼朽砰。 笑死尖滚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瞧柔。 我是一名探鬼主播漆弄,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼造锅!你這毒婦竟也來(lái)了撼唾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哥蔚,失蹤者是張志新(化名)和其女友劉穎倒谷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體糙箍,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渤愁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了深夯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抖格。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出他挎,到底是詐尸還是另有隱情筝尾,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布办桨,位于F島的核電站筹淫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏呢撞。R本人自食惡果不足惜损姜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望殊霞。 院中可真熱鬧摧阅,春花似錦、人聲如沸绷蹲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祝钢。三九已至比规,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拦英,已是汗流浹背蜒什。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疤估,地道東北人灾常。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像铃拇,于是被迫代替她去往敵國(guó)和親钞瀑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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