日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

TensorFlow和深度学习-无需博士学位(TensorFlow and deep learning without a PhD)

發(fā)布時(shí)間:2023/12/15 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow和深度学习-无需博士学位(TensorFlow and deep learning without a PhD) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 概述

原文地址:

TensorFlow and deep learning,without a PhD

Learn TensorFlow and deep learning, without a Ph.D.

B站視頻地址:

https://www.bilibili.com/video/av8284296

https://www.bilibili.com/video/av16339227


在這個(gè)codelab中,您將學(xué)習(xí)如何創(chuàng)建和訓(xùn)練識(shí)別手寫(xiě)數(shù)字的神經(jīng)網(wǎng)絡(luò)。一路上,隨著你增強(qiáng)神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率達(dá)到99%,你還將學(xué)習(xí)到專業(yè)人員用來(lái)訓(xùn)練模型的高效工具。

該codelab使用MNIST數(shù)據(jù)集,收集了60,000個(gè)標(biāo)記的數(shù)字。你將學(xué)會(huì)用不到100行Python / TensorFlow代碼來(lái)解決深度學(xué)習(xí)問(wèn)題。

你會(huì)學(xué)到什么

  • 什么是神經(jīng)網(wǎng)絡(luò)和如何訓(xùn)練它
  • 如何使用TensorFlow構(gòu)建基本的1層神經(jīng)網(wǎng)絡(luò)
  • 如何添加更多的神經(jīng)網(wǎng)絡(luò)層數(shù)
  • 訓(xùn)練技巧和竅門(mén):過(guò)度擬合(overfitting),丟失信息(dropout),學(xué)習(xí)速率衰退(learning rate decay)…
  • 如何排查深層神經(jīng)網(wǎng)絡(luò)的故障
  • 如何構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)(convolutional networks)

你需要什么

  • Python 2或3(推薦Python 3)
  • TensorFlow
  • Matplotlib(Python可視化庫(kù))

安裝說(shuō)明在實(shí)驗(yàn)室的下一步中給出。

2. 準(zhǔn)備:安裝TensorFlow,獲取示例代碼

在您的計(jì)算機(jī)上安裝必要的軟件:Python,TensorFlow和Matplotlib。這里給出了完整的安裝說(shuō)明:INSTALL.txt

從GitHub的信息庫(kù),克隆源代碼(也可以直接登入這個(gè)網(wǎng)址,直接下載)

git clone https://github.com/martin-gorner/tensorflow-mnist-tutorial

下載的文件夾中含多個(gè)文件。首先是讓mnist_1.0_softmax.py運(yùn)行起來(lái)。其他很多文件是用于加載數(shù)據(jù)和可視化結(jié)果的解決方案或支持代碼。

當(dāng)您啟動(dòng)初始python腳本時(shí),您應(yīng)該看到一個(gè)實(shí)時(shí)可視化的培訓(xùn)過(guò)程:

python3 mnist_1.0_softmax.py

如果python3 mnist_1.0_softmax.py不起作用,用python命令:

python mnist_1.0_softmax.py

疑難解答:如果無(wú)法使實(shí)時(shí)可視化運(yùn)行,或者您只希望僅使用文本輸出,則可以通過(guò)注釋掉一行并取消注釋另一行來(lái)取消激活可視化。請(qǐng)參閱下載文件的底部的說(shuō)明。

為T(mén)ensorFlow構(gòu)建的可視化工具是TensorBoard。其功能比我們本次教程中所需要的更多。它可以在遠(yuǎn)程服務(wù)器上跟蹤您的分布式TensorFlow作業(yè)。對(duì)于我們?cè)谶@個(gè)實(shí)驗(yàn)中我們只需要matplotlib的結(jié)果,能看到訓(xùn)練過(guò)程的實(shí)時(shí)動(dòng)畫(huà),就當(dāng)是個(gè)附帶的獎(jiǎng)勵(lì)吧。但是,如果您需要使用TensorFlow進(jìn)行跟蹤工作,請(qǐng)確保查看TensorBoard。

3. 理論:訓(xùn)練神經(jīng)網(wǎng)絡(luò)

我們將首先觀察正在接受訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。代碼將在下一節(jié)中進(jìn)行說(shuō)明,因此您先不需要看。

我們的用神經(jīng)網(wǎng)絡(luò)訓(xùn)練手寫(xiě)數(shù)字,并對(duì)它們進(jìn)行分類,即將手寫(xiě)數(shù)字識(shí)別為0,1,2等等,最多為9。它的模型基于內(nèi)部變量(“權(quán)重”(weights)和“偏差”(biases),這兩個(gè)詞稍后解釋),只有將這些變量訓(xùn)練成正確值,分類工作才能正確進(jìn)行,訓(xùn)練方式稍后也會(huì)詳細(xì)解釋。現(xiàn)在您需要知道的是,訓(xùn)練循環(huán)如下所示:

訓(xùn)練數(shù)據(jù) => 更新權(quán)重和偏差 => 更好的識(shí)別 (循環(huán)這三步)

讓我們逐個(gè)瀏覽可視化的六個(gè)面板,看看訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要什么。

在這里,您可以看到100個(gè)訓(xùn)練數(shù)字被送入訓(xùn)練循環(huán),注意是一次100個(gè)數(shù)字,這圖顯示的是這100個(gè)手寫(xiě)數(shù)據(jù)被訓(xùn)練的結(jié)果。在目前的訓(xùn)練狀態(tài)下,神經(jīng)網(wǎng)絡(luò)已經(jīng)能識(shí)別(包括白色背景和部分?jǐn)?shù)字),當(dāng)然也有些是識(shí)別錯(cuò)誤的(圖中紅色背景的是計(jì)算機(jī)識(shí)別錯(cuò)誤的手寫(xiě)數(shù)字,左側(cè)小打印的數(shù)字是該書(shū)寫(xiě)字的正確標(biāo)簽,右側(cè)小打印的數(shù)字是計(jì)算機(jī)標(biāo)識(shí)別的錯(cuò)誤標(biāo)簽)。

該數(shù)據(jù)集中有50,000個(gè)訓(xùn)練數(shù)字。我們?cè)诿看蔚袑⑵渲忻?00個(gè)進(jìn)行訓(xùn)練,因此系統(tǒng)將在500次迭代后看到所有數(shù)字被訓(xùn)練了一次。我們稱之為“紀(jì)元(epoch)”。


為了測(cè)試訓(xùn)練好后模型的識(shí)別質(zhì)量,我們必須使用系統(tǒng)在訓(xùn)練期間沒(méi)有用到過(guò)的手寫(xiě)數(shù)字。否則,模型可能會(huì)識(shí)別所有已訓(xùn)練的數(shù)字,但仍然不能識(shí)別我剛才新寫(xiě)的數(shù)字“8”。MNIST數(shù)據(jù)集中包含10,000個(gè)測(cè)試手寫(xiě)數(shù)字。在這圖里,您可以看到大約1000個(gè)數(shù)字,其中所有被識(shí)別錯(cuò)誤的,都放在頂部(紅色背景上)。圖左側(cè)的比例可以大致表示分類器的準(zhǔn)確性。


為了開(kāi)展訓(xùn)練,我們將定義一個(gè)損失函數(shù),即代表系統(tǒng)識(shí)別數(shù)字的程度值,并嘗試將其最小化。損失函數(shù)的選擇(這里是“交叉熵(cross-entropy)”)將在后面解釋。您在這里看到的是,隨著訓(xùn)練的進(jìn)展,訓(xùn)練和測(cè)試數(shù)據(jù)的損失都會(huì)下降:這是好的。這意味著神經(jīng)網(wǎng)絡(luò)正在學(xué)習(xí)。X軸表示通過(guò)學(xué)習(xí)循環(huán)的迭代次數(shù)。


準(zhǔn)確性只是正確識(shí)別的數(shù)字的百分比。這是在訓(xùn)練和測(cè)試集上計(jì)算的。如果訓(xùn)練順利,你會(huì)看到它上升。

最后兩個(gè)圖代表了內(nèi)部變量采用的所有值的范圍,即隨著訓(xùn)練的進(jìn)行,權(quán)重和偏差。在這里,您可以看到,偏差最初從0開(kāi)始,最終獲得的值大致均勻分布在-1.5和1.5之間。如果系統(tǒng)不能很好地收斂,這些圖可能很有用。如果你看到權(quán)重和偏差擴(kuò)展到100或1000,訓(xùn)練可能就有問(wèn)題了。

圖中的方格代表是百分位數(shù)。有7個(gè)頻帶,所以每個(gè)頻帶是100/7 =所有值的14%。

Keyboard shortcuts for the visualisation GUI:
1 ……… display 1st graph only
2 ……… display 2nd graph only
3 ……… display 3rd graph only
4 ……… display 4th graph only
5 ……… display 5th graph only
6 ……… display 6th graph only
7 ……… display graphs 1 and 2
8 ……… display graphs 4 and 5
9 ……… display graphs 3 and 6
ESC or 0 .. back to displaying all graphs
SPACE ….. pause/resume
O ……… box zoom mode (then use mouse)
H ……… reset all zooms
Ctrl-S …. save current image

什么是“ 權(quán)重 ”和“ 偏差 ”?如何計(jì)算“ 交叉熵 ”?訓(xùn)練算法究竟如何工作?那么來(lái)看下一節(jié)內(nèi)容吧。

4. 理論:1層神經(jīng)網(wǎng)絡(luò)


MNIST數(shù)據(jù)集中的手寫(xiě)數(shù)字是28x28像素的灰度圖像。對(duì)于它們進(jìn)行分類的最簡(jiǎn)單方法是使用28x28 = 784像素作為第1層神經(jīng)網(wǎng)絡(luò)的輸入。

神經(jīng)網(wǎng)絡(luò)中的每個(gè)“神經(jīng)元”都會(huì)對(duì)其所有輸入進(jìn)行加權(quán)和,增加一個(gè)稱為“偏差”的常量,然后通過(guò)一些非線性激活函數(shù)來(lái)提取結(jié)果。

在這里,我們?cè)O(shè)計(jì)了一個(gè)具有10個(gè)神經(jīng)元的1層神經(jīng)網(wǎng)絡(luò),作為輸出層,因?yàn)槲覀兿雽?shù)字分為10個(gè)類(0到9),每個(gè)神經(jīng)元都能分類處一個(gè)類。

對(duì)于一個(gè)分類問(wèn)題,一個(gè)很好的激活函數(shù)是softmax。通過(guò)取每個(gè)元素的指數(shù),然后歸一化向量(使用任何范數(shù),例如向量的普通歐幾里德長(zhǎng)度)來(lái)對(duì)向量應(yīng)用softmax。

為什么“softmax”稱為softmax?指數(shù)是急劇增長(zhǎng)的函數(shù)。它將增加向量元素之間的差異。它也快速產(chǎn)生大的值。然后,當(dāng)您規(guī)范化向量時(shí),支配規(guī)范的最大元素將被歸一化為接近1的值,而所有其他元素將最終除以一個(gè)較大的值,并歸一化為接近零的值。清楚地顯示出哪個(gè)是最大的元素,即“最大值”,但保留其價(jià)值的原始相對(duì)順序,因此是“soft”。

我們現(xiàn)在將使用矩陣乘法將這個(gè)單層神經(jīng)元的處理過(guò)程,用一個(gè)簡(jiǎn)單的公式表示。讓我們直接用100張手寫(xiě)圖片作為輸入(如圖中黑灰方塊圖所示,每行表示一張圖片的784個(gè)像素值),產(chǎn)生100個(gè)預(yù)測(cè)(10個(gè)向量)作為輸出。

使用加權(quán)矩陣W中的第一列加權(quán),我們計(jì)算第一張圖像的所有像素的加權(quán)和。這個(gè)和值對(duì)應(yīng)于第一個(gè)神經(jīng)元。使用第二列權(quán)重,我們對(duì)第二個(gè)神經(jīng)元做同樣的事情,直到第10個(gè)神經(jīng)元。然后,我們可以重復(fù)對(duì)剩余99張圖像的操作。如果我們稱X為包含我們100個(gè)圖像的矩陣,則在100個(gè)圖像上計(jì)算的我們10個(gè)神經(jīng)元的所有加權(quán)和僅僅是XW(矩陣乘法)。

每個(gè)神經(jīng)元現(xiàn)在必須加上它的偏差(一個(gè)常數(shù))。由于我們有10個(gè)神經(jīng)元,我們有10個(gè)偏置常數(shù)。我們將這個(gè)10個(gè)值的向量稱為b。必須將其添加到先前計(jì)算的矩陣的每一行。使用一些名為“廣播(broadcasting)”的方法,我們用簡(jiǎn)單的加號(hào)寫(xiě)下來(lái)。

“ 廣播(broadcasting) ”是Python和numpy的標(biāo)準(zhǔn)技巧,它是科學(xué)計(jì)算庫(kù)里的內(nèi)容。它擴(kuò)展了正常操作對(duì)具有不兼容尺寸的矩陣的作用范圍。“廣播添加”是指“如果要相加兩個(gè)矩陣,但是由于其尺寸不兼容,請(qǐng)嘗試根據(jù)需要復(fù)制小尺寸以使其能相加。”

我們最后應(yīng)用softmax激活函數(shù),得到描述1層神經(jīng)網(wǎng)絡(luò)的公式,應(yīng)用于100幅圖像:

順便說(shuō)一下,什么是“ 張量(tensor) ”?
“張量(tensor)”就像一個(gè)矩陣,但是具有任意數(shù)量的維度。一維張量是向量。二維張量是矩陣。然后,您可以有3,4,5或更多維度的張量。

5. 理論:梯度下降

現(xiàn)在我們的神經(jīng)網(wǎng)絡(luò)產(chǎn)生了輸入圖像的預(yù)測(cè),我們需要測(cè)量它們的好壞,即網(wǎng)絡(luò)告訴我們與我們所知道的真相之間的距離。請(qǐng)記住,我們?yōu)榇藬?shù)據(jù)集中的所有圖像的數(shù)字都有正確數(shù)字的標(biāo)簽。

任何距離都會(huì)有效,普通的歐幾里得距離很好,但是對(duì)于分類問(wèn)題,一個(gè)距離,稱為“交叉熵(cross-entropy)”更有效率。

“ 一熱(One-hot) ”編碼意味著您使用10個(gè)值的矢量代表標(biāo)簽“6”,全部為零,但第6個(gè)值為1.這是因?yàn)楦袷椒浅n愃朴谖覀兊纳窠?jīng)網(wǎng)絡(luò)輸出預(yù)測(cè),也作為10個(gè)值的向量。

“訓(xùn)練”神經(jīng)網(wǎng)絡(luò)實(shí)際上意味著使用訓(xùn)練圖像和標(biāo)簽來(lái)調(diào)整權(quán)重和偏差,以便最小化交叉熵?fù)p失函數(shù)。下面是它的工作原理。

交叉熵是訓(xùn)練圖像的權(quán)重,偏差,像素及其已知標(biāo)簽的函數(shù)。

如果我們相對(duì)于所有權(quán)重和所有偏差計(jì)算交叉熵的偏導(dǎo)數(shù),我們獲得了對(duì)于給定圖像,權(quán)重和偏差的標(biāo)簽和現(xiàn)值計(jì)算的“梯度(gradient)”。記住,我們有7850個(gè)權(quán)重和偏差,所以計(jì)算梯度聽(tīng)起來(lái)好像有很多工作。幸運(yùn)的是,TensorFlow將為我們做好準(zhǔn)備。

梯度的數(shù)學(xué)屬性是它指向“上”。由于我們想要走交叉熵低的地方,所以我們走向相反的方向。我們將權(quán)重和偏差更新一小部分梯度,并使用下一批訓(xùn)練圖像再次執(zhí)行相同的操作。希望這讓我們到達(dá)交叉熵最小的坑底。

在該圖中,交叉熵表示為2個(gè)權(quán)重的函數(shù)。實(shí)際上還有更多的。梯度下降算法遵循最快速下降到局部最小值的路徑。訓(xùn)練圖像也會(huì)在每次迭代中更改,以便我們收斂到適用于所有圖像的局部最小值。

“ 學(xué)習(xí)率”:您無(wú)法在每次迭代時(shí)以漸變的整個(gè)長(zhǎng)度更新您的權(quán)重和偏差。這就好比是一個(gè)穿著靴子的人,想去一個(gè)山谷的底部。他會(huì)從山谷的一邊跳到另一邊。要進(jìn)入底部,他需要執(zhí)行較小的步驟,即僅使用漸變的一小部分,通常在1/1000。我們將這個(gè)分?jǐn)?shù)稱為“學(xué)習(xí)率”。

總而言之,訓(xùn)練循環(huán)如下所示:

訓(xùn)練數(shù)據(jù)和標(biāo)簽 => 求損失函數(shù)=> 求梯度 (偏導(dǎo)數(shù)) => 最快下降 => 更新權(quán)重和偏差 => 重復(fù)下一個(gè)小批量的圖像數(shù)據(jù)和標(biāo)簽

為什么要使用100個(gè)圖像和標(biāo)簽,用這種“ 小批量 ”形式進(jìn)行?

您只需一個(gè)示例圖像即可計(jì)算您的漸變,并立即更新權(quán)重和偏差(在文獻(xiàn)中稱為“隨機(jī)梯度下降”)。這樣做100個(gè)例子給出了更好地表示不同示例圖像所施加的約束的漸變,因此可能更快地收斂到解決方案。小批量的尺寸是可調(diào)參數(shù)。還有另一個(gè)更技術(shù)的原因:使用大批量也意味著使用更大的矩陣,這些通常更容易在GPU上進(jìn)行優(yōu)化。

經(jīng)常問(wèn)的問(wèn)題


為什么交叉熵能正確的用于分類問(wèn)題?

6. 實(shí)驗(yàn)室:讓我們跳入代碼

已經(jīng)寫(xiě)了1層神經(jīng)網(wǎng)絡(luò)的代碼。請(qǐng)打開(kāi)mnist_1.0_softmax.py文件并按照說(shuō)明進(jìn)行操作。

您在本節(jié)中的任務(wù)是了解此起始代碼,以便以后可以改進(jìn)。

您應(yīng)該看到文件中的說(shuō)明和代碼之間只有微小的區(qū)別。它們對(duì)應(yīng)于用于可視化的功能,并在注釋中做了說(shuō)明。你可以忽略它們。

mnist_1.0_softmax.py

import tensorflow as tfX = tf.placeholder(tf.float32, [None, 28, 28, 1]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10]))init = tf.initialize_all_variables()

首先我們定義TensorFlow變量和占位符。變量是您希望訓(xùn)練算法為您確定的所有參數(shù)。在我們的情況下,我們的權(quán)重和偏見(jiàn)。

占位符是在訓(xùn)練期間填充實(shí)際數(shù)據(jù)的參數(shù),通常是訓(xùn)練圖像。保持訓(xùn)練圖像的張量的形狀是[None,28,28,1],代表:

  • 28,28,1:我們的圖像是每像素28x28像素x 1值(灰度)。彩色圖像的最后一個(gè)數(shù)字將為3,這里并不需要。
  • None:此維度將是迷你批次中的圖像數(shù)量。這將在訓(xùn)練時(shí)知道。

mnist_1.0_softmax.py

# model Y = tf.nn.softmax(tf.matmul(tf.reshape(X, [-1, 784]), W) + b) # placeholder for correct labels Y_ = tf.placeholder(tf.float32, [None, 10])# loss function cross_entropy = -tf.reduce_sum(Y_ * tf.log(Y))# % of correct answers found in batch is_correct = tf.equal(tf.argmax(Y,1), tf.argmax(Y_,1)) accuracy = tf.reduce_mean(tf.cast(is_correct, tf.float32))

第一行是我們的1層神經(jīng)網(wǎng)絡(luò)的模型。公式是我們?cè)谝郧暗睦碚摬糠种薪⒌墓健T搕f.reshape命令將我們的28x28圖像轉(zhuǎn)換為784像素的單個(gè)向量。重塑命令中的“-1”表示“計(jì)算機(jī),計(jì)算出來(lái),只有一種可能性”。實(shí)際上,這將是一個(gè)小批量的圖像數(shù)量。

然后,我們需要一個(gè)附加的占位符,用于提供與培訓(xùn)圖像一起的標(biāo)簽數(shù)據(jù)。

現(xiàn)在,我們有模型預(yù)測(cè)和正確的標(biāo)簽,所以我們可以計(jì)算交叉熵。tf.reduce_sum總和一個(gè)向量的所有元素。

最后兩行計(jì)算正確識(shí)別的數(shù)字的百分比。留給讀者使用TensorFlow API參考書(shū),以供讀者理解。你也可以跳過(guò)它們。

mnist_1.0_softmax.py

optimizer = tf.train.GradientDescentOptimizer(0.003) train_step = optimizer.minimize(cross_entropy)

這里將是TensorFlow展示它能力的時(shí)候了。您選擇一個(gè)優(yōu)化器(有很多可用),并要求它最小化交叉熵?fù)p失。在此步驟中,TensorFlow計(jì)算相對(duì)于所有權(quán)重和所有偏差(梯度)的損失函數(shù)的偏導(dǎo)數(shù)。這是一個(gè)正式的推導(dǎo),而不是一個(gè)數(shù)字化的,太費(fèi)時(shí)間了。

然后使用梯度來(lái)更新權(quán)重和偏差。0.003是學(xué)習(xí)率。

最后,現(xiàn)在是運(yùn)行訓(xùn)練循環(huán)的時(shí)候了。到目前為止,所有的TensorFlow指令都已經(jīng)在內(nèi)存中準(zhǔn)備了一個(gè)計(jì)算圖,但還沒(méi)有計(jì)算出來(lái)。

TensorFlow的“延遲執(zhí)行”模型:TensorFlow是為分布式計(jì)算構(gòu)建的。在開(kāi)始實(shí)際將計(jì)算任務(wù)發(fā)送到各種計(jì)算機(jī)之前,必須知道要計(jì)算的內(nèi)容,即執(zhí)行圖。這就是為什么它有一個(gè)延遲執(zhí)行模型,您首先使用TensorFlow函數(shù)在內(nèi)存中創(chuàng)建計(jì)算圖,然后開(kāi)始Session執(zhí)行并使用實(shí)際的計(jì)算Session.run。在這一點(diǎn)上,計(jì)算圖不能再改變了。

由于該模式,TensorFlow可以接管大量的分布式計(jì)算流。例如,如果您指示在計(jì)算機(jī)1上運(yùn)行一部分計(jì)算,并在計(jì)算機(jī)2上運(yùn)行另一部分,則可以自動(dòng)進(jìn)行必要的數(shù)據(jù)傳輸。

計(jì)算需要將實(shí)際數(shù)據(jù)輸入到您在TensorFlow代碼中定義的占位符。這是以Python字典的形式提供的,其中的鍵值是占位符的名稱。

mnist_1.0_softmax.py

sess = tf.Session() sess.run(init)for i in range(1000):# load batch of images and correct answersbatch_X, batch_Y = mnist.train.next_batch(100)train_data={X: batch_X, Y_: batch_Y}# trainsess.run(train_step, feed_dict=train_data)

在train_step當(dāng)我們問(wèn)到TensorFlow出最小交叉熵是這里執(zhí)行獲得。那就是計(jì)算梯度并更新權(quán)重和偏差的步驟。

最后,我們還需要計(jì)算一些可以顯示的值,以便我們可以跟蹤我們模型的性能。

在訓(xùn)練循環(huán)中使用該代碼訓(xùn)練數(shù)據(jù)計(jì)算精度和交叉熵(例如每10次迭代):

# success ? a,c = sess.run([accuracy, cross_entropy], feed_dict=train_data)

通過(guò)提供測(cè)試訓(xùn)練數(shù)據(jù),可以在測(cè)試數(shù)據(jù)上計(jì)算相同的數(shù)值(例如,每100次重復(fù)一次,有10,000個(gè)測(cè)試數(shù)字,因此需要一些CPU時(shí)間):

# success on test data ? test_data={X: mnist.test.images, Y_: mnist.test.labels} a,c = sess.run([accuracy, cross_entropy], feed=test_data)

TensorFlow和NumPy的是朋友:準(zhǔn)備計(jì)算圖時(shí),你只有操縱TensorFlow張量和如命令tf.matmul,tf.reshape等等。

然而,一旦執(zhí)行Session.run命令,它返回的值就是Numpy張量,即Numpy numpy.ndarray可以使用的對(duì)象以及基于它的所有科學(xué)comptation庫(kù)。這就是使用matplotlib(這是基于Numpy的標(biāo)準(zhǔn)Python繪圖庫(kù))為這個(gè)實(shí)驗(yàn)室建立的實(shí)時(shí)可視化。

7. 實(shí)驗(yàn)室:添加圖層


為了提高識(shí)別精度,我們將為神經(jīng)網(wǎng)絡(luò)添加更多層數(shù)。第二層中的神經(jīng)元,而不是計(jì)算像素的加權(quán)和,將計(jì)算來(lái)自上一層的神經(jīng)元輸出的加權(quán)和。這里是一個(gè)5層完全連接的神經(jīng)網(wǎng)絡(luò):

我們保持softmax作為最后一層的激活功能,因?yàn)檫@是最適合分類的。在中間層上,我們將使用最經(jīng)典的激活函數(shù):sigmoid:

您在本節(jié)中的任務(wù)是將一個(gè)或兩個(gè)中間層添加到您的模型中以提高其性能。

解決方案可以在文件中找到mnist_2.0_five_layers_sigmoid.py。使用它,如果你不能寫(xiě)出來(lái),被卡住了!

要添加圖層,您需要一個(gè)額外的權(quán)重矩陣和中間層的附加偏置向量:

W1 = tf.Variable(tf.truncated_normal([28*28, 200] ,stddev=0.1)) B1 = tf.Variable(tf.zeros([200]))W2 = tf.Variable(tf.truncated_normal([200, 10], stddev=0.1)) B2 = tf.Variable(tf.zeros([10]))

權(quán)重矩陣的形狀是[N,M],其中N是層的輸入數(shù)量和M的輸出。在上面的代碼中,我們?cè)谥虚g層中使用了200個(gè)神經(jīng)元,在最后一層使用了10個(gè)神經(jīng)元。

提示:當(dāng)你深入時(shí),重要的是用隨機(jī)值初始化權(quán)重。如果沒(méi)有,優(yōu)化器可能會(huì)停留在初始位置。tf.truncated_normal是一個(gè)TensorFlow函數(shù),它產(chǎn)生遵循-2* stddev和+ 2 * stddev之間的正態(tài)(高斯)分布的隨機(jī)值。

現(xiàn)在將1層模型更改為2層模型:

XX = tf.reshape(X, [-1, 28*28])Y1 = tf.nn.sigmoid(tf.matmul(XX, W1) + B1) Y = tf.nn.softmax(tf.matmul(Y1, W2) + B2)

您現(xiàn)在應(yīng)該可以使用2個(gè)中間層(例如200和100個(gè)神經(jīng)元)將精度推送到97%以上的精度。

8. 實(shí)驗(yàn)室:深度網(wǎng)絡(luò)的特別照顧


隨著層次的增加,神經(jīng)網(wǎng)絡(luò)趨向于收斂更多困難。但我們今天知道如何使他們的工作。如下圖,如果您看到這樣的精度曲線,本節(jié)將對(duì)您有所幫助:

Relu激活功能
在深層網(wǎng)絡(luò)中,S形激活函數(shù)(sigmoid函數(shù))實(shí)際上是相當(dāng)有問(wèn)題的。它壓縮0和1之間的所有值,當(dāng)您反復(fù)進(jìn)行時(shí),神經(jīng)元輸出及其漸變可以完全消失。改進(jìn)的方法,可以使用如下所示的RELU函數(shù)(整流線性單元):

更新1/4:現(xiàn)在用RELU替換所有的S型,并且在加入圖層時(shí),您將獲得更快的初始收斂,避免出現(xiàn)問(wèn)題。只需在你的代碼中簡(jiǎn)單更換tf.nn.sigmoid用tf.nn.relu。

一個(gè)更好的優(yōu)化器
在這樣的非常高的維度空間中,我們有10K的權(quán)重和偏差 - “鞍點(diǎn)”是頻繁的。這些是不是局部最小值的點(diǎn),但梯度仍然為零,梯度下降優(yōu)化器仍然停留在那里。TensorFlow擁有一系列可用的優(yōu)化器,其中包括一些可以使用一定慣量的優(yōu)化器,并可以安全避開(kāi)鞍點(diǎn)。

更新2/4:替換tf.train.GradientDescentOptimiser為tf.train.AdamOptimizer現(xiàn)在。

隨機(jī)初始化

精確度仍然在0.1?你用隨機(jī)值初始化了你的權(quán)重嗎?對(duì)于偏差,當(dāng)使用RELU時(shí),最佳做法是將其初始化為小的正值,以使神經(jīng)元最初在RELU的非零范圍內(nèi)運(yùn)行。

W = tf.Variable(tf.truncated_normal([K, L] ,stddev=0.1)) B = tf.Variable(tf.ones([L])/10)

更新3/4:現(xiàn)在檢查所有的權(quán)重和偏差是否適當(dāng)初始化。如上圖所示的0.1將作為初始偏差。

NaN ???

如果您看到準(zhǔn)確度曲線崩潰,并且控制臺(tái)輸出NaN作為交叉熵,請(qǐng)不要驚慌,您正在嘗試計(jì)算一個(gè)不是數(shù)(NaN)的值(0)。請(qǐng)記住,交叉熵涉及在softmax層的輸出上計(jì)算的日志。由于softmax本質(zhì)上是一個(gè)指數(shù),從不為零,所以我們應(yīng)該很好,但使用32位精度浮點(diǎn)運(yùn)算,exp(-100)已經(jīng)是一個(gè)真正的零。說(shuō)白了就是,小數(shù)點(diǎn)后0太多,超出計(jì)算機(jī)精度,計(jì)算機(jī)將其判斷為0,并作了分母,然后就出現(xiàn)這種現(xiàn)象。

幸運(yùn)的是,TensorFlow具有一個(gè)方便的功能,可以在數(shù)字穩(wěn)定的方式下實(shí)現(xiàn)單步驟中的softmax和交叉熵。要使用它,您需要在應(yīng)用softmax之前,將最后一層的原始加權(quán)和加上偏差取對(duì)數(shù)(logits)。

如果您的模型的最后一行是:

Y = tf.nn.softmax(tf.matmul(Y4, W5) + B5)

您需要更換它:

Ylogits = tf.matmul(Y4, W5) + B5 Y = tf.nn.softmax(Ylogits)

現(xiàn)在,您可以以安全的方式計(jì)算交叉熵:

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(Ylogits, Y_)

還添加這條線,使測(cè)試和訓(xùn)練交叉熵達(dá)到相同的顯示尺度:

cross_entropy = tf.reduce_mean(cross_entropy)*100

更新4/4:請(qǐng)?zhí)砑觮f.nn.softmax_cross_entropy_with_logits到您的代碼。您也可以跳過(guò)此步驟,當(dāng)您在輸出中實(shí)際看到NaN時(shí),可以回到該步驟。

你現(xiàn)在準(zhǔn)備好深入

9. 實(shí)驗(yàn):學(xué)習(xí)率衰減


使用兩個(gè),三個(gè)或四個(gè)中間層,如果將迭代推送到5000或更高,您現(xiàn)在可以獲得接近98%的準(zhǔn)確性。但是你會(huì)看到結(jié)果不是很一致。


這些曲線真的很嘈雜,看看測(cè)試的準(zhǔn)確性:它全部上下跳躍。這意味著即使學(xué)習(xí)率為0.003,我們也走得太快了。但是,我們不能將學(xué)習(xí)率除以十,否則訓(xùn)練將永遠(yuǎn)存在。良好的解決方案是開(kāi)始快速,并將學(xué)習(xí)速率以指數(shù)方式衰減為0.0001。

這一點(diǎn)變化的影響是壯觀的。您可以看到大部分噪音已經(jīng)消失,測(cè)試精度現(xiàn)在高達(dá)98%以上


還要看訓(xùn)練精度曲線。現(xiàn)在已經(jīng)達(dá)到了幾個(gè)紀(jì)元的100%(1個(gè)紀(jì)元= 500次迭代=訓(xùn)練了所有的訓(xùn)練圖像一次)。第一次,我們能夠?qū)W習(xí)完美地識(shí)別訓(xùn)練圖像。

請(qǐng)?zhí)砑訉W(xué)習(xí)率衰減到你的代碼。為了在每次迭代時(shí)將不同的學(xué)習(xí)率傳遞給AdamOptimizer,您將需要定義一個(gè)新的占位符,并在每次迭代時(shí)向它提供一個(gè)新的值feed_dict。

以下是指數(shù)衰減的公式: lr = lrmin+(lrmax-lrmin)*exp(-i/2000)

解決方案可以在文件中找到mnist_2.1_five_layers_relu_lrdecay.py。

10. 實(shí)驗(yàn)室:丟失信息,過(guò)度配合


您將注意到,測(cè)試和訓(xùn)練數(shù)據(jù)的交叉熵曲線在數(shù)千次迭代后開(kāi)始斷開(kāi)連接。學(xué)習(xí)算法僅用于訓(xùn)練數(shù)據(jù),并相應(yīng)地優(yōu)化訓(xùn)練交叉熵。它從來(lái)沒(méi)有看到測(cè)試數(shù)據(jù),所以毫不奇怪,一段時(shí)間后,它的工作不再對(duì)測(cè)試交叉熵產(chǎn)生影響,測(cè)試交叉熵停止下降,有時(shí)甚至反彈。

這不會(huì)立即影響您的模型的真實(shí)識(shí)別能力,但它將阻止您運(yùn)行許多迭代,并且通常是訓(xùn)練不再具有積極作用的跡象。這個(gè)斷開(kāi)連接通常被標(biāo)記為“過(guò)度擬合”,當(dāng)您看到它時(shí),您可以嘗試應(yīng)用稱為“丟失信息”的正則化技術(shù)。

在丟失數(shù)據(jù)期間,在每次訓(xùn)練迭代中,您從網(wǎng)絡(luò)中丟棄隨機(jī)神經(jīng)元。您選擇pkeep保留神經(jīng)元的概率,通常在50%至75%之間,然后在訓(xùn)練循環(huán)的每次迭代中,隨機(jī)移除所有權(quán)重和偏差的神經(jīng)元。不同的神經(jīng)元將在每次迭代中被丟棄(并且您還需要按比例提升剩余神經(jīng)元的輸出,以確保下一層的激活不會(huì)移動(dòng))。當(dāng)您測(cè)試網(wǎng)絡(luò)的性能時(shí),您將所有神經(jīng)元都放回(pkeep=1)。

TensorFlow提供了一個(gè)用于神經(jīng)元層輸出的壓差函數(shù)。它隨機(jī)排除一些輸出,并將其余的輸出提高1 / pkeep。以下是您如何在兩層網(wǎng)絡(luò)中使用它:

# feed in 1 when testing, 0.75 when training pkeep = tf.placeholder(tf.float32)Y1 = tf.nn.relu(tf.matmul(X, W1) + B1) Y1d = tf.nn.dropout(Y1, pkeep)Y = tf.nn.softmax(tf.matmul(Y1d, W2) + B2)

您可以在網(wǎng)絡(luò)中的每個(gè)中間層之后添加丟失數(shù)據(jù)(dropout)。這是實(shí)驗(yàn)室的可選步驟。

解決方案可以在文件中找到mnist_2.2_five_layers_relu_lrdecay_dropout.py。


您應(yīng)該看到,測(cè)試損失在很大程度上被控制,噪音重新出現(xiàn),但在這種情況下,至少測(cè)試精度保持不變,這是有點(diǎn)令人失望。這里出現(xiàn)“過(guò)度配合”的另一個(gè)原因。

在我們繼續(xù)之前,總結(jié)一下我們迄今為止所嘗試的所有工具:

無(wú)論我們做什么,我們似乎無(wú)法以顯著的方式打破98%的障礙,我們的損失曲線仍然表現(xiàn)出“過(guò)擬合”的問(wèn)題。什么是真正的“過(guò)擬合”?當(dāng)一個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)“不好”時(shí),過(guò)擬合就會(huì)發(fā)生,這種方式對(duì)于訓(xùn)練樣例起作用,但對(duì)于現(xiàn)實(shí)世界的數(shù)據(jù)卻不太好。有正規(guī)化技術(shù),如丟失數(shù)據(jù)(dropout),可以強(qiáng)制它以更好的方式學(xué)習(xí),但過(guò)擬合也有更深的根源。

當(dāng)神經(jīng)網(wǎng)絡(luò)對(duì)于手頭的問(wèn)題具有太多的自由度時(shí),會(huì)發(fā)生基本的過(guò)擬合。想象一下,我們有這么多神經(jīng)元,網(wǎng)絡(luò)可以存儲(chǔ)我們所有的訓(xùn)練圖像,然后通過(guò)模式匹配識(shí)別它們。它將完全失真在真實(shí)世界的數(shù)據(jù)。一個(gè)神經(jīng)網(wǎng)絡(luò)必須有一定的約束。

如果你有很少的培訓(xùn)數(shù)據(jù),即使一個(gè)小的網(wǎng)絡(luò)也可以完成學(xué)習(xí)。一般來(lái)說(shuō),你總是需要大量的數(shù)據(jù)來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。

最后,如果你做的一切都很好,嘗試不同大小的網(wǎng)絡(luò),以確保其自由度受到限制,應(yīng)用丟失數(shù)據(jù)(dropout),并訓(xùn)練大量的數(shù)據(jù),你可能仍然被困在一個(gè)性能水平,似乎沒(méi)有什么可以提高。這意味著您的神經(jīng)網(wǎng)絡(luò)目前的形狀不能從您的數(shù)據(jù)中提取更多的信息,就像我們?cè)谶@里一樣。

記住我們?nèi)绾问褂檬謱?xiě)圖像,將所有像素平坦化為單個(gè)向量?那是一個(gè)很糟糕的主意 手寫(xiě)數(shù)字由形狀組成,當(dāng)我們平鋪像素時(shí),我們舍棄了形狀信息。然而,有一種類型的神經(jīng)網(wǎng)絡(luò)可以利用形狀信息:卷積網(wǎng)絡(luò)。讓我們?cè)囋嚳窗伞?/p>

11. 理論:卷積網(wǎng)絡(luò)


在卷積網(wǎng)絡(luò)的層中,一個(gè)“神經(jīng)元”僅在圖像的小區(qū)域上進(jìn)行恰好在其上方的像素的加權(quán)和。然后,通過(guò)添加偏置并通過(guò)其激活功能饋送結(jié)果來(lái)正常地起作用。最大的區(qū)別是每個(gè)神經(jīng)元都會(huì)重復(fù)使用相同的權(quán)重,而在之前看到的完全連接的網(wǎng)絡(luò)中,每個(gè)神經(jīng)元都有自己的權(quán)重集。

在上面的動(dòng)畫(huà)中,您可以看到,通過(guò)在兩個(gè)方向(卷積)上滑過(guò)圖像的權(quán)重塊,您可以獲得與圖像中的像素一樣多的輸出值(盡管邊緣需要一些填充)。

要使用4x4的補(bǔ)丁大小和彩色圖像作為輸入生成一個(gè)輸出值平面,如動(dòng)畫(huà)中那樣,我們需要4x4x3 = 48的權(quán)重。這還不夠 為了增加更多的自由度,我們用不同的權(quán)重重復(fù)相同的事情。

通過(guò)向張量添加維度,可以將兩個(gè)(或多個(gè))權(quán)重組重寫(xiě)為一個(gè),這給出了卷積層的權(quán)重張量的通用形狀。由于輸入和輸出通道的數(shù)量是參數(shù),我們可以開(kāi)始堆疊和鏈接卷積層。

最后一個(gè)問(wèn)題仍然存在。我們?nèi)匀恍枰獙⑿畔⒄{(diào)低。在最后一層,我們?nèi)匀恢恍枰?0個(gè)神經(jīng)元來(lái)代替我們的10個(gè)數(shù)字。傳統(tǒng)上,這是通過(guò)“最大池”層完成的。即使今天有更簡(jiǎn)單的方法,“最大池(max-pooling)”有助于直觀地了解卷積網(wǎng)絡(luò)的運(yùn)行情況:如果您假設(shè)在訓(xùn)練過(guò)程中,我們的小塊權(quán)重會(huì)演變成過(guò)濾器,可以識(shí)別基本形狀(水平和垂直線,曲線,……)然后一種將有用信息向下傳遞的方式是通過(guò)層數(shù)保持最大強(qiáng)度識(shí)別形狀的輸出。實(shí)際上,在最大池層中,神經(jīng)元輸出以2x2為一組進(jìn)行處理,只保留最多一個(gè)。

有一種更簡(jiǎn)單的方法:如果您以2像素而不是1像素的速度滑過(guò)圖像,則還會(huì)獲得較少的輸出值。這種方法已被證明是同樣有效的,而今天的卷積網(wǎng)絡(luò)僅使用卷積層。


讓我們建立一個(gè)手寫(xiě)數(shù)字識(shí)別的卷積網(wǎng)絡(luò)。我們將在頂部使用三個(gè)卷積層,我們的傳統(tǒng)softmax讀出層在底部,并連接到一個(gè)完全連接的層:

請(qǐng)注意,第二和第三卷積層有兩個(gè)步長(zhǎng),這說(shuō)明為什么它們將輸出值從28x28降低到14x14,然后是7x7。完成這些層的大小,使得神經(jīng)元的數(shù)量在每一層大致下降2倍:28x28x4≈3000→14x14x8≈1500→7x7x12≈500→200.跳轉(zhuǎn)到下一節(jié)執(zhí)行。

12. 實(shí)驗(yàn)室:卷積網(wǎng)絡(luò)


要將我們的代碼切換到卷積模型,我們需要為卷積層定義適當(dāng)?shù)臋?quán)重張量,然后將卷積圖層添加到模型中。

我們已經(jīng)看到卷積層需要以下形狀的權(quán)重張量。這是初始化的TensorFlow語(yǔ)法:

W = tf.Variable(tf.truncated_normal([4, 4, 3, 2], stddev=0.1)) B = tf.Variable(tf.ones([2])/10) # 2 is the number of output channels

可以tf.nn.conv2d使用使用提供的權(quán)重在兩個(gè)方向上執(zhí)行輸入圖像的掃描的功能在TensorFlow中實(shí)現(xiàn)卷積層。這只是神經(jīng)元的加權(quán)和部分。您仍然需要添加偏差并通過(guò)激活功能提供結(jié)果。

stride = 1 # output is still 28x28 Ycnv = tf.nn.conv2d(X, W, strides=[1, stride, stride, 1], padding='SAME') Y = tf.nn.relu(Ycnv + B)

不要太多地關(guān)注跨步的復(fù)雜語(yǔ)法。查看文檔的完整詳細(xì)信息。在這里工作的填充策略是從圖像的兩邊復(fù)制像素。所有數(shù)字都在統(tǒng)一的背景上,所以這只是擴(kuò)展了背景,不應(yīng)該添加任何不需要的形狀。

輪到你玩了,修改你的模型,把它變成一個(gè)卷積模型。您可以使用上圖中的值來(lái)對(duì)其進(jìn)行調(diào)整。你可以保持你的學(xué)習(xí)速度衰減,但是現(xiàn)在請(qǐng)刪除丟失信息(dropout)。

解決方案可以在文件中找到mnist_3.0_convolutional.py。

您的模型應(yīng)該能夠輕松地打破98%的屏障。看看測(cè)試交叉熵曲線。你是不是能馬上想到解決方案呢?

13. 實(shí)驗(yàn)室:99%的挑戰(zhàn)

調(diào)整神經(jīng)網(wǎng)絡(luò)的一個(gè)很好的方法是實(shí)現(xiàn)一個(gè)有點(diǎn)太限制的網(wǎng)絡(luò),然后給它一個(gè)更多的自由度,并添加丟失信息(dropout),以確保它不是過(guò)擬合。這樣最終可以為您的問(wèn)題提供一個(gè)相當(dāng)理想的神經(jīng)網(wǎng)絡(luò)。

這里例如,我們?cè)诘谝粋€(gè)卷積層中只使用了4個(gè)像素。如果您接受這些權(quán)重補(bǔ)丁在訓(xùn)練過(guò)程中演變成形狀識(shí)別器,您可以直觀地看到這可能不足以解決我們的問(wèn)題。手寫(xiě)數(shù)字是超過(guò)4個(gè)像素形狀的模式。

所以讓我們稍微增加像素大小,將卷積層中的補(bǔ)丁數(shù)量從4,8,12提高到6,12,24,然后在完全連接的層上添加dropout。為什么不在卷積層上?他們的神經(jīng)元重復(fù)使用相同的權(quán)重,所以通過(guò)在一次訓(xùn)練迭代紀(jì)元,凍結(jié)一些權(quán)重有效地起作用的dropout將不起作用。

去吧,打破99%的限制。增加像素大小和通道數(shù),如上圖所示,并在卷積層上添加dropout。

解決方案可以在文件中找到mnist_3.1_convolutional_bigger_dropout.py


上圖所示的模型僅識(shí)別錯(cuò)了10,000個(gè)測(cè)試數(shù)字中的72個(gè)。在MNIST網(wǎng)站上可以找到的世界紀(jì)錄約為99.7%。我們距離我們的模型建立了100行Python / TensorFlow距離世界紀(jì)錄就差0.4個(gè)百分點(diǎn)。

要完成,這是對(duì)我們更大的卷積網(wǎng)絡(luò)的差異。給神經(jīng)網(wǎng)絡(luò)增加自由度,將最終準(zhǔn)確度從98.9%提高到99.1%。增加dropout不僅馴服了測(cè)試損失,而且使我們能夠安全地航行99%以上,甚至達(dá)到99.3%



14. 恭喜!

您已經(jīng)建立了您的第一個(gè)神經(jīng)網(wǎng)絡(luò),并一直訓(xùn)練到99%的準(zhǔn)確性。沿途學(xué)到的技術(shù)并不特定于MNIST數(shù)據(jù)集,實(shí)際上它們?cè)谑褂蒙窠?jīng)網(wǎng)絡(luò)時(shí)被廣泛使用。作為一個(gè)分手的禮物,這里是實(shí)驗(yàn)室的“懸崖筆記”卡,卡通版本。你可以用它回憶起你學(xué)到的東西:

下一步
在完全連接和卷積網(wǎng)絡(luò)之后,您應(yīng)該看看循環(huán)神經(jīng)網(wǎng)絡(luò)。
在本教程中,您已經(jīng)學(xué)習(xí)了如何在矩陣級(jí)構(gòu)建Tensorflow模型。Tensorflow具有更高級(jí)的API,也稱為tf.layers.
要在分布式基礎(chǔ)架構(gòu)上在云中運(yùn)行培訓(xùn)或推理,我們提供Cloud ML服務(wù)。
最后,我們喜歡反饋。請(qǐng)告訴我們,如果您在本實(shí)驗(yàn)室看到某些東西,或者您認(rèn)為應(yīng)該改進(jìn)的話。我們通過(guò)GitHub問(wèn)題處理反饋[ 反饋鏈接 ]。



The author: Martin G?rner
Twitter: @martin_gorner

Google +: plus.google.com/+MartinGorner

轉(zhuǎn):https://blog.csdn.net/xummgg/article/details/69214366


創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的TensorFlow和深度学习-无需博士学位(TensorFlow and deep learning without a PhD)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

精品国产一区二区三区av性色 | 天天干天天弄 | www.伊人网.com| 97视频免费看 | 特及黄色片 | 久久99精品久久久久蜜臀 | 色婷婷综合在线 | 91精品色 | 国产精品成久久久久 | 国产成人精品久久久 | a资源在线| 狠狠色丁香久久综合网 | 国产在线专区 | 国产精品日韩久久久久 | 99视频在线观看免费 | 国产精品一区二区中文字幕 | 婷婷色中文网 | 在线免费av电影 | 五月婷婷激情 | 97在线免费 | 国产一区免费在线 | 亚洲成人黄色网址 | 综合色爱| 97碰视频| aaaaaa毛片| 国产亚洲欧美在线视频 | 在线日韩 | 99精品视频播放 | 亚洲国产成人久久综合 | 日本在线h | 91在线网址 | 国产精品视频免费 | 精品国产欧美 | 99在线精品视频在线观看 | 69国产盗摄一区二区三区五区 | 色综合www| 激情综合狠狠 | 日韩av中文字幕在线免费观看 | 国产精品久久久久久久电影 | 欧美性生活大片 | 国产精品美女视频网站 | 亚洲资源在线观看 | 久久久视频在线 | 亚洲欧洲xxxx | 久久精品国产亚洲 | 成人免费观看网站 | 日本午夜在线亚洲.国产 | 91成人午夜 | 亚洲九九精品 | 麻花传媒mv免费观看 | 黄色一级在线免费观看 | 中文字幕在线视频国产 | www成人精品 | 中文字幕婷婷 | 成人毛片100免费观看 | 蜜臀久久99静品久久久久久 | 在线免费黄网站 | 久久综合中文字幕 | 99视频精品免费视频 | 国产小视频免费在线网址 | 欧美精品久久久久久久久免 | 天天干天天操天天爱 | 成人免费一区二区三区在线观看 | 狠狠久久伊人 | 人人射网站 | 一区二区三区四区在线免费观看 | 中午字幕在线 | 香蕉一区 | 1000部18岁以下禁看视频 | 一区二区 精品 | 国产成人精品一区二区在线 | 久久精品亚洲国产 | 91看毛片| 色婷婷影视 | 福利视频网址 | 久久久久久免费毛片精品 | 奇米影音四色 | av网站免费线看精品 | 在线成人小视频 | 五月婷婷一区二区三区 | 亚洲好视频 | 免费高清av在线看 | aaa免费毛片 | 91在线蜜桃臀 | 91麻豆精品国产91久久久久久久久 | 日韩欧美一区二区三区在线观看 | 婷婷国产精品 | 国产精品麻 | 免费毛片一区二区三区久久久 | 日韩特黄一级欧美毛片特黄 | 午夜影院一级片 | 国产一级淫片免费看 | 午夜精品电影一区二区在线 | 一区二区三区国产欧美 | www.久热 | 99久久www| 久久精品久久久精品美女 | 四虎小视频| 中文字幕国产一区二区 | 97视频在线看 | 日韩精品视频免费看 | 97精品国产一二三产区 | 天天爽人人爽夜夜爽 | 国产精品久久久久久久久岛 | 国产精品久久久久一区 | 在线观看久草 | 爱爱一区 | 日韩中字在线 | 久草国产视频 | 三三级黄色片之日韩 | 亚洲国产午夜精品 | 久久精品激情 | 一区二区三区免费 | 国产精品久久久久久久久久免费看 | 国产视频一区二区在线播放 | 午夜精品久久 | 日本成人免费在线观看 | 欧美日韩中文在线观看 | 欧美日韩免费一区 | 欧美日韩一区二区在线观看 | av大全在线免费观看 | 香蕉在线视频播放网站 | 婷婷在线五月 | 精品国产免费久久 | 狠狠色噜噜狠狠狠合久 | 久久永久免费视频 | 欧美国产一区二区 | 午夜影院三级 | 99精品免费久久久久久久久 | 午夜在线资源 | 激情综合久久 | 久久午夜精品影院一区 | 亚洲欧美少妇 | 超碰在线色 | a黄色一级| 亚洲国产欧洲综合997久久, | 一区二区精品国产 | 欧美日本在线观看视频 | 少妇性色午夜淫片aaaze | 伊人五月天.com | 亚洲 欧美 国产 va在线影院 | 精品在线免费观看 | 国产在线观看你懂得 | 免费国产黄线在线观看视频 | 国产色a在线观看 | 国产91丝袜在线播放动漫 | 亚洲免费视频观看 | 99精品视频观看 | 国产在线观看免费 | 97视频亚洲 | 91桃花视频 | 在线观看一区二区精品 | 国产在线视频导航 | 精品国内自产拍在线观看视频 | 黄色综合| 久久精品视频网 | 不卡的av在线播放 | 69夜色精品国产69乱 | 99爱在线观看 | 亚色视频在线观看 | 综合网成人 | 中文字幕a∨在线乱码免费看 | 在线观看网站黄 | 日韩欧美国产视频 | 日三级在线 | 亚洲精品av中文字幕在线在线 | 久久久久亚洲最大xxxx | 国产精品久久久久久久久久直播 | 亚洲干视频在线观看 | 久久在视频| 射综合网| 一区二区三区四区五区在线 | 久久精品女人毛片国产 | 国产精品嫩草影院99网站 | 欧美另类交在线观看 | 在线一二三四区 | 国模精品在线 | 亚洲 欧洲av | 成年人免费电影 | 亚洲黄色av | 国产精品二区在线 | 久久超碰在线 | 国产一区av在线 | 三级黄色网络 | 99热在线看 | 成人影音在线 | 国产xx视频 | 亚州av成人 | 亚洲精品观看 | 9797在线看片亚洲精品 | 99视频99| 午夜的福利 | 亚洲精品视频在线观看视频 | 99久久久国产精品 | 午夜精品久久久久久久99 | 麻豆免费在线播放 | 午夜精品一区二区三区在线视频 | 黄色成品视频 | 天天天天爱天天躁 | 男女视频91 | 中文字幕在线看人 | 波多野结衣精品视频 | 精品久久久久久综合 | 在线视频中文字幕一区 | 国产不卡视频在线播放 | 97超碰人人爱 | 天天射天天干天天 | 婷婷5月色| 亚洲伦理精品 | 亚洲精品免费观看视频 | 精品久久久久免费极品大片 | 国产日产av| 三级免费黄| 免费看一级特黄a大片 | 91黄色在线观看 | 精品国产视频在线 | 欧美 日韩 国产 中文字幕 | 视频在线观看入口黄最新永久免费国产 | 久久精品网站免费观看 | 久久久久 免费视频 | 中文字幕 二区 | 中文字幕电影一区 | 91精品国自产拍天天拍 | 免费在线观看成人 | 成人午夜电影免费在线观看 | 一区二区三区污 | 黄色三级av | 成人免费毛片aaaaaa片 | 国产成人性色生活片 | 日本在线h| 91最新在线 | 欧美aⅴ在线观看 | 99热亚洲精品 | 亚洲成人av免费 | 日韩电影精品 | 久久久亚洲精品 | 91精品国产乱码 | 成人教育av| 国产精品美女免费看 | 久久久高清视频 | 精品一区二区日韩 | 国产一二三区av | 国产麻豆电影在线观看 | 亚洲自拍av在线 | 天天摸天天操天天舔 | 国产一区播放 | 97超碰影视 | 在线观看www91 | av在线超碰| 91精品国自产在线偷拍蜜桃 | 超碰免费久久 | 欧美另类美少妇69xxxx | 亚洲一级电影 | 碰超在线97人人 | 国产成人一区二区三区电影 | 超级碰碰碰免费视频 | 国产精品99久久久精品 | 久久久久亚洲精品 | av无限看| 美女网站色免费 | 久久夜色电影 | 夜色资源网 | 国产精品网站一区二区三区 | 久久久久福利视频 | 欧美午夜精品久久久久久孕妇 | 国产男女无遮挡猛进猛出在线观看 | 日韩av高清在线观看 | 婷婷四房综合激情五月 | 色片网站在线观看 | 天天操夜夜操天天射 | 91在线www| 日韩在线视频网站 | 91精品一区二区三区蜜臀 | 国产精品麻豆三级一区视频 | 国产一线天在线观看 | 日日操网| 欧美91视频 | 久久久久久草 | 色婷婷激情电影 | 成人综合日日夜夜 | 久久99久久99精品 | 免费在线观看黄网站 | 99精品视频免费观看 | 日本在线观看一区二区 | 天天色天天草天天射 | 伊人婷婷激情 | 久久精品国产免费看久久精品 | 公开超碰在线 | 人人干人人干人人干 | 亚洲视频axxx | 在线视频app| 美女免费视频黄 | www.天天操| 日韩av午夜在线观看 | 91一区在线观看 | www.午夜色.com| 五月婷婷香蕉 | 99视频国产精品 | 狠狠天天 | 日韩久久精品一区二区三区 | 亚洲在线视频免费观看 | 蜜桃久久久 | 啪啪免费视频网站 | 免费v片| 手机成人av | 亚洲美女久久 | 美女视频黄网站 | 中文字幕日韩电影 | 黄色av网站在线免费观看 | 精品国产1区2区3区 国产欧美精品在线观看 | 一级片黄色片网站 | 免费亚洲成人 | 插综合网 | 狠狠的干狠狠的操 | www.久久91 | 日韩av在线资源 | av在线免费在线 | 天天干天天操天天搞 | 免费看一级黄色 | 色综合天天狠天天透天天伊人 | 亚洲不卡在线 | 成人在线观看免费 | 亚洲欧美日韩精品久久奇米一区 | 日韩av中文字幕在线 | 免费视频在线观看网站 | 午夜久久精品 | 国产精品麻豆三级一区视频 | 美女网站视频久久 | 久久a v视频 | 久久免费看av | 有码中文字幕在线观看 | 亚洲综合色播 | 免费观看一区二区 | 国产经典av| 在线观看国产日韩欧美 | 久久成人综合视频 | 免费福利视频导航 | 在线免费精品视频 | 人人干网| 91免费网| 午夜影院在线观看18 | www.香蕉视频 | 国产精品视频一二三 | 亚洲涩涩一区 | 日韩欧美视频在线播放 | 婷婷在线播放 | 亚洲午夜精品一区二区三区电影院 | 99久久99久久精品国产片果冰 | 91手机在线看片 | 玖玖国产精品视频 | 日本三级香港三级人妇99 | 在线观看视频亚洲 | 国产一级片视频 | 久久久久观看 | 久久综合激情 | 久久综合九色综合久99 | 欧美aaa一级 | 欧美成人999 | 在线视频99 | 麻豆传媒在线视频 | 国产电影一区二区三区四区 | 亚洲国产精品久久久久久 | 91麻豆精品 | 国产视频在 | 国产成人av网址 | 夜夜干夜夜 | 日韩一区在线免费观看 | 欧美日韩在线精品 | 久久99久久99精品免观看粉嫩 | 亚洲区另类春色综合小说 | 免费亚洲精品视频 | 成人在线观看免费视频 | 爱情影院aqdy鲁丝片二区 | 国产无区一区二区三麻豆 | 免费在线观看成年人视频 | 亚洲国产av精品毛片鲁大师 | 欧美国产91 | 黄色h在线观看 | 色婷婷国产精品 | 麻豆国产露脸在线观看 | 国产成人区 | 91色蜜桃| 国产中文字幕免费 | 天天干天天天天 | 国产日韩精品视频 | 国产精品 中文在线 | 最新一区二区三区 | 亚洲欧美视屏 | 久久久久久久久电影 | 中文字幕在线专区 | 欧美精品一区二区蜜臀亚洲 | 99久久婷婷国产综合亚洲 | 日韩精品91偷拍在线观看 | 综合成人在线 | 亚洲 综合 国产 精品 | 在线观看免费一级片 | www.久久久久 | 欧美一级电影 | 日韩中文字幕视频在线 | 蜜桃传媒一区二区 | 狠狠的干 | 蜜桃视频色 | 黄色com | 月下香电影 | 国产精品女主播一区二区三区 | 高清视频一区二区三区 | 最新日韩精品 | 国产成人免费观看久久久 | 国产成人黄色片 | 日韩乱码在线 | 女人高潮特级毛片 | 成片人卡1卡2卡3手机免费看 | 国产区在线视频 | 国产黄色免费观看 | 国产免费人成xvideos视频 | 91精品国产自产在线观看永久 | 2023av| 啪一啪在线| 日本中文在线播放 | 日韩色综合| 精品v亚洲v欧美v高清v | 在线观看av小说 | 国产精品欧美日韩在线观看 | 亚洲精品久久久久中文字幕二区 | 一区二区三区手机在线观看 | 精品国产一区二区三区四区在线观看 | 天堂av一区二区 | 在线视频婷婷 | 亚洲经典视频在线观看 | 亚洲国产黄色 | 亚洲免费在线观看视频 | 久久精品国产亚洲精品 | 日韩三级在线观看 | 亚洲jizzjizz日本少妇 | 色香蕉在线视频 | 九九欧美 | 欧美日韩一区二区三区视频 | 人人插人人草 | 色射色 | 在线亚洲精品 | 国产精品视频999 | 天天综合网 天天 | 国产精品毛片一区二区 | 久久免费视频国产 | 国产麻豆精品传媒av国产下载 | 亚洲国产婷婷 | 国产不卡高清 | 欧美日韩裸体免费视频 | 91精品国产乱码久久 | 日本二区三区在线 | 欧美日韩综合在线 | 亚洲国产精品资源 | 高清中文字幕av | 亚洲欧美日韩国产精品一区午夜 | 五月婷婷爱 | 欧美在线观看禁18 | 久久午夜电影网 | 国产成人资源 | 亚洲国产高清在线观看视频 | 超碰在线人人 | 91av官网 | 国产一区福利 | 久久a热6 | 国产黄在线 | 久久久999| 91女子私密保健养生少妇 | 夜夜骑首页 | 久久极品 | 久久精品亚洲综合专区 | 日韩欧美xxxx| 国产女教师精品久久av | 日本久久91 | av在线短片| 91精品一区二区三区蜜臀 | av短片在线观看 | 日本中文字幕系列 | 国产精品免费视频一区二区 | 日韩网站一区二区 | 欧美精品在线一区 | 中文字幕国内精品 | 免费a现在观看 | 在线观看av麻豆 | 亚洲视频在线观看 | 亚洲精品高清在线 | 国产综合片 | 五月婷婷狠狠 | 久久伊人五月天 | 国产一区二区在线免费观看 | 久久国产精品一区二区三区 | 美女在线观看av | 中文在线免费视频 | 国产 一区二区三区 在线 | 91精品亚洲影视在线观看 | 亚洲午夜电影网 | 国产精品美女久久久久久2018 | 中文字幕日韩伦理 | 一区中文字幕电影 | 波多野结衣一区二区三区中文字幕 | 免费在线观看一区二区三区 | 在线观看第一页 | 国产精品 国产精品 | 欧美日韩精品二区第二页 | 久久99国产精品二区护士 | 久久五月婷婷丁香社区 | 欧美乱淫视频 | 国产亚洲精品女人久久久久久 | 91av大全 | 草久久久 | www.黄色在线 | 婷婷六月网 | 欧美中文字幕久久 | 少妇高潮流白浆在线观看 | 婷婷激情综合网 | 久久综合久久综合九色 | 狠狠干夜夜操天天爽 | 免费在线观看国产精品 | 一区二区三区免费在线观看视频 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 一级成人免费 | 久草久草久草久草 | 久久免费精品视频 | 奇米影视在线99精品 | 日韩精品一区二区三区中文字幕 | 中文日韩在线视频 | 色综合久久久久久久久五月 | 成人播放器 | 欧美日韩视频在线观看一区二区 | 一区二区三区四区在线 | 五月婷婷六月丁香激情 | 最近日本字幕mv免费观看在线 | 国产精在线 | av色图天堂网| 久久久久人人 | 日本婷婷色 | 久久8精品 | 国产小视频免费在线网址 | 91精品免费看 | 国产精品一区二区三区在线播放 | 91毛片在线观看 | 99在线免费观看视频 | 91视频在线免费下载 | www操操| 日韩在线免费高清视频 | 一级成人在线 | 久久天天操 | 国色天香在线 | 天天综合视频在线观看 | 丁香九月激情 | 日韩av手机在线看 | 欧美老少交 | 国产99视频在线观看 | 在线观看自拍 | 91久久久国产精品 | 欧美日韩一级久久久久久免费看 | 91日韩在线视频 | 美女在线观看网站 | 四虎在线视频 | 日韩精品在线看 | 国产精品久久婷婷六月丁香 | 中文字幕999 | 国产在线中文字幕 | 97日日碰人人模人人澡分享吧 | av亚洲产国偷v产偷v自拍小说 | 亚洲欧洲成人精品av97 | 激情视频免费在线观看 | 狠狠色免费 | av电影中文字幕在线观看 | 一区二区三区在线视频111 | 五月婷婷丁香 | 91在线区 | 国产亚洲在线 | 蜜臀av麻豆 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 亚洲区另类春色综合小说校园片 | 国产精品亚洲视频 | 国产精品视频免费 | 欧美日韩p片 | 国产三级国产精品国产专区50 | 超碰999 | 精品视频在线免费观看 | 成人一级免费电影 | 青青河边草免费直播 | a级成人毛片 | 免费视频网 | 麻豆 91 在线 | 婷婷激情小说网 | 亚洲涩涩网 | 久久综合久久久 | 中文字幕4 | 中文字幕色在线 | 午夜精品一区二区三区在线观看 | 天天操天天干天天摸 | 色天天| 日韩手机在线观看 | 国产999精品久久久久久 | 久草久热 | 亚洲专区 国产精品 | 天天操夜夜操国产精品 | 欧美日韩国产伦理 | 久久久久北条麻妃免费看 | 国产网站色 | av一区二区三区在线 | 五月天婷亚洲天综合网精品偷 | 99精品国产一区二区三区不卡 | 999国内精品永久免费视频 | 国产亚洲欧美一区 | 又爽又黄在线观看 | 又爽又黄又刺激的视频 | 成人午夜电影网 | 性色av免费在线观看 | 亚洲精品理论 | 日本中出在线观看 | 精品久久1 | 一区二区三区日韩精品 | 久久亚洲综合国产精品99麻豆的功能介绍 | 中文字幕亚洲欧美日韩 | 婷婷综合 | 亚洲精品自在在线观看 | 久久国产精品99久久久久久丝袜 | 视频在线观看日韩 | 亚洲精品国产综合99久久夜夜嗨 | 久久久国产影视 | 日韩大片免费观看 | 91在线欧美| 99这里都是精品 | 国产精品美女毛片真酒店 | 亚洲精品456在线播放乱码 | 中文字幕在线观看网址 | 日韩av影视 | 中文字幕免费一区 | 天天操,夜夜操 | 丁香花在线观看视频在线 | 婷婷色吧 | 在线观看黄色av | 欧美日韩色婷婷 | 91久久精品一区二区二区 | 久久国产免费 | 五月综合激情网 | 亚洲成人av影片 | 国产精品亚洲片夜色在线 | 国产在线精品视频 | 91福利视频一区 | 美女久久99 | 97在线观看免费高清 | 午夜免费福利视频 | 久久精品com | 免费视频久久久久 | 天天摸天天舔天天操 | 人人舔人人爽 | 日韩在线视 | 91在线播放视频 | 夜夜天天干| 精品一区三区 | 在线a亚洲视频播放在线观看 | 国产精品久久久久影院日本 | 亚洲视频久久 | 91入口在线观看 | 欧美日本不卡高清 | 天堂黄色片 | 揉bbb玩bbb少妇bbb | 国产一区二区三区久久久 | 成年人黄色免费看 | 玖玖综合网| 成年人免费在线播放 | 久久综合九色欧美综合狠狠 | 3d黄动漫免费看 | 91精品日韩 | 最近免费中文视频 | 国产艹b视频 | 国产亚洲精品综合一区91 | 欧美精品一区二区三区一线天视频 | 我爱av激情网 | 中文字幕五区 | 成人黄色一级视频 | 国产xx在线 | 天天操人人要 | 91麻豆视频网站 | 亚州欧美视频 | 天天操天天干天天操天天干 | 欧美日韩国产二区三区 | 欧美aa一级片| 亚洲永久精品在线观看 | 在线观看一级视频 | 黄色小说18| 欧美国产精品久久久久久免费 | 91精品国产欧美一区二区成人 | 日韩a欧美 | 国产视频久久久久 | 亚洲精品动漫成人3d无尽在线 | 国产午夜精品一区二区三区嫩草 | 久久久精品小视频 | 国产污视频在线观看 | 久草在线久草在线2 | 午夜精品福利在线 | 色999视频| 亚洲国产精品久久久久 | 国产超碰97 | 免费裸体视频网 | 91亚洲视频在线观看 | 高清久久久久久 | 天天爽天天爽夜夜爽 | 人人躁| 五月激情姐姐 | 黄色av一区 | 99在线观看 | 国产视频午夜 | 久久久综合香蕉尹人综合网 | 中文字幕一区二区三区在线视频 | 久草久草久草久草 | 午夜成人免费电影 | 国产亚洲在线视频 | 国产精品综合久久久久久 | 91av原创| av三级在线免费观看 | 国产精品久久免费看 | 中文字幕一区二区三区四区视频 | 黄色av成人在线 | 激情欧美丁香 | 黄色大片av | 天天草av| 国产精品乱码一区二三区 | 国产精品久久久久影院日本 | av久久久| 免费看久久 | 久久国产影院 | 免费男女羞羞的视频网站中文字幕 | 亚洲精品国 | 国产中文在线字幕 | 91视频传媒| 色香蕉网 | 久久免费视频在线观看6 | 亚洲少妇xxxx | bayu135国产精品视频 | 麻豆视频免费在线播放 | 最新国产精品久久精品 | 男女免费av | 日韩在线观看高清 | 美女视频免费一区二区 | 久久久久久久国产精品影院 | 国产91精品一区二区绿帽 | av专区在线 | 搡bbbb搡bbb视频| 天天搞夜夜骑 | 天天爽人人爽 | 麻豆成人网 | 免费看污在线观看 | 又长又大又黑又粗欧美 | 久久久精品 一区二区三区 国产99视频在线观看 | 免费中午字幕无吗 | 国产亚洲精品女人久久久久久 | av丝袜美腿 | 国产成人a v电影 | 亚洲精品91天天久久人人 | 亚洲欧洲精品一区二区 | 91av在线播放视频 | 欧美日韩超碰 | 99久久久久久国产精品 | 超碰人人av| 日本黄色一级电影 | 久久影院午夜论 | 国产精品久久久999 国产91九色视频 | 999超碰| 国产黄色观看 | 国产成人精品久久亚洲高清不卡 | 成年人在线 | 日韩一级片大全 | 成人免费观看完整版电影 | 日批视频在线观看免费 | 亚洲免费在线视频 | 国产成人精品av在线 | 国产日韩视频在线 | 国产精品久久久久久麻豆一区 | 日本三级在线观看中文字 | 一区二区三区四区五区在线 | 欧美精品免费在线观看 | 中国黄色一级大片 | 丁香视频五月 | 国产在线精品一区二区不卡了 | 视频二区在线 | 91在线免费视频观看 | 日韩免费中文 | 中国一级片在线播放 | 在线观看成人av | 免费av网站在线看 | 97综合视频 | 激情五月在线 | 免费观看久久 | 久久久久久久久久国产精品 | 久久成人视屏 | 一区二区三区免费在线观看视频 | 国产精品九九九九九九 | 久久综合婷婷国产二区高清 | 日韩欧美国产激情在线播放 | 成人精品一区二区三区中文字幕 | 欧美黑吊大战白妞欧美 | 国产一区二区综合 | 中文亚洲欧美日韩 | 日p视频在线观看 | 狠狠操狠狠干2017 | 国产欧美中文字幕 | 日韩视| 六月天综合网 | 国产不卡av在线 | 国产精品一区二区免费在线观看 | 亚洲香蕉在线观看 | 婷婷亚洲综合 | 日韩欧美高清一区二区三区 | 一二区电影| 成人wwwxxx视频| 午夜美女wwww | 99性视频| 亚洲精品综合在线观看 | 亚洲va欧美va | 天堂久久电影网 | 欧美日韩国产亚洲乱码字幕 | 99久久精品国产免费看不卡 | av免费黄色 | 国产精品美女久久久久久久 | 婷婷六月丁 | 国产精彩视频一区 | 91探花系列在线播放 | 国产精品系列在线播放 | 狠狠色伊人亚洲综合网站野外 | 亚洲 欧美日韩 国产 中文 | 玖玖综合网| 久久精品国产亚洲精品2020 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 97在线观 | 91在线porny国产在线看 | 日韩av在线看 | 国产丝袜| 久久一本综合 | 99久精品视频 | 伊人欧美| 天堂网一区二区 | 亚洲在线视频免费观看 | 成年人av在线播放 | 久操中文字幕在线观看 | 日韩二三区 | 欧美日韩在线精品一区二区 | 中文字幕专区高清在线观看 | 蜜臀久久99精品久久久无需会员 | 亚洲高清视频一区二区三区 | 99精品国产亚洲 | 色欧美成人精品a∨在线观看 | 色婷婷激情四射 | 亚洲天堂网在线视频 | 日韩欧美69 | 国产日韩在线看 | 欧美污在线观看 | 久久综合免费视频 | 在线a视频 | 天天干,天天射,天天操,天天摸 | 免费在线看成人av | 久久草精品 | 在线99视频 | 久久精品波多野结衣 | 国产精品欧美久久久久久 | 婷婷5月激情5月 | 国产在线a免费观看 | 久久久资源网 | 激情在线免费视频 | 在线观看你懂的网址 | 99成人精品 | 欧美日韩国内在线 | 99久久久久免费精品国产 | 亚洲一级电影在线观看 | 啪啪小视频网站 | 国产96在线观看 | 久久久国产精品人人片99精片欧美一 | 91精品视频一区二区三区 | 日韩久久精品 | 91免费在线看片 | 中文字幕精 | 欧美亚洲免费在线一区 | 麻豆手机在线 | 午夜精品一区二区三区可下载 | 亚洲精品玖玖玖av在线看 | 正在播放五月婷婷狠狠干 | 成年人国产精品 | 在线看小早川怜子av | 97在线播放视频 | 成年人免费电影在线观看 | 99在线观看 | 蜜臀av夜夜澡人人爽人人 | 波多野结衣理论片 | 久久国色夜色精品国产 | 精品一区精品二区 | 99视频国产在线 | 不卡的av在线 | av高清在线 | 人人操日日干 | 日韩在线观看中文字幕 | 久久精品久久久久久久 | 丁香综合网 | 高清av影院 | 日日综合网 | 国产一级电影免费观看 | 狠狠操狠狠干天天操 | 国产精品久久久久aaaa九色 | 狠狠色丁香久久婷婷综合_中 | 婷婷在线免费视频 | 欧美国产在线看 | 极品嫩模被强到高潮呻吟91 | 久久96国产精品久久99软件 | www视频免费在线观看 | 欧美精品在线观看免费 | 精品国产电影一区二区 | 天天干天天弄 | 欧美精品中文在线免费观看 | 黄色小说网站在线 | 在线观看免费 | 久久男女视频 | 久草久视频 | 日韩精品久久一区二区三区 | ww视频在线观看 | 日本久久久影视 | 91porny九色91啦中文 | 波多野结衣电影一区二区三区 | 97在线资源 | 97av在线视频免费播放 | 久操中文字幕在线观看 | 在线亚洲欧美视频 | 99久久99久久精品国产片 | 亚洲精品97 | 五月天亚洲精品 | a在线免费观看视频 | 国产精品福利午夜在线观看 | 久久综合久久综合久久综合 | 国产精品一区二区久久 | 精品在线视频观看 | 欧美日韩国产色综合一二三四 | 在线看片一区 | 日韩激情在线 | 欧美中文字幕久久 | 国产中文在线视频 | 精品毛片一区二区免费看 | 俺要去色综合狠狠 | 国产精品 视频 | 国产手机视频 | 伊人五月婷 | 97精品国产91久久久久久 | 亚洲精品久久久久www | 大荫蒂欧美视频另类xxxx | 欧美成a人片在线观看久 | 另类老妇性bbwbbw高清 | 欧美高清成人 | 亚洲精品乱码久久久久久蜜桃欧美 | 五月天婷婷在线观看视频 | 久久午夜色播影院免费高清 | 亚洲精品高清在线 | 国产不卡av在线播放 | 亚洲精品国产日韩 | 亚洲国产精品久久久久 | 国内精品久久久久国产 | 人人草在线视频 | 精品一二三四五区 | 国产剧在线观看片 | 精品国产伦一区二区三区观看说明 | 最近最新中文字幕 | 中文字幕永久在线 | 亚洲无吗视频在线 | 国产高清免费视频 | 欧美专区国产专区 | 色偷偷网站视频 | 午夜精品区| 欧美另类网站 | 69视频国产 | 日本一区二区高清不卡 | 97在线免费观看 | 久草影视在线 | 区一区二区三在线观看 | 欧美精品久久久 | 免费观看完整版无人区 | 亚洲九九影院 | 天天av综合网 | www.操.com| 在线导航av| 在线 国产一区 | 9999激情| 视频在线日韩 | a级国产乱理论片在线观看 特级毛片在线观看 | 91成人在线视频 | 精品久久久久久久久亚洲 | 午夜精品av在线 | 99中文字幕视频 | 国产999精品久久久久久 | 天天操天天舔天天干 | 色视频国产直接看 | 日韩videos高潮hd | 久久激情小说 | 国产在线黄色 | 午夜影院一级片 | 国产伦精品一区二区三区在线 | 亚洲va韩国va欧美va精四季 | 久久久久久久久久久久久9999 | 久久成人精品电影 | 国产福利一区二区在线 |