国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

小白學(xué)CNN以及Keras的速成

人工智能 深度學(xué)習(xí)
如今在深度學(xué)習(xí)大火的時(shí)候,第三方工具也層出不窮,比較出名的有Tensorflow,Caffe,Theano,MXNet,在如此多的第三方框架中頻繁的更換無(wú)疑是很低效的,只要你能夠好好掌握其中一個(gè)框架,熟悉其原理,那么之后因?yàn)楦鞣N要求你想要更換框架也是很容易的。

[[201203]]

一、為何要用Keras

如今在深度學(xué)習(xí)大火的時(shí)候,第三方工具也層出不窮,比較出名的有Tensorflow,Caffe,Theano,MXNet,在如此多的第三方框架中頻繁的更換無(wú)疑是很低效的,只要你能夠好好掌握其中一個(gè)框架,熟悉其原理,那么之后因?yàn)楦鞣N要求你想要更換框架也是很容易的。

那么sherlock用的是哪個(gè)框架呢?sherlock使用的是Google的開源框架Tensorflow,因?yàn)镚oogle開源了tensorflow之后其社區(qū)非常活躍,而且版本更新也非常穩(wěn)定,所以我就選擇了這個(gè)框架。對(duì)于框架之爭(zhēng),在知乎上已經(jīng)有很多人在撕逼了,這個(gè)就好比哪種編程語(yǔ)言好這個(gè)問(wèn)題一樣。對(duì)于我們來(lái)講,選擇一個(gè)穩(wěn)定的框架,好好的學(xué)習(xí)deep learning才是重中之重,對(duì)于哪種框架更好的問(wèn)題,我們學(xué)好之后自然有自己的見解,所以前期切忌在刷知乎聽完大神撕逼之后頻繁更換框架。

對(duì)于Tensorflow的安裝,以及CPU和GPU版本,各種系統(tǒng)的安裝網(wǎng)上已經(jīng)有很多人詳細(xì)的寫過(guò)攻略了,可以自己去網(wǎng)上搜一搜,很容易就可以安裝成功。

選擇了Tensorflow之后,我們就可以愉快的開始我們的深度學(xué)習(xí)之旅了。去Tensorflow的中文社區(qū),可以看到有一些新手教程,網(wǎng)上也有很多學(xué)習(xí)材料,推薦看看stanford大學(xué)cs224d的課件,http://cs224d.stanford.edu/lectures/CS224d-Lecture7.pdf, 很詳細(xì)的介紹了tensorflow。然后你就可以寫tensorflow的程序了。雖然說(shuō)tensorflow已經(jīng)是一個(gè)封裝好的框架,但是你發(fā)現(xiàn)你寫一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)也需要很多行才能夠?qū)懲辏@個(gè)時(shí)候,就有很多的第三方插架來(lái)幫助你寫網(wǎng)絡(luò),也就是說(shuō)你用tensorflow要寫10行,第三方插架幫你封裝了一個(gè)函數(shù),就是把這10行集合在這個(gè)函數(shù)里面,那么你用1行,傳入相同的參數(shù),就能夠達(dá)到10行相同的效果,如此簡(jiǎn)便并且節(jié)約時(shí)間,可以幫助很快的實(shí)現(xiàn)我們的想法。

Keras Documentation就是Keras的官方文檔,里面可以查閱所有的函數(shù),并且可以在github上看他的開源代碼,非常方便。安裝也很簡(jiǎn)單,打開終端,輸入pip install keras 就可以等待安裝了。

下面就給一個(gè)簡(jiǎn)單的例子,來(lái)看一看Keras到底有多簡(jiǎn)單。

  1. from keras.models import Sequential 
  2.  
  3. model = Sequential()  

引入sequential,這個(gè)就是一個(gè)空的網(wǎng)絡(luò)結(jié)構(gòu),并且這個(gè)結(jié)構(gòu)是一個(gè)順序的序列,所以叫Sequential,Keras里面還有一些其他的網(wǎng)絡(luò)結(jié)構(gòu)。

  1. from keras.layers import Dense, Activation 
  2.  
  3. model.add(Dense(units=64, input_dim=100)) 
  4.  
  5. model.add(Activation('relu')) 
  6.  
  7. model.add(Dense(units=10)) 
  8.  
  9. model.add(Activation('softmax'))  

可以看到加入層很簡(jiǎn)單,只需要寫.add,后面是要加的層的類型。

  1. model.compile(loss='categorical_crossentropy'
  2.  
  3. optimizer='sgd'
  4.  
  5. metrics=['accuracy'])  

一旦你寫好了網(wǎng)絡(luò)之后,就可以用compile編譯整個(gè)網(wǎng)絡(luò),看參數(shù)設(shè)置有沒有問(wèn)題

  1. model.compile(loss=keras.losses.categorical_crossentropy, 
  2.  
  3. optimizer=keras.optimizers.SGD(lr=0.01,momentum=0.9,nesterov=True))  

你也可以自定義其中的優(yōu)化函數(shù),就像上面這樣,’sgd’是Keras已經(jīng)寫好了一些默認(rèn)參數(shù)的優(yōu)化函數(shù),你可以自己重新定義參數(shù),得到一個(gè)優(yōu)化函數(shù)。

  1. model.fit(x_train,y_train,epochs=5,batch_size=32) 

這個(gè)就像scikit-learn一樣訓(xùn)練模型。

  1. loss_and_metrics=model.evaluate(x_test,y_test,batch_size=128) 

這個(gè)就是評(píng)估訓(xùn)練結(jié)果。

  1. classes=model.predict(x_test,batch_size=128) 

或者是通過(guò)predict進(jìn)行預(yù)測(cè)。

看了上面的代碼,相信很多熟悉scikit-learn的同學(xué)都很親切,因?yàn)榇_實(shí)很簡(jiǎn)便,跟scikit-learn也有著類似的語(yǔ)法。

二、開始學(xué)習(xí)CNN

在理解CNN之前,我們有必要先理解一下什么是神經(jīng)網(wǎng)絡(luò),這樣才能開始了解更高級(jí)的卷積神經(jīng)網(wǎng)絡(luò)。

要學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)當(dāng)然有很多途徑,網(wǎng)上不少的大牛寫了很多攻略,有的推崇從理論到工程完成深度學(xué)習(xí),有的希望從工程出發(fā)發(fā)現(xiàn)問(wèn)題,解決問(wèn)題。各種各樣的方式都有不同的人去嘗試,攻略也是一大推,這使得不少的小白直接倒在了選擇材料的路上,一直在補(bǔ)先修知識(shí),待到熱情結(jié)束就放棄了學(xué)習(xí),連卷積網(wǎng)絡(luò)都不知道是什么,大大地打擊了大家的學(xué)習(xí)熱情。今天,sherlock在這里給大家推薦一個(gè)學(xué)習(xí)材料,保證你能夠快速入門cnn,出去裝逼也能夠和別人聊幾句。

這個(gè)材料是什么呢,就是大名鼎鼎的standford的cs231n這門課程。CS231n Convolutional Neural Networks for Visual Recognitionstanford大學(xué)確實(shí)算是深度學(xué)習(xí)和人工智能領(lǐng)域非常牛逼的學(xué)校。

神經(jīng)網(wǎng)絡(luò)

廢話不多說(shuō),開始學(xué)習(xí)我們的神經(jīng)網(wǎng)絡(luò)。

這是一張腦神經(jīng)的圖片,神經(jīng)網(wǎng)絡(luò)的發(fā)明也是由此開始的,這就是所謂的一個(gè)神經(jīng)元,上面有各種接受突觸,然后通過(guò)一個(gè)腦神經(jīng)來(lái)接受,最后得到輸出的結(jié)果。

那么由這張腦神經(jīng)圖能夠抽象出來(lái)的神經(jīng)網(wǎng)絡(luò)是什么呢?就是下面這個(gè)神經(jīng)網(wǎng)絡(luò)模型。

這個(gè)怎么理解呢?就是輸入一個(gè)向量,然后給向量的每一個(gè)元素分配一個(gè)權(quán)重,然后通過(guò)權(quán)重求和得到一個(gè)結(jié)果,然后將這個(gè)結(jié)果輸入一個(gè)激活函數(shù),得到最后的輸出結(jié)果。

激活函數(shù)又是什么鬼?激活函數(shù)的出現(xiàn)是因?yàn)槿四X的構(gòu)造,人腦里面接受信息得到結(jié)果這個(gè)過(guò)程是非線性的,比如你看到一樣?xùn)|西,你不可能保留這個(gè)東西的全部特征,你會(huì)重點(diǎn)觀察你感興趣的地方,這就是非線性的,也就是說(shuō)需要一個(gè)非線性變化將輸入的結(jié)果變換為非線性的結(jié)果。現(xiàn)在常用的非線性函數(shù)就是Relu(x) = max(x, 0),就是將小于0的部分去掉,只保留大于0的部分。

這就是單元的輸入和輸出,將這些單元合在一起就是一個(gè)神經(jīng)網(wǎng)絡(luò)。

這就是簡(jiǎn)單的一層網(wǎng)絡(luò),也可以由多層網(wǎng)絡(luò)

這里面的input layer就是所謂的單個(gè)訓(xùn)練集的維數(shù),將所有的訓(xùn)練集輸入就可以開始訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)。

Keras實(shí)現(xiàn)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)

知道了神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和原理,我們就可以開始使用keras去實(shí)現(xiàn)一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)。

  1. import keras 
  2.  
  3. from keras.models import Sequential 
  4.  
  5. from keras.layers import Dense 
  6.  
  7. import numpy as np 

導(dǎo)入必要的package  

  1. x=np.array([[0,1,0],[0,0,1],[1,3,2],[3,2,1]]) 
  2.  
  3. y=np.array([0,0,1,1]).T 

設(shè)定輸入的x和y 

  1. simple_model=Sequential() 
  2.  
  3. simple_model.add(Dense(5,input_shape=(x.shape[1],),activation='relu',name='layer1')) 
  4.  
  5. simple_model.add(Dense(4,activation='relu',name='layer2')) 
  6.  
  7. simple_model.add(Dense(1,activation='sigmoid',name='layer3'))

輸入一個(gè)三層的神經(jīng)網(wǎng)絡(luò),中間的hidden layer的元素個(gè)數(shù)是5和4,最后一層輸出一個(gè)結(jié)果 

  1. simple_model.compile(optimizer='sgd',loss='mean_squared_error') 

complie這個(gè)簡(jiǎn)單的模型 

  1. simple_model.fit(x,y,epochs=20000) 

訓(xùn)練20000次模型 

  1. simple_model.predict(x[0:1])  

可以預(yù)測(cè)一下第一個(gè)輸入的x的結(jié)果與實(shí)際的是否相符。

上面就是一個(gè)簡(jiǎn)單三層網(wǎng)絡(luò)的keras實(shí)現(xiàn),接下來(lái)我們將正式進(jìn)入Convolutional Neural Network

三、Convolutional Neural Network

前面給大家推薦了一門好課cs231n,本篇文章也是按照這個(gè)思路來(lái)的。

基本結(jié)構(gòu)

首先解釋一下什么是卷積,這個(gè)卷積當(dāng)然不是數(shù)學(xué)上的卷積,這里的卷積其實(shí)表示的是一個(gè)三維的權(quán)重,這么解釋起來(lái)可能不太理解,我們先看看卷積網(wǎng)絡(luò)的基本結(jié)構(gòu)。

通過(guò)上面的圖我們清楚地了解到卷積網(wǎng)絡(luò)和一般網(wǎng)絡(luò)結(jié)構(gòu)上面的差別,也可以理解為卷積網(wǎng)絡(luò)是立體的,而一般的網(wǎng)絡(luò)結(jié)構(gòu)是平面的。

卷積層

了解完了基本的結(jié)構(gòu)之后,我們就要了解cnn最重要的一個(gè)部分,也是最為創(chuàng)新的一個(gè)部分,卷積層。首先用一張圖片來(lái)比較一下卷積網(wǎng)絡(luò)到底創(chuàng)新在什么地方。

我們通過(guò)這個(gè)結(jié)構(gòu)就可以清晰地看到卷積網(wǎng)絡(luò)到底是怎么實(shí)現(xiàn)的。首先右邊是傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),在前面我們已經(jīng)詳細(xì)的解釋過(guò)了。而左邊的圖片,我們首先看看圖中最左邊的結(jié)構(gòu),你肯定會(huì)好奇為什么是32x32x3的一塊立體方塊。這個(gè)32×32代表的是像素點(diǎn),說(shuō)白了也就是圖片的大小,這個(gè)大小是你可以設(shè)置的,你可以設(shè)置為50×50,也可以是256×256,這都取決與圖片的大小,那么3表示什么呢?3其實(shí)表示的是RGB的三個(gè)通道,RGB也是什么?RGB表示red,green,blue,這三種顏色的各種組合疊加可以形成各種各樣的顏色,所以任何一張照片都可以用左邊這種圖形來(lái)表示。

那么中間這個(gè)小方塊又表示什么呢?這個(gè)就是我們要重點(diǎn)講的卷積。所謂的卷積,就是這種小方塊,我們?cè)O(shè)置一個(gè)小方塊的大小,但是這個(gè)小方塊的厚度必須和左邊的這個(gè)大方塊的厚度是一樣的,大方塊每一個(gè)像素點(diǎn)由一個(gè)0到255的數(shù)字表示,這樣我們就可以賦予小方塊權(quán)重,比如我們?nèi)⌒》綁K的大小是3×3,我們要求厚度必須要和左邊的大方塊厚度一樣,那么小方塊的的大小就為3x3x3,我們就可以賦予其3x3x3個(gè)權(quán)重,然后我們就可以開始計(jì)算卷積的結(jié)果,將小方塊從大方塊的左上角開始,一個(gè)卷積小方塊所覆蓋的范圍是3x3x3,然后我們將大方塊中3x3x3的數(shù)字和小方塊中的權(quán)重分別相乘相加,再加上一個(gè)偏差,就可以得到一個(gè)卷積的結(jié)果,可以抽象的寫成Wx+b這種形式,這就是圖上所顯示的結(jié)果,然后我們可以設(shè)置小方塊的滑動(dòng)距離,每次滑動(dòng)就可以形成一個(gè)卷積的計(jì)算結(jié)果,然后將整張大圖片滑動(dòng)覆蓋之后就可以形成一層卷積的結(jié)果,我們看到圖中的卷積結(jié)果是很厚的,也就是設(shè)置了很多層卷積。總結(jié)來(lái)說(shuō),每層卷積就是一個(gè)卷積核在圖片上滑動(dòng)求值,然后設(shè)置多個(gè)卷積核就可以形成多層的卷積層。

池化層

講完卷積層,接下來(lái)就要講一下池化層。為什么會(huì)有池化層的出現(xiàn)呢?是因?yàn)椴粩嗟淖鼍矸e,得到的中間結(jié)果會(huì)越來(lái)越厚,卷積就相當(dāng)于提取圖片中的特征,所以卷積層一般會(huì)設(shè)置得越來(lái)越厚,不然你就無(wú)法從前面的結(jié)果來(lái)提取更多的特征。這樣就會(huì)導(dǎo)致中間的結(jié)果會(huì)越來(lái)越大,計(jì)算會(huì)越來(lái)越慢,所以提出了池化層。

所謂的池化層,就是將圖片的大小縮小的一種處理方式。我們可以先看看下面的圖片。

通過(guò)這個(gè)圖片,我們可以清楚地看到池化層是怎么處理的。池化層也是需要先設(shè)置一個(gè)窗口,但是這個(gè)小窗口的厚度是1,而不再是前一層輸出的結(jié)果的厚度。然后有兩種處理方式,一種是取這個(gè)小窗口里面所有元素的最大值來(lái)代表這個(gè)小窗口,一種是取平均值,然后將小窗口滑動(dòng),在第二的位置再做同樣的處理,上層網(wǎng)絡(luò)輸出方塊的每一層做完之后就進(jìn)入這個(gè)大方塊的下一層做同樣的操作,這個(gè)處理辦法就可以讓整個(gè)大方塊的大小變小,可以看看上面的圖片的左邊。右邊是一個(gè)簡(jiǎn)單的一層厚度,取最大值的例子。

實(shí)現(xiàn)Lenet

講完了卷積網(wǎng)絡(luò)的基本結(jié)構(gòu)之后,你是不是已經(jīng)迫不及待希望能夠?qū)崿F(xiàn)一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)了呢?卷積網(wǎng)絡(luò)發(fā)展的特別迅速,最早是由Lecun提出來(lái)的,Lenet成為cnn的鼻祖,接下來(lái)他的學(xué)生Alex提出了層數(shù)更深的Alexnet,然后2013年又提出了VGGnet,有16層和19層兩種,這些都只是在層數(shù)上面的加深,并沒有什么其他的創(chuàng)新,而之后google提出了inception net在網(wǎng)絡(luò)結(jié)構(gòu)上實(shí)現(xiàn)了創(chuàng)新,提出了一種inception的機(jī)構(gòu),facebook ai 實(shí)驗(yàn)室又提出了resnet,殘差網(wǎng)絡(luò),實(shí)現(xiàn)了150層的網(wǎng)絡(luò)結(jié)構(gòu)可訓(xùn)練化,這些我們之后會(huì)慢慢講到。

接下來(lái)我們就來(lái)實(shí)現(xiàn)一下最簡(jiǎn)單的Lenet,使用mnist手寫子體作為訓(xùn)練集。

  1. import keras 
  2.  
  3. from keras.datasets import mnist 
  4.  
  5. (x_train, y_train), (x_test,y_test) =mnist.load_data() 
  6.  

 

導(dǎo)入必要的庫(kù)和數(shù)據(jù)集 

  1. x_train=x_train.reshape(-1,28,28,1) 
  2.  
  3. x_test=x_test.reshape(-1,28,28,1) 
  4.  
  5. x_train=x_train/255. 
  6.  
  7. x_test=x_test/255. 
  8.  
  9. y_train=keras.utils.to_categorical(y_train) 
  10.  
  11. y_test=keras.utils.to_categorical(y_test)

處理數(shù)據(jù),讓數(shù)據(jù)的shape是(28, 28, 1),然后label做一個(gè)one-hot encoding處理,比如類別是3,那么變成[0, 0, 1 ,0, 0, 0, 0, 0, 0, 0]。 

 

  1. from keras.layers import Conv2D,MaxPool2D,Dense,Flatten 
  2.  
  3. from keras.models import Sequential 
  4.  
  5. lenet=Sequential() 
  6.  
  7. lenet.add(Conv2D(6,kernel_size=3,strides=1,padding='same',input_shape=(28, 28, 1))) 
  8.  
  9. lenet.add(MaxPool2D(pool_size=2,strides=2)) 
  10.  
  11. lenet.add(Conv2D(16,kernel_size=5,strides=1,padding='valid')) 
  12.  
  13. lenet.add(MaxPool2D(pool_size=2,strides=2)) 
  14.  
  15. lenet.add(Flatten()) 
  16.  
  17. lenet.add(Dense(120)) 
  18.  
  19. lenet.add(Dense(84)) 
  20.  
  21. lenet.add(Dense(10,activation='softmax'))  

構(gòu)建lenet

  1. lenet.compile('sgd',loss='categorical_crossentropy',metrics=['accuracy']) 

編譯

  1. lenet.fit(x_train,y_train,batch_size=64,epochs=50,validation_data=[x_test,y_test]) 

訓(xùn)練50次,得到結(jié)果如下

  1. lenet.save('myletnet.h5'

可以保存訓(xùn)練好的模型

總結(jié)

OK, 這就是我們寫的一個(gè)超級(jí)簡(jiǎn)單的Lenet,訓(xùn)練50次得到的訓(xùn)練準(zhǔn)確率已經(jīng)達(dá)到0.9939,測(cè)試準(zhǔn)確率達(dá)到0.9852。 

責(zé)任編輯:龐桂玉 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2024-05-13 11:00:23

2020-02-26 16:52:24

Redis高性能數(shù)據(jù)庫(kù)

2013-01-29 09:57:23

數(shù)據(jù)分析

2012-06-28 09:53:11

2012-06-07 09:51:20

2012-06-05 09:59:00

2022-12-02 14:20:09

Tetris鴻蒙

2022-11-29 16:35:02

Tetris鴻蒙

2009-12-23 17:17:55

Linux高手

2023-03-30 09:19:54

SELinux安全子系統(tǒng)

2012-05-31 09:33:28

數(shù)據(jù)分析

2023-02-27 16:30:32

鴻蒙開源協(xié)議分析

2022-08-19 19:02:20

開源鴻蒙操作系統(tǒng)

2022-10-10 14:47:04

藍(lán)牙應(yīng)用鴻蒙

2023-04-04 09:24:11

鴻蒙HiDumper

2023-03-30 09:32:27

2022-11-14 17:01:34

游戲開發(fā)畫布功能

2019-10-08 10:50:22

MySQL數(shù)據(jù)庫(kù)

2022-10-17 14:29:24

鴻蒙應(yīng)用開發(fā)

2023-02-24 16:02:45

WebSocket網(wǎng)絡(luò)通訊協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲乱亚洲乱妇无码| 国产成人精品www牛牛影视| 一本一道久久a久久精品 | 91av视频在线免费观看| 国产精品白丝jk白祙| 国产白浆在线免费观看| 国产精品精品国产一区二区| 精品亚洲国产成av人片传媒| 一级在线视频| 中文字幕精品在线不卡| 亚洲国产精品123| 欧美亚洲在线日韩| 欧美成在线视频| 极品在线视频| 欧美日韩一区三区| 一卡二卡三卡亚洲| 亚洲乱码国产乱码精品精98午夜| 一区二区日本| 久久一日本道色综合久久| 亚洲综合中文字幕在线| 国产 日韩 欧美 综合 一区| 亚洲免费成人av电影| 亚洲小说区图片区都市| 欧美午夜片在线看| 蜜桃专区在线| 一区二区三区免费看视频| 天美星空大象mv在线观看视频| 精品在线观看视频| 亚洲国产欧美不卡在线观看| 午夜久久久久久久久久久| 国产免费福利| 欧美国产乱子伦 | 欧美精品18videosex性欧美| 在线精品亚洲欧美日韩国产| 欧美mv日韩mv国产| 黄色精品免费看| 9191久久久久久久久久久| av在线女优影院| 欧美性大战久久久| 成人免费在线电影| 欧美日韩精品一区二区三区| 视频三区在线| 91精品国产综合久久精品图片 | jazzjazz国产精品麻豆| 不用播放器成人网| 日本精品国产| 欧美国产第二页| 精品一区二区三区四区五区 | 免费黄网站在线| 777亚洲妇女| 欧美videos另类精品| 亚洲电影免费观看高清完整版在线观看| 成人在线播放| 日韩精品中文在线观看| 成人国产一区| 97超级碰在线看视频免费在线看| 美女久久99| 国产日韩欧美二区| 久久精品999| 免费在线观看亚洲视频| 国产精品每日更新在线播放网址| 无夜福利视频观看| 欧美日韩中文字幕一区二区| 9999热视频在线观看| 精品国产一区久久久| 人人网欧美视频| 91原创国产| 国产一区在线观看视频| 日日碰狠狠躁久久躁婷婷| 综合欧美一区二区三区| 欧美一区二区视频| 欧美一区日本一区韩国一区| 欧美巨大丰满猛性社交| 欧美极品美女视频网站在线观看免费| 精品无人区麻豆乱码久久久| 精品国产免费久久久久久尖叫| 国产在线国偷精品免费看| 亚洲国产精品三区| 欧美亚洲一区二区三区四区| 北条麻妃高清一区| 国产国产精品| 亚洲爽爆av| 久久久久久亚洲| 青青青国产精品| 久久精视频免费在线久久完整在线看| xx欧美xxx| 欧美激情亚洲自拍| 色棕色天天综合网| 在线精品国产成人综合| 久久精品 人人爱| 欧美亚洲另类制服自拍| 久久影院一区二区三区| 色欧美日韩亚洲| 在线国产网址| 日韩一区精品视频| 乱熟女高潮一区二区在线| 精品三级在线看| 亚洲午夜一级| 日本黄在线观看| 欧美中文字幕不卡| 免费看a在线观看| 美女999久久久精品视频| 久久中文字幕av一区二区不卡| 日韩在线观看电影完整版高清免费| 久久久久久久久久久99999| a视频网址在线观看| 香蕉久久国产| 懂色av一区二区三区蜜臀| 成人免费观看视频在线观看| 日本免费久久| 久久久久久综合| 国产免费av一区二区三区| 国产精品91xxx| 中国在线观看免费国语版电影| 精品少妇一区二区三区视频免付费| 亚洲国产aⅴ精品一区二区| 欧美日韩一区二区视频在线观看| 国产精品午夜在线| 草草在线视频| www.久久艹| 国产精品国产三级国产普通话三级 | 自拍偷拍欧美激情| 免费a级在线播放| 五月婷婷视频在线观看| 污污污污污污www网站免费| 精品久久久久久久久中文字幕| 一区二区三区国产盗摄| 你懂的视频在线| 国产精品成人免费在线| 色老头在线一区二区三区| 91久色国产| 亚洲精品欧美二区三区中文字幕| 亚洲精品一级二级| 日韩在线电影一区| 欧美日韩久久一区二区| 精品国内自产拍在线观看视频| 激情综合在线观看| 亚洲区中文字幕| 亚洲综合二区| yw在线观看| 91香蕉视频在线下载| 亚洲欧美日韩在线不卡| 精品国产18久久久久久二百| 中文字幕欧美日韩一区二区| 69p69国产精品| 亚洲九九视频| 国产美女在线播放| 国产不卡视频在线| 中文字幕电影一区| 国内精品偷拍| 先锋在线亚洲| 热re99久久精品国产66热| 中文字幕在线一区| 国产精品对白久久久久粗| 中文字幕第36页| 国语自产偷拍精品视频偷| 久久精品男人的天堂| 亚洲啊v在线免费视频| 宅男噜噜噜66国产免费观看| 伊人精品影院| www成人在线视频| 另类视频在线| 精品久久久久久中文字幕2017| 欧美自拍视频在线| 国产乱一区二区| 久久毛片亚洲| 天堂8在线天堂资源bt| 亚洲香蕉成人av网站在线观看| 国产一区二区不卡| 亚洲精品一级二级| 九色自拍视频在线观看| www.日韩免费| 亚洲日本va中文字幕久久| 电影一区二区| 久久久久黄色| 欧美久久影院| 欧美日韩中文字幕一区二区| 欧美高跟鞋交xxxxxhd| 3d精品h动漫啪啪一区二区| 蜜桃视频成人| 666精品在线| 国产一区亚洲二区三区| 北条麻妃在线| 国产亚洲欧美日韩在线观看一区二区 | 国产一本一道久久香蕉| 精品久久久久久久久久| 欧美日韩一区二区在线 | 国产免费黄视频| 日本xxxxwwww| 日韩精品每日更新| 这里只有精品视频| 午夜一级久久| 欧美色视频一区| 欧美丰满熟妇bbbbbb百度| 成人直播视频| 国产精品中文字幕欧美| 精品福利免费观看| 精品国产一区二区三区久久狼黑人| 亚洲欧美国产日韩天堂区| 精品欧美一区免费观看α√|