精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

新聞 深度學習
深度學習發展勢頭迅猛,但近兩年涌現的諸多深度學習框架讓初學者無所適從。

 Keras還是TensorFlow?程序員該如何選擇深度學習框架?

深度學習發展勢頭迅猛,但近兩年涌現的諸多深度學習框架讓初學者無所適從。如 Google 的 TensorFlow、亞馬遜的 MXNet、Facebook 支持的 PyTorch、Theano、Caffe、CNTK、Chainer、百度的 PaddlePaddle、DSSTNE、DyNet、BigDL、Neon 等等。

在這其中,TensorFlow 作為最為著名的用于深度學習生產環境的框架,它有一個非常強大的生態體系支持,然而,相比其他框架,TensorFlow 也有其劣勢,如速度較慢、使用上手難。而基于 TensorFlow 基礎上構建的 Keras 提供了簡單易用的 API 接口,非常適合初學者使用。

2017 年 1 月,隨著 Keras 的作者、谷歌 AI 研究員 Francois Chollet 的一條消息的宣布,Keras 成為第一個被添加到 TensorFlow 核心的高級別框架,Keras 從此成為 Tensorflow 的默認 API。

“那么,我應該在項目中使用 Keras 還是 TensorFlow?Keras 和 TensorFlow 究竟哪個會更好?我應該把時間花在研究 TensorFlow 還是 Keras 上?”

在與深度學習的研究人員、從業者包括工程師在內的交談中,“Deep Learning for Computer Vision with Python ”一書作者 Adrian Rosebrock 聽到了他們的困惑。

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

就 Keras 和 TensorFlow 而言,Rosebrock 認為開發者更應該關注的是當 Keras 實際上已被完全采用并整合到 TensorFlow 后,自己可以:

  1. 使用 Keras 易于使用的界面定義模型。
  2. 如果需要 TensorFlow 的特定功能,或需要實現 Keras 不支持但 TensorFlow 支持的自定義功能,則調入 TensorFlow。

他給出的建議是先使用 Keras ,然后下載 TensorFlow 以獲取可能需要的任何特定功能。文本中,Rosebrock 展示了如何訓練使用 Keras 的神經網絡和使用直接構建在 TensorFlow 庫中的 Keras+TensorFlow 集成(具有自定義功能)的模型。

下面開始正文:

▌對比 Keras 和 TensorFlow 沒什么意義

前些年,深度學習領域的研究人員、開發人員和工程師必須經常做出一些選擇:

  1. 我應該選擇易于使用但自定義困難的 Keras 庫?
  2. 還是應該使用難度更大的 TensorFlow API,編寫大量代碼?(更不用說一個不那么容易使用的 API 了。)

如果你陷于“我應該使用 Keras 還是 TensorFlow”這樣的問題,你可以退一步再看,其實這是一個錯誤的問題,因為你可以選擇同時使用兩個。

我會使用基于 TensorFlow 的標準 keras 模塊和 tf.keras 模塊,來實現一個卷積神經網絡(CNN)。然后,基于一個示例數據集,來訓練這些 CNN,然后檢查所得結果,你會發現,Keras 和 TensorFlow 是可以和諧共處的。

雖然自一年多之前,TensorFlow 就宣稱 Keras 將被并入 TensorFlow 的官方發布版本中,但令我詫異的是,仍有很多深度學習開發者沒有意識到,他們可以通過 tf.keras 子模塊來調用 Keras。更重要的是,Keras 與 TensorFlow 是無縫銜接的,使得我們將 TensorFlow 的源代碼直接寫入 Keras 模型中。

在 TensorFlow 中結合 Keras 使用,會有雙贏效果:

  1. 你可以使用 Keras 提供的簡單、原生 API 來創建自己的模型。
  2. Keras 的 API 類似于 scikit-learn 的,都可稱為機器學習的優質 API。
  3. Keras 的 API 是模塊化的、基于 Python ,并且極其易于使用。
  4. 當你需要實現一個自定義的層或更復雜的損失函數時,你可以深入使用 TensorFlow,將代碼自動地與 Keras 模型相結合。

▌Keras 通過 tf.keras 模塊構建到 TensorFlow 中

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

可以看到,我們通過引入 TensorFlow (tf) 并調用 tf.keras,在 Python shell 中展示了 Keras 實際上是 TensorFlow 的一部分。

tf.keras 中的 Keras 允許我們使用標準的 Keras 包獲取下面這樣簡單的前饋神經網絡:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

接下來基于 TensorFlow 的一部分 —— tf.keras 子模塊,來實現同樣的網絡:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

然而這是否意味著你必須使用 tf.keras?從而現在放棄使用標準 Keras 包了嗎?當然不是!

Keras 依然作為一個庫,與 TensorFlow 分開,進行獨立操作,所以仍存在未來兩者會分開的可能性;然而,我們知道 Google 官方同時支持 Keras 和 TensorFlow,分開似乎又是極不可能發生的。

但重點在于:

如果你更喜歡只基于 Keras 來編程,那就這么做吧,以后可以一直如此。但如果你是 TensorFlow 用戶,你應該開始考慮 Keras API 了,因為:

  1. 它是基于 TensorFlow 創建的
  2. 它更易于使用
  3. 當你需要用純 TensorFlow 實現特定性能或功能時,它可以直接用于你的 Keras。

▌示例數據集

[[246049]]

CIFAR-10 數據集有10個類,我們用該數據集來展示本文的觀點

為了簡單起見,我們就在 CIFAR-10 數據集上訓練兩個單獨的卷積神經網絡 (CNN),方案如下:

方法 1 :以 TensorFlow 作為后端的 Keras 模型

方法 2 :使用 tf.keras 中 Keras 子模塊

在介紹的過程中我還會展示如何把自定義的 TensorFlow 代碼寫入你的 Keras 模型中。

CIFAR-10 數據集包括10個單獨的類,50,000 張訓練圖片和 10,000 張測試圖片。

▌項目結構

我們可以在終端使用 tree 指令來查看該項目的結構:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

pyimagesearch 模塊被包括在與網絡條目相關的下載中。它不能通過 pip 來安裝,但包含在 "Downloads"后的結果中。我們先回顧一下該模塊中兩個重要的 Python 文件:

  • minivggnetkeras.py:此文件是基于 Keras 實現的 MiniVGGNet 網絡,一個基于 VGGNet 的深度學習模型。
  • minivggnettf.py:此文件是基于 TensorFlow + Keras (如 tf.keras)實現的 MiniVGGNet 網絡。

該項目的根目錄包含兩個 Python 文件:

  • train_network_keras.py:用 Keras 實現的訓練腳本;
  • train_network_tf.py: TensorFlow + Keras 實現需要的訓練腳本,與前者基本相同;但我們仍會進行說明,并標出不同之處。

每個腳本都會生成各自訓練的 accuracy 和 loss 曲線:

  • plot_keras.png
  • plot_tf.png

接下來就會向大家介紹基于 Keras 和 TensorFlow + Keras (tf.keras) 實現的 MiniVGGNet 網絡和他們的訓練過程。

▌用 Keras 訓練一個神經網絡

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

用 Keras 實現的一個 miniVGGNet 卷積神經網絡結構

訓練我們網絡的第一步是在 Keras 中構建網絡的架構。

如果你已經熟悉 Keras 訓練神經網絡的基礎知識,那么我們就開始吧 (如果你對此并不了解的話,請參考相關的介紹性文章)。

相關鏈接:https://www.pyimagesearch.com/2018/09/10/keras-tutorial-how-to-get-started-with-keras-deep-learning-and-python/

首先,打開 minivggnetkeras.py 文件并插入以下代碼:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

從導入一系列所需的 Keras 庫開始構建模型。

然后,定義一個的 MiniVGGNetKeras 類:

[[246050]]

我們在第 12 行定義了 build 方法,并定義 inputShape 和 input 參數。 我們假定以 channel last 的規則排序,所以 inputShape 參數中最后一個值應該對應的是 depth 值。

下面開始定義卷積神經網絡的主體結構:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

從上面這段代碼你可以觀察到我們在每次應用池化 (pooling) 之前都堆疊了一系列卷積 (conv2D),ReLU 激活函數和批規范化層 (batch normalization),以降低卷積操作后的空間維度。此外,我們還使用 Dropout 技術來防止模型的過擬合現象。

對于圖層類型和有關術語的知識,可以參考以前的 Keras 教程https://www.pyimagesearch.com/2018/09/10/keras-tutorial-how-to-get-started-with-keras-deep-learning-and-python/如果想深入研究的話,推薦書“Deep Learning for Computer Vision with Python ”https://www.pyimagesearch.com/deep-learning-computer-vision-python-book/

然后,將全連接層 (FC) 添加到網絡結構中,代碼如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

我們將 FC 層和 Softmax 分類器添加到網絡中。隨后我們定義神經網絡模型并將其返回給回調函數 (calling function)。

現在我們已經在 Keras 中實現了 CNN 模型的定義。下面,我們創建用于訓練該模型的程序腳本。

打開 train_network_keras.py 文件并插入以下代碼:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

我們首先在代碼的第 2-13 行導入我們模型訓練所需的包。

需要注意的是:

  • 在第 3 行,將 Matplotlib 的后端設置為 Agg,以便我們可以能將訓練圖保存為圖像文件。
  • 在第 6 行,我們導入 MiniVGGNetKeras 類。
  • 我們使用 scikit-learn 庫中的 LabelBinarizer 方法進行獨熱編碼 (one-hot encoding),并使用其 classification_report 方法打印出分類精度統計結果 (分別對應第 7 行和第 8 行)。
  • 我們在第 10 行導入訓練所需的數據庫。
如何使用自定義的數據集,可參考https://www.pyimagesearch.com/2018/09/10/keras-tutorial-how-to-get-started-with-keras-deep-learning-and-python/https://www.pyimagesearch.com/2018/04/16/keras-and-convolutional-neural-networks-cnns/

此外,我們還在第 16-19 行解析了一個命令行參數 (輸出 --plot path)。

下面我們就加載 CIFAR-10 數據集,并對標簽進行編碼操作,代碼如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在第 24 行和第 25 行中,我們分別加載并提取訓練和測試所需的數據,同時在第 26 和 27 行將數據進行 floating point + scale 轉化。

第 30-36 行我們對標簽進行編碼并初始化真實的 labelNames。

模型定義和數據集導入的工作都已經完成。現在可以開始訓練我們的模型,代碼如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在第 40-46 行,我們設置訓練過程所需的一些參數和模型優化方法。

然后在第 47-50 行,我們使用 MiniVGGNetKeras.build 方法初始化我們的模型并進行編譯。

最后,在第 54 和 55 行啟動模型的訓練程序。

下面,我們將對網絡模型進行評估并生成一個結果圖:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在這里,我們利用測試數據來評估我們的模型,并生成 classification_report。最后,我們將評估結果集成并導出結果圖。

需要注意的是,通常在這里我們會將模型序列化并導出我們的模型,以便可以在圖像或視頻處理腳本中使用它,但在這篇教程中我們不介紹這部分的內容。

如果你想要運行以上的腳本,請確認下載本文的源代碼。

然后,打開一個終端并執行以下命令就可以用 Keras 實現一個神經網絡:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在我的電腦 cpu 上運行每個訓練 epoch 只需要 5 多分鐘。訓練結果圖如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

用 Keras 實現的神經網絡模型,以 Matplotlib 畫出訓練過程的 accuracy/loss 曲線

正如我們從上面終端的輸出看到那樣,我們的模型取得75%的準確度。雖然這不是最先進的模型,但它能比隨機猜測 (1/10) 要好得多。

相比起小型的神經網絡,我們模型的結果實際上是非常好的!

此外,正如我們在輸出圖6中所示,我們模型并不會發生過擬合現象。

▌用 Tensorflow 和 tf.keras 訓練一個神經網絡模型

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

使用 tf.keras (內置于 TensorFlow 中的模塊) 構建的 MiniVGGNet CNN 架構與我們直接使用 Keras 構建的模型是相同的。在此,出于演示的目的,我改變了其中的激活函數,其他的結構都是相同的。

上面我們已經能夠使用 Keras 庫實現并訓練了一個簡單的 CNN 模型。接下來,我們要做的是:

1.學習如何使用 TensorFlow 中的 tf.keras 模塊實現相同的網絡架構

2.在我們的 Keras 模型中包含一個 TensorFlow 激活函數,而該函數未在Keras中實現。

下面,讓我們開始吧。

首先,打開 minivggnettf.py 文件,我們將實現 TensorFlow 版的 MiniVGGNet 模型,代碼如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在這個 .py 文件中,請注意第 2 行我們需要導入所需的 tensorflow 依賴庫,而 tensorflow 中自帶 tf.keras 子模塊,該子模塊包含我們可以直接調用的所有 Keras 功能。

在模型定義中,我使用 Lambda 層,如代碼中的黃色突出顯示,它可以用于插入自定義激活函數 CRELU (Concatenated ReLUs),

激活函數 CRELU 是由 Shang 等人在論文“Understanding and Improving Convolutional Neural Network”中所提出。

CRELU 激活函數在 Keras 中沒有相應的實現,但是在 TensorFlow 中可以。你可以在 TensorFlow 中的 tf.keras 模塊,使用一行代碼來將 CRELU 函數添加到我們的 Keras 模型中。

還需要注意的是:CRELU 函數有兩個輸出,一個 positive ReLU 和一個 negative ReLU,二者連接在一起。對于正值 x,CRELU 函數的返回值是 [x,0];而對于負值 x,CRELU 函數的返回值是 [0,x]。有關該函數的詳細介紹可以參考 Shang 等人的論文。

接下來,我們將用 TensorFlow + Keras 來定義用于訓練 MiniVGGNetTF 模型的程序。打開 train_network_tf.py 并插入如下代碼:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在 2-12 行,我們導入訓練過程所需的依賴庫。與我們之前的 Keras 版的訓練腳本相比,唯一的變化在于我們導入了 MiniVGGNetTF 類及 tensorflow as tf 而不是使用 Keras。而在第 15-18 行是我們的命令行參數解析部分。

和之前一樣,我們在第 23 行加載模型訓練所需的數據。腳本剩余的部分和之前 Keras 版的訓練過程是一樣的,即提取并分離訓練和測試集數據并編碼我們的標簽。

下面,讓我們開始訓練我們的模型,代碼如下:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

在第 39-54 行,是與 Keras 版訓練過程不同的地方,我們用黃色突出顯示,其余部分都是相同的。

在第 58-73 行,我們用測試數據評估我們的模型并繪制最終的結果。

正如你所看到的,我們只是更換了所使用的方法 (使用 tf.keras),實現了幾乎一樣的訓練流程。

然后,打開一個終端并執行以下命令就可以使用 tensorflow + tf.keras 訓練一個神經網絡模型:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

訓練完成后,你可以得到如上類似的訓練結果圖:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?

用 Tensorflow + tf.keras 實現的神經網絡模型,以 Matplotlib 畫出訓練過程的 accuracy/loss 曲線

可以看到,我們用 CRELU 代替原有的 RELU 激活函數,獲得 76% 的準確率; 然而,1% 的準確性提升增加可能是由于網絡中權重的隨機初始化導致的,這還需進行交叉驗證實驗來進一步證明 CRELU 激活函數是否確實能夠提升模型的準確性。當然,原始精度并不是本節所重點關注的內容。

相反,更需要我們注意的是,如何在 Keras 模型內部,用 TensorFlow 的激活函數替換標準 Keras 激活函數!

此外,你也可以使用自定義的激活函數、損失/成本函數或圖層來執行以上相同的操作。

▌總結

在今天的文章中,關于 Keras 和 TensorFlow 我們主要討論了以下幾個問題:

  • 我是否應該在我的項目中使用 Keras 或 TensorFlow?
  • TensorFlow 比 Keras 要好嗎?
  • 我是否要花時間學習 TensorFlow 或者 Keras?

最終,我們發現,試圖在 Keras 和 TensorFlow 之間作出抉擇變成一個越來越無關緊要的問題。Keras 庫已經通過 tf.keras 模塊直接集成到 TensorFlow 中了。

本質上來說,你可以通過易于使用的 Keras API 來編碼模型和訓練過程,然后用純 TensorFlow 進行自定義實現。

所以,如果你正準備開始學習深度學習,或在糾結下一個項目是“用 Keras 還是 TensorFlow ?”或就是在思考他們兩者間“誰更好?”這些問題,現在正是尋找答案和動力的時候了,而我給你的建議非常簡單:

  1. 不多說,先開始!
  2. 在你的 Python 項目中輸入 import keras 或者 import tensorflow as tf (這樣你就可以訪問 tf.keras 了)然后開始后續的工作。
  3. TensorFlow 可以直接集成到你的模型和訓練過程中,所以不用去比較特性,功能或易用性,你都可以直接在項目中使用 TensorFlow 或 Keras。

▌讀者的疑問

對此,有讀者提出了尖銳的疑問:

Keras還是TensorFlow?程序員該如何選擇深度學習框架?
根據上述以及我的了解,不少開發者仍糾纏在 Keras 和 TensorFlow 究竟是什么的問題,可能對此我也不甚了解,但我還是希望提出一些澄清性的問題:一是在這二者中,將一個視為計算引擎,另一個作為一種工具包是否正確?如果這樣的話,我猜測 TensorFlow 是工具包而 Keras 是計算后端?二是你也提到 TensorFlow 與 Caffe 的整合,但為了支持 Keras 已經放棄了 Caffe。您能分享您為什么會這樣的原因嗎?是 Caffe不再可用,還是因為 Keras 有了更多功能?

對此,Adrian Rosebrock 回應道:

是的,Keras 本身依賴于 TensorFlow、Theano、CNTK 等后端來執行實際的計算。Caffe 仍存在,只是其他功能已經分解為 Caffe2 。TensorFlow 從未成為 Caffe 的一部分。我們仍使用 Caffe,尤其是研究人員。但從業者尤其是 Python 的從業者更喜歡編程友好的庫如 TensorFlow、Keras、PyTorch 或 mxnet。

對此,你又有何疑問或看法呢?歡迎留言。

責任編輯:張燕妮 來源: AI科技大本營
相關推薦

2013-05-30 13:30:00

代碼效率程序員

2011-11-23 14:40:36

程序員

2020-10-25 16:49:14

程序員跳槽公司

2021-02-16 23:43:53

深度學習人工智能IT

2018-06-29 16:04:40

2019-10-25 10:33:17

程序員技能開發者

2011-08-29 13:16:53

程序員

2011-12-15 09:47:12

API

2014-11-28 09:45:35

程序員

2015-04-10 19:37:34

程序員

2009-07-28 08:28:15

2009-03-20 10:06:21

程序員PHP職場

2009-03-02 09:40:13

程序員程序語言開發

2016-12-29 11:01:54

ReactVue

2019-07-05 10:53:55

ReactVue前端

2017-09-21 16:13:32

程序員工資機會

2009-02-27 09:25:28

編程語言程序員C#

2016-12-06 09:12:07

Java程序員

2014-03-27 11:10:46

程序員老程序員

2018-07-03 15:59:14

KerasPyTorch深度學習
點贊
收藏

51CTO技術棧公眾號

精品999在线| 爱情岛论坛亚洲品质自拍视频网站| 亚洲欧美日韩精品在线| 精品国产乱码久久久久久虫虫漫画| 成人全视频免费观看在线看| 国产一级二级视频| 欧美国产在线视频| 国产乱人伦偷精品视频免下载| 国产裸舞福利在线视频合集| 青青青免费在线| 亚洲国产成人久久综合一区| 国产剧情在线| 在线观看免费不卡av| 久久精品国产电影| 国产综合久久久久影院| av免费在线观看网站| 精品亚洲视频在线| 美女扒开尿口让男人操亚洲视频网站| 老司机午夜精品| 精品久久国产视频| 欧美做暖暖视频| 久久夜色精品国产欧美乱极品| 欧美午夜大胆人体| 97香蕉碰碰人妻国产欧美| 欧美在线视频一二三| 国产日韩av一区| 亚洲一区二区av| 日韩黄色三级视频| 日韩精品不卡| 日韩免费高清av| 久久综合九色综合欧美狠狠| 黄网页免费在线观看| 一级黄色免费视频| 国产精品普通话| 亚洲一区在线观看网站| 久久不见久久见国语| 极品久久久久久| 久久99精品久久久久子伦| 在线亚洲高清视频| 女人丝袜激情亚洲| 国产草草影院ccyycom| 那种视频在线观看| 精品少妇一区二区30p| 欧美激情一区三区| 性感美女一区二区在线观看| 亚洲欧美日韩精品在线| 亚洲国产欧美一区二区丝袜黑人| 麻豆成人综合网| 蜜桃精品在线| av黄色在线播放| 久久精品日韩精品| 精品少妇一区二区三区| 国产曰批免费观看久久久| 精品久久福利| 一级特黄aaaaaa大片| 三级a在线观看| 国产精品视频公开费视频| 黑丝美女久久久| 久久福利精品| 国内精品伊人| 国产精品视频a| 久久6免费视频| 91精品综合久久| 日韩欧美国产三级| 成人国产在线观看| 日韩高清影视在线观看| 欧美日本网站| 毛毛毛毛毛毛毛片123| 国产一区二区在线免费| 亚洲国产精品人人做人人爽| 国产成+人+综合+亚洲欧美| 精品国产青草久久久久96| xxx国产在线观看| 97人人澡人人爽| 精品香蕉在线观看视频一| 国产女人18水真多18精品一级做 | 国产三级三级三级精品8ⅰ区| 精品国产日韩欧美| 51xtv成人影院| 日韩在线播放中文字幕| 国产美女视频免费看| 国产欧美精品一区二区三区| 中文字幕亚洲欧美日韩高清| 一区二区三区在线免费播放| 高清国产一区二区三区四区五区| 亚洲精品久久久久久国| 日韩 欧美 视频| 精品国产拍在线观看| 久久精品一二三| 希岛爱理一区二区三区| 理论视频在线| 波多野结衣爱爱视频| 免费一级特黄录像| 国模精品娜娜一二三区| 欧美成年人视频网站| 国产精品99久久久久| 久久不见久久见免费视频7| 丁香花电影在线观看完整版| 亚洲最大成人在线视频| 波多野结衣一二三四区| 日本精品二区| 91精品国产91久久久| 五月天久久比比资源色| 国产成a人无v码亚洲福利| 日韩电影一区| 国产精品久久久久久久久久齐齐| 成人在线免费观看| 超碰在线免费97| 一区二区三区久久久久| 能在线观看的av网站| 日本免费一区二区三区| 国产成人精品日本亚洲| 在线观看视频99| 欧美肥妇毛茸茸| 亚洲婷婷综合久久一本伊一区| 精品在线你懂的| 女人色偷偷aa久久天堂| 超碰成人在线观看| 男人av在线播放| 91精品国自产| 成人性生交免费看| 中文字幕日韩精品久久| 97伦理在线四区| 26uuu另类亚洲欧美日本一| 欧美午夜精品免费| 亚洲青青青在线视频| 成人91在线观看| 人禽交欧美网站| 国产一区久久| 日本一区二区三区播放| 美丽的姑娘在线观看免费动漫| 国产一级片av| 精品少妇theporn| 国产精品久久久久久久av| 91精品国产三级| 日韩av播放器| 欧美精品自拍视频| 成人午夜电影免费在线观看| 日韩美女激情视频| 欧美国产日本高清在线 | 亚洲一区二区人妻| 国产成人愉拍精品久久| 天堂网中文在线观看| 亚洲蜜桃精久久久久久久久久久久| 国产精品自拍视频在线| 欧美s码亚洲码精品m码| 中文字幕在线中文字幕日亚韩一区| 久久精品女人的天堂av| 国产精品久久久久久久久久直播 | 亚洲一区二区三区四区五区中文 | 国产suv精品一区二区三区88区| 久久91精品国产91久久跳| www.xxxx精品| 最近更新的2019中文字幕| 尤物九九久久国产精品的特点| 日韩精品在线免费观看视频| 欧美精品一区二区精品网| 91麻豆精品国产自产在线观看一区| 色狠狠桃花综合| 在线观看日韩电影| 国产综合一区二区| 国产一区二区免费视频| 国产成人av电影在线观看| 国产精品小仙女| 成人精品国产一区二区4080| 成人动漫精品一区二区| 91美女视频网站| 国产精品久久久久久久久免费樱桃| 国产精品青草久久| 亚洲欧美日韩国产成人精品影院| 亚洲色图另类专区| 午夜激情一区二区| 日本一区二区三区四区| 国产精品久久久久国产精品日日 | 国产在线播放一区二区三区| 高清shemale亚洲人妖| 久久亚洲精品国产精品紫薇| 国产女同互慰高潮91漫画| 亚洲一区二区四区蜜桃| 一本到不卡精品视频在线观看| 欧美日韩激情一区二区三区| 精品国产免费人成电影在线观看四季| 日韩大片免费观看视频播放| 中文字幕亚洲激情| 欧美日韩国产精选| 亚洲成人a**站| 久久艹在线视频| 国产一区二区三区直播精品电影| 欧美性大战久久| 亚洲成人综合视频| 欧美亚洲禁片免费| 亚洲黄在线观看| 欧美激情第三页| 91在线视频成人| 中文字幕一区二区三区精彩视频| 国产精品专区在线| 佐佐木明希电影| 老熟妇高潮一区二区三区| 中文字幕一区三区久久女搜查官| 国产性猛交xx乱| 中文字幕+乱码+中文字幕明步| 欧美一区二区公司| sis001亚洲原创区| 国内精品偷拍| 国产日韩精品视频一区二区三区| 成人h版在线观看| 亚洲国产一区二区三区青草影视 | 免费99视频| 狠狠热免费视频| 91激情视频在线观看| 99久久精品久久亚洲精品| 男人天堂视频在线| 在线激情免费视频| 欧美aaaaaa| 美女100%一区| 色成人综合网| 成年人视频免费在线播放| 欧美精品资源| 国产一区二区亚洲| 理论片日本一区| 亚洲激情图片qvod| 精品少妇一区二区三区在线播放| 久久婷婷国产麻豆91天堂| 国产精品99久久99久久久二8| 免费看成人片| 午夜激情av在线| 青青草精品在线视频| 国产视频在线观看免费| 狂野欧美激情性xxxx欧美| 精品欧美午夜寂寞影院| 一二三区精品| 中文字幕日韩欧美一区二区三区| 91玉足脚交白嫩脚丫在线播放| 亚洲欧美一区二区三区国产精品| 欧美午夜不卡视频| 欧美精品手机在线| 日韩激情视频| 亚洲视频在线播放免费| 欧美三级免费看| 欧美拍拍视频| 国产日本亚洲| 久久精品麻豆| 午夜精品久久久久久久蜜桃app| 亚洲精品日韩久久久| 91亚洲精品一区| 高清一区二区三区视频| 国产免费999| 国产精品人人人人| 国产精品天堂| 欧美美女黄色| 国产成人精品免费| 欧美精品视频www在线观看| 97久久久久久| 成年人午夜免费视频| 亚洲 欧美 变态 另类 综合| 人成在线免费视频| 菁菁伊人国产精品| 国产精品一区二区视频| 在线电影欧美成精品| 久久综合免费视频| 制服丝袜综合日韩欧美| 香蕉久久久久久久| av影片免费在线观看| 成人三级视频| 91蝌蚪porny| 精品香蕉在线观看视频一| 激情视频一区二区| 一起草在线视频| 欧洲av在线播放| 亚洲v天堂v手机在线| 91亚洲国产成人精品一区二三 | 国产aⅴ激情无码久久久无码| 色网站免费观看| 亚洲欧洲国产精品一区| 成人动漫一区二区在线| 亚洲天堂网站在线观看视频| 偷拍视频一区二区| 国产馆在线观看| 黄色免费在线观看| 精品动漫3d一区二区三区免费版 | 蜜桃久久久久久| 91精品福利在线一区二区三区| 日韩有码在线视频| 一区二区在线观看网站| 久久国产在线视频| 久久野战av| 成人免费的视频| 亚洲人成在线观| 小说区视频区图片区| 国产真实乱人偷精品视频| 写真福利精品福利在线观看| 国产成人一二片| 欧美日韩国产欧| 国产v综合v亚洲欧| 日韩精品在线免费观看| 91动漫在线看| 国产成人三级在线观看视频| 欧美a级片一区| 不卡高清视频专区| 久久999免费视频| 日韩成人精品视频在线观看| 国产小视频在线| 蜜臀91精品一区二区三区| 亚洲午夜激情免费视频| 中文字幕久精品免| 成人精品免费在线观看| 精品欧美日韩精品| 99riav一区二区三区| 久久99国产精品自在自在app | 日韩精品1区2区| 91精品国产色综合久久不卡粉嫩| 99热99精品| 久久久久中文字幕2018| 中文字幕欧美人妻精品一区| 亚洲爱爱综合网| 一区二区中文| 欧美精品久久久久久久多人混战 | 日韩激情毛片| 亚洲成在人线免费| av在线不卡一区| 国产老头老太做爰视频| 午夜日韩成人影院| 欧美精品羞羞答答| 一本久久精品一区二区| 美国av一区二区三区| 亚洲日本视频在线观看| 亚洲动漫在线观看| 色婷婷香蕉在线一区二区| 日韩精品一区二区三区色偷偷| 亚洲国产成人无码av在线| 色婷婷狠狠五月综合天色拍| 日韩午夜免费| 精品视频中文字幕| 玖玖爱视频在线| 都市激情国产精品| 国产精品电影一区二区| 成人区精品一区二区| 中文字幕av第一页| 黄色av成人| 日韩中文字幕网| 在线免费观看日韩av| 日韩电影免费观| 亚洲色图欧美偷拍| 日本亚洲自拍| 欧美一区二区少妇| 国产精品影视网| 久久69精品久久久久久久电影好 | 日韩av电影免费观看| 国产精品人妻一区二区三区| 99国产精品久久久久久久成人热| 日韩中文字幕在线| 欧美乱大交做爰xxxⅹ小说| 看全色黄大色大片免费久久久| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩调教| 久久这里只有精品99| 波多野结衣a v在线| 成人免费91| 国产乱码精品一区二区三| 日韩av电影在线免费播放| 男人天堂中文字幕| 欧美激情麻豆| 欧美成人精品影院| 男人与禽猛交狂配| 亚洲字幕久久| 久久久在线免费观看| 日韩久久久久久久久| 亚洲精品在线二区| 7777精品视频| 黄色一级视频免费看| 亚洲一区二区三区四区五区午夜 | 欧美激情极品| 日韩国产中文字幕| www.欧美激情.com| 四虎影视在线观看2413| 中文幕一区二区三区久久蜜桃| 欧美日韩激情四射| 91精品论坛| 亚洲福利视频在线| 欧美精品videos极品| 九九国产精品视频| 亚洲 国产 日韩 综合一区| 欧美亚洲韩国| 日韩欧美高清在线| 999精品在线视频| 免费在线观看一区二区三区| 欧美激情第六页| 在线观看h网| 欧美视频免费在线观看| 激情在线观看视频| 粉嫩精品导航导航| 久久影院在线观看| 中文字幕一区二区三区波野结| 成人毛片视频在线观看| 一区二区在线观| 日韩欧美看国产| 日韩电影免费观看在线观看| 国产午夜福利一区| 久久亚洲精品伦理| 国产高清一区二区三区|