色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

構(gòu)建一個相對較小的圖像識別卷積神經(jīng)網(wǎng)絡

Tensorflowers ? 來源:cg ? 2018-12-19 10:59 ? 次閱讀

今天的文章是有關(guān) “高級卷積神經(jīng)” 的教程。我們希望您能夠以本文為起點,在 TensorFlow 上構(gòu)建更大的 CNN 來處理視覺任務。

概述

CIFAR-10 分類問題是機器學習領(lǐng)域一種常見的基準問題,其任務是將 RGB 32x32 像素的圖像分為以下 10 類:

airplane, automobile, bird, cat, deer, dog, frog, horse, ship, and truck.

有關(guān)詳情,請參閱CIFAR-10 頁面 (https://www.cs.toronto.edu/~kriz/cifar.html)及 Alex Krizhevsky 發(fā)表的一篇 技術(shù)報告 (https://tensorflow.google.cn/tutorials/images/deep_cnn?hl=zh-CN)。

目標

本文的目標是構(gòu)建一個相對較小的圖像識別卷積神經(jīng)網(wǎng)絡(CNN)。在此過程中,本文將:

重點介紹網(wǎng)絡架構(gòu)、訓練和評估的規(guī)范結(jié)構(gòu)

提供一個用于構(gòu)建更大、更為復雜的模型的模板

選擇 CIFAR-10 的原因是它足夠復雜,可以用來練習 TensorFlow 的大部分功能,進而擴展到大型模型。同時,該模型足夠小,可以快速訓練,是嘗試新想法以及實驗新技術(shù)的理想之選。

本文的要點

CIFAR-10 教程介紹了幾個用于在 TensorFlow 中設(shè)計更大、更為復雜的模型的重要結(jié)構(gòu):

核心數(shù)學組件,包括卷積(維基百科頁面)、修正線性激活函數(shù)(維基百科頁面)、最大池化(維基百科頁面)和局部響應歸一化(AlexNet 論文的第 3.3 節(jié))

訓練期間網(wǎng)絡活動(包括輸入圖像、損失以及激活函數(shù)和梯度的分布)的可視化

例行程序,用于計算已學參數(shù)的移動平均值,并在評估期間使用這些平均值提升預測性能

實施學習速率計劃(隨時間的推移系統(tǒng)性地降低)

輸入數(shù)據(jù)的預取隊列,使模型避開磁盤延遲和代價高的圖像預處理過程

此外,我們還提供了模型的多 GPU 版本,它會展示:

如何配置模型以跨多個 GPU 卡并行訓練

如何在多個 GPU 間共享和更新變量

模型架構(gòu)

本 CIFAR-10 教程中的模型是一個多層架構(gòu),由卷積層和非線性層交替排列后構(gòu)成。這些層后面是全連接層,然后通向 softmax 分類器。該模型除了最頂部的幾層外,基本跟Alex Krizhevsky描述的模型架構(gòu)一致。

在 GPU 上經(jīng)過幾個小時的訓練后,該模型的準確率達到峰值(約 86%)。詳情請參閱下文和相應代碼。模型中包含 1068298 個可學習參數(shù),對一張圖像進行推理計算大約需要 1950 萬個乘加操作。

代碼結(jié)構(gòu)

本教程使用的代碼位于models/tutorials/image/cifar10/中。

CIFAR-10 模型

CIFAR-10 網(wǎng)絡主要包含在cifar10.py中。完整的訓練圖大約包含 765 個操作。我們發(fā)現(xiàn),使用以下模塊構(gòu)建訓練圖可最大限度地提高代碼的重復使用率:

模型輸入:inputs()和distorted_inputs()分別可添加讀取和預處理 CIFAR 圖像以用于評估和訓練的操作

模型預測:inference()可添加對提供的圖像進行推理(即分類)的操作

模型訓練:loss()和train()可添加計算損失和梯度、更新變量和呈現(xiàn)可視化匯總的操作

模型輸入

模型的輸入部分由inputs()和distorted_inputs()函數(shù)構(gòu)建,這兩種函數(shù)會從 CIFAR-10 二進制數(shù)據(jù)文件中讀取圖像。這些文件包含字節(jié)長度固定的記錄,因此我們可以使用tf.FixedLengthRecordReader。如需詳細了解Reader類的工作原理,請參閱 讀取數(shù)據(jù)(https://tensorflow.google.cn/api_guides/python/reading_data?hl=zh-CN#reading-from-files)。

圖像按以下方式處理:

中心(用于評估)或隨機(用于訓練)剪裁成 24 x 24 像素

進行近似白化處理,使模型對圖像的動態(tài)范圍變化不敏感

對于訓練,我們還會額外向圖像應用一系列隨機失真,以人為增加數(shù)據(jù)集的大小:

從左到右隨機翻轉(zhuǎn)圖像

隨機對圖像亮度進行失真處理

隨機對圖像對比度進行失真處理

要查看可采用的失真列表,請訪問圖像頁面(https://tensorflow.google.cn/api_guides/python/image?hl=zh-CN)。此外,我們還向圖像附加了tf.summary.image,以便在TensorBoard中可視化它們。這對驗證輸入的構(gòu)建是否正確十分有用。

從磁盤讀取圖像并進行失真處理需要不少時間。為了防止這些操作影響訓練速度,我們在 16 個獨立的線程中執(zhí)行這些操作,而這些線程會不斷填充一個 TensorFlow隊列。

模型預測

模型的預測部分由inference()函數(shù)構(gòu)建,該函數(shù)可添加計算預測對數(shù)的操作。模型這一部分的結(jié)構(gòu)如下:

下圖是從 TensorBoard 生成的圖表,描述了推理操作的過程:

練習:inference的輸出為非歸一化對數(shù)。請嘗試使用tf.nn.softmax修改網(wǎng)絡架構(gòu)以返回歸一化預測結(jié)果。

inputs()和inference()函數(shù)提供了評估模型所需的所有組件。我們現(xiàn)在將重點轉(zhuǎn)向構(gòu)建訓練模型所需的操作。

練習:inference()中的模型架構(gòu)與cuda-convnet中指定的 CIFAR-10 模型的架構(gòu)略有不同。具體而言,Alex 的初始模型的頂層是局部連接層,而非全連接層。請嘗試修改架構(gòu)以在頂層中完全重現(xiàn)局部連接層。

模型訓練

訓練網(wǎng)絡執(zhí)行 N 元分類的常用方法是多項邏輯回歸(又稱 Softmax 回歸)。Softmax 回歸向網(wǎng)絡輸出應用Softmax非線性函數(shù),并計算歸一化預測與標簽索引之間的交叉熵。在正則化過程中,我們還會對所有已學變量應用常見的權(quán)重衰減損失。模型的目標函數(shù)是求交叉熵損失和所有權(quán)重衰減項的和并由loss()函數(shù)返回。

我們通過tf.summary.scalar在 TensorBoard 中對其進行可視化:

我們使用標準的梯度下降法訓練模型(有關(guān)其他方法,請參閱 訓練https://github.com/tensorflow/docs/tree/master/site/en/api_guides/python),其中學習速率隨時間的推移呈指數(shù)級衰減。

train()函數(shù)會添加一些最小化目標所需的操作,包括計算梯度、更新學習變量(詳情請參閱tf.train.GradientDescentOptimizerhttps://tensorflow.google.cn/api_docs/python/tf/train/GradientDescentOptimizer?hl=zh-CN)。它會返回一項用以對一批圖像執(zhí)行所有計算的操作,以便訓練并更新模型。

啟動并訓練模型

我們已構(gòu)建了模型,現(xiàn)在使用腳本cifar10_train.py啟動該模型并執(zhí)行訓練操作。

python cifar10_train.py

注意:首次運行 CIFAR-10 教程中的任何目標時,系統(tǒng)都會自動下載 CIFAR-10 數(shù)據(jù)集。該數(shù)據(jù)集大約為 160MB,因此首次運行時您可以喝杯咖啡小棲一會。

您應該會看到以下輸出:

Filling queue with 20000 CIFAR images before starting to train. This will take a few minutes.

2015-11-04 11:45:45.927302: step 0, loss = 4.68 (2.0 examples/sec; 64.221 sec/batch)2015-11-04 11:45:49.133065: step 10, loss = 4.66 (533.8 examples/sec; 0.240 sec/batch)2015-11-04 11:45:51.397710: step 20, loss = 4.64 (597.4 examples/sec; 0.214 sec/batch)2015-11-04 11:45:54.446850: step 30, loss = 4.62 (391.0 examples/sec; 0.327 sec/batch)2015-11-04 11:45:57.152676: step 40, loss = 4.61 (430.2 examples/sec; 0.298 sec/batch)2015-11-04 11:46:00.437717: step 50, loss = 4.59 (406.4 examples/sec; 0.315 sec/batch)...

該腳本每隔 10 步報告一次總損失值及最后一批數(shù)據(jù)的處理速度。需要注意以下幾點:

第一批數(shù)據(jù)的處理速度可能會非常慢(例如,需要幾分鐘),因為預處理線程需要將 20000 張?zhí)幚磉^的 CIFAR 圖像填充到隨機化處理隊列中

報告的損失是最近一批數(shù)據(jù)的平均損失。請注意,該損失是交叉熵和所有權(quán)重衰減項的和

請留意一批數(shù)據(jù)的處理速度。上述數(shù)字是在 Tesla K40c 上得出的結(jié)果。如果您是在 CPU 上運行,速度可能會慢些

練習:進行實驗時,有時候第一個訓練步持續(xù)時間比較長。請嘗試減少最初填充隊列的圖像數(shù)量。在cifar10_input.py中搜索min_fraction_of_examples_in_queue。

cifar10_train.py會定期將所有模型參數(shù)保存在檢查點文件中,但不會對模型進行評估。cifar10_eval.py將使用檢查點文件衡量預測性能(請參閱下文中的評估模型部分)。

如果您按照上述步驟進行操作,那么現(xiàn)在已開始訓練 CIFAR-10 模型了。恭喜!

cifar10_train.py返回的終端文本幾乎不提供任何有關(guān)模型訓練情況的信息。我們希望在訓練期間更深入地了解模型的以下信息:

損失是真的在減小,還是只是噪點?

為模型提供的圖像是否合適?

梯度、激活函數(shù)和權(quán)重的值是否合理?

當前的學習速率是多少?

TensorBoard可提供此功能,它會通過tf.summary.FileWriter顯示定期從cifar10_train.py導出的數(shù)據(jù)。

例如,我們可以觀看local3特征中激活函數(shù)的分步及稀疏程度在訓練過程中的變化情況:

跟蹤各個損失函數(shù)以及總損失在不同時間段的情況尤為有用。不過,由于訓練所用的批次較小,因此損失中夾雜的噪點相當多。在實踐中,我們發(fā)現(xiàn)除了原始值之外,可視化損失的移動平均值也非常有用。了解腳本如何將tf.train.ExponentialMovingAverage用于此用途。

評估模型

現(xiàn)在,我們來評估一下經(jīng)過訓練的模型在保留數(shù)據(jù)集上的表現(xiàn)如何。該模型由腳本cifar10_eval.py進行評估。它通過inference()函數(shù)構(gòu)建模型,并使用 CIFAR-10 評估數(shù)據(jù)集中的全部 10000 張圖像。它會計算 precision @ 1,表示得分最高的一項預測與圖像的真實標簽一致的頻率。

為了監(jiān)控模型在訓練過程中的改進情況,評估腳本會定期在cifar10_train.py創(chuàng)建的最新檢查點文件上運行。

python cifar10_eval.py

注意不要在同一 GPU 上同時運行評估和訓練二進制文件,否則可能會耗盡內(nèi)存。您可以考慮在其他 GPU(如可用)上單獨運行評估二進制文件,或在同一 GPU 上運行評估二進制文件時暫停訓練二進制文件的運行。

您應該會看到以下輸出:

2015-11-06 08:30:44.391206: precision @ 1 = 0.860...

該腳本只是定期返回 precision @ 1,在本例中,返回的準確率為 86%。cifar10_eval.py還會導出可以在 TensorBoard 中可視化的匯總。在評估期間,您可通過這些匯總進一步了解模型。

訓練腳本會計算所有已學變量的移動平均值。評估腳本會將所有已學模型參數(shù)替換為移動平均值。這種替換可以在評估時提升模型的性能。

練習:根據(jù) precision @ 1,采用平均參數(shù)可以使預測性能提升 3% 左右。修改cifar10_eval.py,使模型不采用平均參數(shù),然后驗證預測性能是否會下降。

使用多個 GPU 卡訓練模型

現(xiàn)代工作站可能會包含多個用于科學計算的 GPU。TensorFlow 可利用此環(huán)境在多個卡上同時運行訓練操作。

如果要以并行的分布式方式訓練模型,則需要協(xié)調(diào)訓練過程。在接下來的內(nèi)容中,術(shù)語 “模型副本” 指在數(shù)據(jù)子集上訓練的模型副本。

簡單地采用模型參數(shù)異步更新方法會導致訓練性能無法達到最佳,因為單個模型副本在訓練時使用的可能是過時的模型參數(shù)。反之,如果采用完全同步的更新后參數(shù),其速度堪比最慢的模型副本。

在具有多個 GPU 卡的工作站中,每個 GPU 的速度大致相當,且具有足夠的內(nèi)存來運行整個 CIFAR-10 模型。因此,我們選擇按照以下方式設(shè)計訓練系統(tǒng):

在每個 GPU 上放一個模型副本

等待所有 GPU 完成一批數(shù)據(jù)的處理工作,然后同步更新模型參數(shù)

模型示意圖如下所示:

請注意,每個 GPU 都會針對一批唯一的數(shù)據(jù)計算推理和梯度。這種設(shè)置可以有效地將一大批數(shù)據(jù)劃分到各個 GPU 上。

這種設(shè)置要求所有 GPU 都共享模型參數(shù)。眾所周知,將數(shù)據(jù)傳輸?shù)?GPU 或從中向外傳輸數(shù)據(jù)的速度非常慢。因此,我們決定在 CPU 上存儲和更新所有模型參數(shù)(如綠色方框所示)。當所有 GPU 均處理完一批新數(shù)據(jù)時,系統(tǒng)會將一組全新的模型參數(shù)傳輸給相應 GPU。

GPU 會同步運行。GPU 的所有梯度將累積并求平均值(如綠色方框所示)。模型參數(shù)會更新為所有模型副本的梯度平均值。

將變量和操作放到多個設(shè)備上

將操作和變量放到多個設(shè)備上需要一些特殊的抽象操作。

第一個抽象操作是計算單個模型副本的推理和梯度的函數(shù)。在代碼中,我們將此抽象操作稱為 “tower”。我們必須為每個 tower 設(shè)置兩個屬性:

tower 中所有操作的唯一名稱。tf.name_scope通過添加作用域前綴提供唯一的名稱。例如,第一個 tower 中的所有操作都會附帶tower_0前綴,例如tower_0/conv1/Conv2D

運行 tower 中操作的首選硬件設(shè)備。tf.device會指定該屬性。例如,第一個 tower 中的所有操作都位于device('/device:GPU:0')作用域內(nèi),表示它們應在第一個 GPU 上運行

為了在多 GPU 版本中共享變量,所有變量都固定到 CPU 上且通過tf.get_variable訪問。了解如何共享變量。

在多個 GPU 卡上啟動并訓練模型

如果計算機上安裝了多個 GPU 卡,您可以使用cifar10_multi_gpu_train.py腳本借助它們加快模型的訓練過程。此版訓練腳本可在多個 GPU 卡上并行訓練模型。

python cifar10_multi_gpu_train.py --num_gpus=2

請注意,使用的 GPU 卡數(shù)量默認為 1。此外,如果計算機上僅有一個 GPU,則所有計算都會在該 GPU 上運行,即使您設(shè)置的是多個 GPU。

練習:cifar10_train.py的默認設(shè)置是在大小為 128 的批次數(shù)據(jù)上運行。請嘗試在 2 個 GPU 上運行cifar10_multi_gpu_train.py,批次大小為 64,然后比較這兩種方式的訓練速度。

后續(xù)學習計劃

如果您有興趣開發(fā)并訓練您自己的圖像分類系統(tǒng),我們建議您分叉本教程的代碼,并替換組件以解決您的圖像分類問題。

練習:下載Street View House Numbers (SVHN)數(shù)據(jù)集(http://ufldl.stanford.edu/housenumbers/)。分叉 CIFAR-10 教程的代碼并將輸入數(shù)據(jù)替換為 SVHN。嘗試調(diào)整網(wǎng)絡架構(gòu)以提高預測性能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡

    關(guān)注

    42

    文章

    4771

    瀏覽量

    100715
  • 圖像識別
    +關(guān)注

    關(guān)注

    9

    文章

    520

    瀏覽量

    38267

原文標題:TensorFlow 中的高級卷積神經(jīng)網(wǎng)絡

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用Python卷積神經(jīng)網(wǎng)絡(CNN)進行圖像識別的基本步驟

    Python 卷積神經(jīng)網(wǎng)絡(CNN)在圖像識別領(lǐng)域具有廣泛的應用。通過使用卷積神經(jīng)網(wǎng)絡,我們可以讓計算機從
    的頭像 發(fā)表于 11-20 11:20 ?6098次閱讀

    【uFun試用申請】基于cortex-m系列核和卷積神經(jīng)網(wǎng)絡算法的圖像識別

    項目名稱:基于cortex-m系列核和卷積神經(jīng)網(wǎng)絡算法的圖像識別試用計劃:本人在圖像識別領(lǐng)域有三年多的學習和開發(fā)經(jīng)驗,曾利用nesys4ddr的fpga開發(fā)板,設(shè)計過基于cortex-
    發(fā)表于 04-09 14:12

    基于賽靈思FPGA的卷積神經(jīng)網(wǎng)絡實現(xiàn)設(shè)計

    FPGA 上實現(xiàn)卷積神經(jīng)網(wǎng)絡 (CNN)。CNN 是類深度神經(jīng)網(wǎng)絡,在處理大規(guī)模圖像識別任務以及與機器學習類似的其他問題方面已大獲成功。
    發(fā)表于 06-19 07:24

    卷積神經(jīng)網(wǎng)絡簡介:什么是機器學習?

    ,用于描述網(wǎng)絡的方程中也有 32 偏差和 32 權(quán)重。CIFAR神經(jīng)網(wǎng)絡種廣泛用于圖像識別
    發(fā)表于 02-23 20:11

    基于特征交換的卷積神經(jīng)網(wǎng)絡圖像分類算法

    針對深度學習在圖像識別任務中過分依賴標注數(shù)據(jù)的問題,提岀種基于特征交換的卷積神經(jīng)網(wǎng)絡(CNN)圖像分類算法。結(jié)合CNN的特征提取方式與全
    發(fā)表于 03-22 14:59 ?27次下載
    基于特征交換的<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡圖像</b>分類算法

    卷積神經(jīng)網(wǎng)絡的應用 卷積神經(jīng)網(wǎng)絡通常用來處理什么

    神經(jīng)網(wǎng)絡卷積神經(jīng)網(wǎng)絡廣泛用于圖像識別、自然語言處理、視頻處理等方面。本文將對卷積神經(jīng)網(wǎng)絡的應用
    的頭像 發(fā)表于 08-21 16:41 ?4947次閱讀

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點?
    的頭像 發(fā)表于 08-21 16:41 ?2942次閱讀

    卷積神經(jīng)網(wǎng)絡如何識別圖像

    卷積神經(jīng)網(wǎng)絡如何識別圖像? 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networ
    的頭像 發(fā)表于 08-21 16:49 ?1925次閱讀

    卷積神經(jīng)網(wǎng)絡應用領(lǐng)域

    卷積神經(jīng)網(wǎng)絡應用領(lǐng)域 卷積神經(jīng)網(wǎng)絡(CNN)是種廣泛應用于圖像、視頻和自然語言處理領(lǐng)域的深度學
    的頭像 發(fā)表于 08-21 16:49 ?4463次閱讀

    卷積神經(jīng)網(wǎng)絡算法比其他算法好嗎

    卷積神經(jīng)網(wǎng)絡算法比其他算法好嗎 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks, CNN)是種用于
    的頭像 發(fā)表于 08-21 16:49 ?701次閱讀

    圖像識別卷積神經(jīng)網(wǎng)絡模型

    圖像識別卷積神經(jīng)網(wǎng)絡模型 隨著計算機技術(shù)的快速發(fā)展和深度學習的迅速普及,圖像識別卷積神經(jīng)網(wǎng)絡模型
    的頭像 發(fā)表于 08-21 17:11 ?838次閱讀

    cnn卷積神經(jīng)網(wǎng)絡算法 cnn卷積神經(jīng)網(wǎng)絡模型

    cnn卷積神經(jīng)網(wǎng)絡算法 cnn卷積神經(jīng)網(wǎng)絡模型 卷積神經(jīng)網(wǎng)絡(CNN)是
    的頭像 發(fā)表于 08-21 17:15 ?2076次閱讀

    神經(jīng)網(wǎng)絡圖像識別中的應用

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡圖像識別領(lǐng)域的應用日益廣泛。神經(jīng)網(wǎng)絡以其強大的特征提取和分類能力,為圖像識別帶來了革命性的進步。本文將詳細介紹
    的頭像 發(fā)表于 07-01 14:19 ?671次閱讀

    卷積神經(jīng)網(wǎng)絡圖像識別中的應用

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks, CNNs)是種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。 1.
    的頭像 發(fā)表于 07-02 14:28 ?1084次閱讀

    卷積神經(jīng)網(wǎng)絡有何用途 卷積神經(jīng)網(wǎng)絡通常運用在哪里

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,簡稱CNN)是種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理、生物信息學等領(lǐng)域。本文將介紹
    的頭像 發(fā)表于 07-11 14:43 ?2299次閱讀
    主站蜘蛛池模板: 精品日韩欧美一区二区三区| 亚洲444777KKK在线观看| 嫩小性性性xxxxbbbb| 久久热在线视频精品| 精品国产人妻国语| 久久久久影视| 嫩小性性性xxxxbbbb| 日韩精品无码免费专区| 乳欲性高清在线| 小萝ar视频网站| 亚洲色综合中文字幕在线| 伊人影院网| 91麻豆精品一二三区在线| WWW国产亚洲精品久久| 丰满大爆乳波霸奶| 精子射到丝袜上图| 嗯 用力啊 嗯 c我 啊哈老师| 青青草在线视频| 亚洲 自拍 欧洲 视频二区| 云南14学生真实初次破初视频| 3D漫画H精品啪啪无码| 白丝制服被啪到喷水很黄很暴力| 国产精品久久毛片A片软件爽爽| 黄瓜视频苹果直接安装| 欧美精品AV一区二区无码| 无码AV动漫精品一区二区免费| 亚洲欧美日韩精品自拍| 99精品AV无码一区二区| 骚妇BB双飞插| 伊人影院综合| 国产精品久久久久久久久齐齐 | 99久久久无码国产精品不卡按摩| 网友自拍成人在线视频| 午夜福利体验免费体验区| 我强进了老师身体在线观看 | av影音先锋天堂网| 国产女人视频免费观看| 欧美一级久久久久久久大| 性色AV一区二区三区咪爱四虎| 4399日本电影完整版在线观看免费| 动漫女主被扒开双腿羞辱|