色综合中文综合网_性猛交娇小69hd_久久精品99久久久久久_欧美日韩精品一区二区三区四区 _97视频色精品_国产高清精品久久久久_日日鲁鲁鲁夜夜爽爽狠狠视频97 _国产成人免费视频精品含羞草妖精 _熟女少妇在线视频播放_精品人妻一区二区三区麻豆91 _久久女同性恋中文字幕_一区二区福利视频

PaddlePaddle升級解讀 | PaddleHub輕松完成遷移學習

引言

遷移學習(Transfer Learning)是屬于深度學習的一個子研究領域,該研究領域的目標在于利用數據、任務、或模型之間的相似性,將在舊領域學習過的知識,遷移應用于新領域中。遷移學習吸引了很多研究者投身其中,因為它能夠很好的解決深度學習中的以下幾個問題:

一些研究領域只有少量標注數據,且數據標注成本較高,不足以訓練一個足夠魯棒的神經網絡

大規模神經網絡的訓練依賴于大量的計算資源,這對于一般用戶而言難以實現

應對于普適化需求的模型,在特定應用上表現不盡如人意

為了讓開發者更便捷地應用遷移學習,百度PaddlePaddle開源了預訓練模型管理工具PaddleHub。開發者用使用僅僅十余行的代碼,就能完成遷移學習。本文將為讀者全面介紹PaddleHub并介紹其應用方法。

項目地址:
https://github.com/PaddlePaddle/PaddleHub

PaddleHub介紹

PaddleHub是基于PaddlePaddle開發的預訓練模型管理工具,可以借助預訓練模型更便捷地開展遷移學習工作,旨在讓PaddlePaddle生態下的開發者更便捷體驗到大規模預訓練模型的價值。

PaddleHub目前的預訓練模型覆蓋了圖像分類、目標檢測、詞法分析、Transformer、情感分析五大類別。 未來會持續開放更多類型的深度學習模型,如語言模型、視頻分類、圖像生成等預訓練模型。PaddleHub的功能全景如圖1所示。

圖1 PaddleHub功能全景

PaddleHub主要包括兩個功能:命令行工具和Fine-tune API。

命令行工具

PaddleHub借鑒了Anaconda和PIP等軟件包管理的理念,開發了命令行工具,可以方便快捷的完成模型的搜索、下載、安裝、預測等功能,對應的關鍵的命令分別是search,download,install,run等。我們以run命令為例,介紹如何通過命令行工具進行預測。

Run命令用于執行Module的預測,這里分別舉一個NLP和CV的例子。

對于NLP任務:輸入數據通過—input_text指定。以百度LAC模型(中文詞法分析)為例,可以通過以下命令實現單行文本分析。

# 單文本預測

$ hub run lac –input_text “今天是個好日子”

對于CV任務:

輸入數據通過—input_path指定。以SSD模型(單階段目標檢測)為例子,可以通過以下命令實現單張圖片的預測

# 使用SSD檢測模型對圖片進行目標檢測,第一條命令是下載圖片,第二條命令是執行預測,用戶也可以自

# 己準備圖片

$ wget –no-check-certificate https://paddlehub.bj.bcebos.com/resources/test_img_bird.jpg

$ hub run ssd_mobilenet_v1_pascal –input_path test_img_bird.jpg

更多的命令用法,請讀者參考文首的Github項目鏈接。

Fine-tune API:

PaddleHub提供了基于PaddlePaddle實現的Fine-tune API, 重點針對大規模預訓練模型的Fine-tune任務做了高階的抽象,讓預訓練模型能更好服務于用戶特定場景的應用。通過大規模預訓練模型結合Fine-tune,可以在更短的時間完成模型的收斂,同時具備更好的泛化能力。PaddleHub API的全景如圖2所示。

圖2 PaddleHub Fine-tune API全景

Fine-tune?:對一個Task進行Fine-tune,并且定期進行驗證集評估。在Fine-tune的過程中,接口會定期的保存checkpoint(模型和運行數據),當運行被中斷時,通過RunConfig指定上一次運行的checkpoint目錄,可以直接從上一次運行的最后一次評估中恢復狀態繼續運行。

遷移任務Task:在PaddleHub中,Task代表了一個Fine-tune的任務。任務中包含了執行該任務相關的program以及和任務相關的一些度量指標(如分類準確率accuracy、precision、 recall、 F1-score等)、模型損失等。

運行配置 RunConfig:在PaddleHub中,RunConfig代表了在對Task進行Fine-tune時的運行配置。包括運行的epoch次數、batch的大小、是否使用GPU訓練等。

優化策略Strategy:在PaddleHub中,Strategy類封裝了一系列適用于遷移學習的Fine-tune策略。Strategy包含了對預訓練參數使用什么學習率變化策略,使用哪種類型的優化器,使用什么類型的正則化等。

預訓練模型Module?:Module代表了一個可執行的模型。這里的可執行指的是,Module可以直接通過命令行hub run ${MODULE_NAME}執行預測,或者通過context接口獲取上下文后進行Fine-tune。在生成一個Module時,支持通過名稱、url或者路徑創建Module。

數據預處理Reader?:PaddleHub的數據預處理模塊Reader對常見的NLP和CV任務進行了抽象。

數據集Dataset:PaddleHub提供多種NLP任務和CV任務的數據集,可供用戶載,用戶也可以在自定義數據集上完成Fine-tune。

基于以上介紹的PaddleHub兩大功能,用戶可以實現:
無需編寫代碼,一鍵使用預訓練模型進行預測;
通過hub download命令,快速地獲取PaddlePaddle生態下的所有預訓練模型;
借助PaddleHub Fine-tune API,使用少量代碼完成遷移學習。

以下將從實戰角度,教你如何使用PaddleHub進行圖像分類遷移。

PaddleHub實戰

1. 安裝

PaddleHub是基于PaddlePaddle的預訓練模型管理框架,使用PaddleHub前需要先安裝PaddlePaddle,如果你本地已經安裝了CPU或者GPU版本的PaddlePaddle,那么可以跳過以下安裝步驟。

$ pip install paddlepaddle? #CPU安裝命令

或者

$ pip install paddlepaddle-gpu # GPU安裝

推薦使用大于1.4.0版本的PaddlePaddle。
通過以下命令來安裝PaddleHub
$ pip install paddlehub

2. 選擇合適的模型

首先導入必要的python包

# -*- coding: utf8 -*-

import paddlehub as hubimport paddle.fluid as fluid

接下來我們要在PaddleHub中選擇合適的預訓練模型來Fine-tune,由于貓狗分類是一個圖像分類任務,因此我們使用經典的ResNet-50作為預訓練模型。PaddleHub提供了豐富的圖像分類預訓練模型,包括了最新的神經網絡架構搜索類的PNASNet,我們推薦你嘗試不同的預訓練模型來獲得更好的性能。

module_map = {
“resnet50”: “resnet_v2_50_imagenet”,
“resnet101”: “resnet_v2_101_imagenet”,
“resnet152”: “resnet_v2_152_imagenet”,
“mobilenet”: “mobilenet_v2_imagenet”,
“nasnet”: “nasnet_imagenet”,
“pnasnet”: “pnasnet_imagenet”
}

module_name = module_map[“resnet50”]
module = hub.Module(name = module_name)

3. 數據準備

接著需要加載圖片數據集。為了快速體驗,我們直接加載PaddleHub提供的貓狗分類數據集,如果想要使用自定義的數據進行體驗,請查看自定義數據。

# 直接用PaddleHub提供的數據集

dataset = hub.dataset.DogCat()

4.自定義數據

本節說明如何組裝自定義的數據,如果想使用貓狗數據集進行體驗,可以直接跳過本節。
使用自定義數據時,我們需要自己切分數據集,將數據集且分為訓練集、驗證集和測試集。
同時使用三個文本文件來記錄對應的圖片路徑和標簽,此外還需要一個標簽文件用于記錄標簽的名稱。
├─data: 數據目錄
├─train_list.txt:訓練集數據列表
├─test_list.txt:測試集數據列表
├─validate_list.txt:驗證集數據列表
├─label_list.txt:標簽列表
└─……
訓練/驗證/測試集的數據列表文件的格式如下
圖片1路徑 圖片1標簽
圖片2路徑 圖片2標簽

標簽列表文件的格式如下
分類1名稱
分類2名稱

使用如下的方式進行加載數據,生成數據集對象

注意事項:

  1. num_labels要填寫實際的分類數量,如貓狗分類該字段值為2,food101該字段值為101,下文以2為例子
  2. base_path為數據集實際路徑,需要填寫全路徑,下文以/test/data為例子
  3. 訓練/驗證/測試集的數據列表文件中的圖片路徑需要相對于base_path的相對路徑,例如圖片的實際位置為/test/data/dog/dog1.jpg,base_path為/test/data,則文件中填寫的路徑應該為dog/dog1.jpg

    # 使用本地數據集

    dataset = MyDataSet()

    class MyDataSet(hub.dataset.basecvdataset.ImageClassificationDataset):
    def __init
    (self):
    self.base_path = “/test/data”
    self.train_list_file = “train_list.txt”
    self.test_list_file = “test_list.txt”
    self.validate_list_file = “validate_list.txt”
    self.label_list_file = “label_list.txt”
    self.label_list = None
    self.num_labels = 2

5.生成Reader

接著生成一個圖像分類的reader,reader負責將dataset的數據進行預處理,接著以特定格式組織并輸入給模型進行訓練。
當我們生成一個圖像分類的reader時,需要指定輸入圖片的大小

data_reader = hub.reader.ImageClassificationReader(
image_width=module.get_expected_image_width(),
image_height=module.get_expected_image_height(),
images_mean=module.get_pretrained_images_mean(),
images_std=module.get_pretrained_images_std(),
dataset=dataset)

6.組建Fine-tune Task

有了合適的預訓練模型和準備要遷移的數據集后,我們開始組建一個Task。

由于貓狗分類是一個二分類的任務,而我們下載的cv_classifer_module是在ImageNet數據集上訓練的千分類模型,所以我們需要對模型進行簡單的微調,把模型改造為一個二分類模型:

  1. 獲取cv_classifer_module的上下文環境,包括輸入和輸出的變量,以及Paddle Program;
  2. 從輸出變量中找到特征圖提取層feature_map;
  3. 在feature_map后面接入一個全連接層,生成Task;
    input_dict, output_dict, program = module.context(trainable=True)

img = input_dict[“image”]
feature_map = output_dict[“feature_map”]

task = hub.create_img_cls_task(
feature=feature_map, num_classes=dataset.num_labels)

feed_list = [img.name, task.variable(“label”).name]

7.選擇運行時配置

在進行Fine-tune前,我們可以設置一些運行時的配置,例如如下代碼中的配置,表示:

use_cuda:設置為False表示使用CPU進行訓練。如果本機支持GPU,且安裝的是GPU版本的PaddlePaddle,我們建議你將這個選項設置為True;

epoch:要求Fine-tune的任務只遍歷1次訓練集;

batch_size:每次訓練的時候,給模型輸入的每批數據大小為32,模型訓練時能夠并行處理批數據,因此batch_size越大,訓練的效率越高,但是同時帶來了內存的負荷,過大的batch_size可能導致內存不足而無法訓練,因此選擇一個合適的batch_size是很重要的一步;

log_interval:每隔10 step打印一次訓練日志;

eval_interval:每隔50 step在驗證集上進行一次性能評估;

checkpoint_dir:將訓練的參數和數據保存到cv_Fine-tune_turtorial_demo目錄中;

strategy:使用DefaultFine-tuneStrategy策略進行Fine-tune;

更多運行配置,請查看文首的Github項目鏈接。

config = hub.RunConfig(
use_cuda=False,
num_epoch=1,
checkpoint_dir=”cv_finetune_turtorial_demo”,
batch_size=32,
log_interval=10,
eval_interval=50,
strategy=hub.finetune.strategy.DefaultFinetuneStrategy())

8.開始Fine-tune

我們選擇Fine-tune_and_eval接口來進行模型訓練,這個接口在Fine-tune的過程中,會周期性的進行模型效果的評估,以便我們了解整個訓練過程的性能變化。

hub.finetune_and_eval(
task, feed_list=feed_list, data_reader=data_reader, config=config)

9.查看訓練過程的效果

訓練過程中的性能數據會被記錄到本地,我們可以通過visualdl來可視化這些數據。
我們在shell中輸入以下命令來啟動visualdl,其中${HOST_IP}為本機IP,需要用戶自行指定

$ visualdl —logdir ./ cv_finetune_turtorial_demo/vdllog —host ${HOST_IP} —port 8989

啟動服務后,我們使用瀏覽器訪問${HOST_IP}:8989,可以看到訓練以及預測的loss曲線和accuracy曲線,如下圖所示。

10.使用模型進行預測

當Fine-tune完成后,我們使用模型來進行預測,整個預測流程大致可以分為以下幾步:

  1. 構建網絡
  2. 生成預測數據的Reader
  3. 切換到預測的Program
  4. 加載預訓練好的參數
  5. 運行Program進行預測

通過以下命令來獲取測試的圖片(適用于貓狗分類的數據集)

$ wget —no-check-certificate?https://PaddleHub.bj.bcebos.com/resources/test_img_cat.jpg
$ wget —no-check-certificate?https://PaddleHub.bj.bcebos.com/resources/test_img_dog.jpg

注意:其他數據集所用的測試圖片請自行準備
完整預測代碼如下:

import os
import numpy as np
import paddle.fluid as fluid
import paddlehub as hub

# Step 1: build Program

module_map = {
“resnet50”: “resnet_v2_50_imagenet”,
“resnet101”: “resnet_v2_101_imagenet”,
“resnet152”: “resnet_v2_152_imagenet”,
“mobilenet”: “mobilenet_v2_imagenet”,
“nasnet”: “nasnet_imagenet”,
“pnasnet”: “pnasnet_imagenet”
}

module_name = module_map[“resnet50”]
module = hub.Module(name = module_name)
input_dict, output_dict, program = module.context(trainable=False)
img = input_dict[“image”]
feature_map = output_dict[“feature_map”]

dataset = hub.dataset.DogCat()
task = hub.create_img_cls_task(
feature=feature_map, num_classes=dataset.num_labels)
feed_list = [img.name]

# Step 2: create data reader

data = [
“test_img_dog.jpg”,
“test_img_cat.jpg”
]

data_reader = hub.reader.ImageClassificationReader(
image_width=module.get_expected_image_width(),
image_height=module.get_expected_image_height(),
images_mean=module.get_pretrained_images_mean(),
images_std=module.get_pretrained_images_std(),
dataset=None)

predict_reader = data_reader.data_generator(
phase=”predict”, batch_size=1, data=data)

label_dict = dataset.label_dict()

# Step 3: switch to inference program

with fluid.program_guard(task.inference_program()):

# Step 4: load pretrained parameters
place = fluid.CPUPlace()
exe = fluid.Executor(place)
pretrained_model_dir = os.path.join("cv_finetune_turtorial_demo", "best_model")
fluid.io.load_persistables(exe, pretrained_model_dir)
feeder = fluid.DataFeeder(feed_list=feed_list, place=place)
# Step 5: predict
for index, batch in enumerate(predict_reader()):
    result, = exe.run(
        feed=feeder.feed(batch), fetch_list=[task.variable('probs')])
    predict_result = np.argsort(result[0])[::-1][0]
    print("input %i is %s, and the predict result is %s" %
          (index+1, data[index], label_dict[predict_result]))
版權所有,未經授權不得以任何形式轉載及使用,違者必究。
精品久久无码中文字幕| 亚洲另类一区二区| 国产高清精品久久久久| 午夜福利123| 国产一区二区看久久| 久久免费高清视频| 欧美三级资源在线| 91久久精品国产91久久性色| 日本三级日本三级日本三级极| 国产乱国产乱老熟300| 91日韩中文字幕| 一区二区三区在线免费视频| 热舞福利精品大尺度视频| 国产熟女一区二区| 国产精品丝袜在线| 在线亚洲+欧美+日本专区| 久久草视频在线看| 中文在线观看免费视频| 天堂网在线播放| 欧美区视频在线观看| 91精品国产免费久久综合| 另类天堂视频在线观看| 日本道在线观看| 亚洲国产另类精品专区| 亚洲伊人久久综合| 免费一级片视频| 黄色av一级片| 亚洲精品一区二区三区99| 成人性视频欧美一区二区三区| 色av成人天堂桃色av| 永久免费看黄网站| 亚洲美女在线视频| 国产精品亚洲无码| 亚洲欧美激情视频在线观看一区二区三区 | 这里精品视频免费| 久久久久国产视频| 91传媒视频免费| 永久免费未视频| 色噜噜狠狠一区二区三区果冻| 国产情人节一区| 亚洲综合第一区| 欧美va亚洲va| 婷婷激情五月综合| 色女人综合av| 国产欧美日韩一区二区三区在线观看| 99久久99精品| 亚洲激情中文1区| 久久久久久久999| 99久久99久久精品免费看小说.| 欧美日韩国产精品专区| 午夜精品久久久久久久99热 | 国产喷白浆一区二区三区| 久久综合色鬼综合色| 深夜福利日韩在线看| 中文字幕欧美专区| 又骚又黄的视频| 久久久国产影院| 午夜激情福利电影| 日韩免费一区二区| 日本一区二区三区四区五区六区| 欧美性视频网站| 欧美三级网色| 精品国模在线视频| 国产在线精品不卡| 成人做爰69片免网站| 久久久久久久久久久91| 久久经典综合| 国产成人自拍视频在线观看| 日韩av片在线| 精品久久久久一区| 亚洲婷婷在线观看| 亚洲一级二级在线| 欧美一二三四在线| 国产欧美欧洲| 精品人伦一区二区三电影| 国产欧美在线观看一区| 手机免费av片| 国产精品高清亚洲| 成人高清dvd| 99久久精品国产精品久久| 2025韩国大尺度电影| 久久久午夜电影| 高清国产在线一区| 国产小视频在线免费观看| 亚洲免费成人av电影| 夫妇露脸对白88av| 国内精品写真在线观看| 91麻豆精品国产91久久久久久久久| 极品尤物一区二区三区| 一区二区在线观看免费视频| 亚洲天堂网在线观看| 亚洲精选一区二区三区| 美女视频黄免费的亚洲男人天堂| 午夜性色福利影院| 青青草成人免费在线视频| 久久久久国产视频| 亚洲欧美999| 国产精品传媒入口麻豆| 黄色片视频免费| 国产欧美一区二区三区四区 | 欧美精彩视频一区二区三区| 久久丫精品国产亚洲av不卡| 日韩欧美在线网址| 成人看片人aa| 国产主播在线观看| 欧美日韩国产一级片| 日本中文字幕网址| 中文国产成人精品| 日韩电影免费在线看| 91久久国产综合久久蜜月精品| 91偷拍与自偷拍精品| 青娱乐国产盛宴| 自拍视频一区二区| 国产一区二区三区小说| 精品国产综合区久久久久久| 日韩资源在线观看| 日本高清免费在线视频| 欧美人体做爰大胆视频| 肉色超薄丝袜脚交69xx图片| 国产精品国产三级欧美二区| 亚洲桃色在线一区| 亚洲精品第三页| 国产精品欧美久久久久无广告| 日韩精品一区二区三区四区五区| 久久三级福利| 日韩欧美一区视频| 国产激情视频在线播放| 最新中文字幕2018| 亚洲香蕉在线观看| 狠狠色狠狠色综合日日91app| 亚洲不卡在线播放| 免费观看av网站| 中文字幕人妻一区| 色一情一乱一伦一区二区三区日本| 精品无码久久久久久久动漫| 色综合亚洲欧洲| 国产精品视频123| 亚洲春色在线视频| 精品无人区乱码1区2区3区在线| 老司机午夜免费精品视频| 97在线视频免费看| 韩国av一区二区三区| 天天躁夜夜躁狠狠是什么心态| 精品国产无码在线| 中文字幕亚洲二区| 在线免费日韩av| 国产一区二区三区在线视频 | 日本精品一区二区| 夜夜嗨av一区二区三区免费区| 成人综合在线观看| 无套内谢大学处破女www小说| 色综合天天综合网国产成人网| 国产成人午夜精品影院观看视频| 三级一区二区三区| 一区二区在线免费视频| 91蝌蚪国产九色| av网站免费线看精品| 99视频国产精品免费观看a| av免费一区二区| 中文字幕一区二区三区有限公司| 神马午夜精品95| 久久久久亚洲av无码专区体验| 国产九色91回来了| 三大队在线观看| 欧美精品尤物在线| 日韩精品专区在线| av毛片在线免费观看| 国产精品亚洲αv天堂无码| 国产精品香蕉在线观看| 久久久久久久综合狠狠综合| 国产成人精品一区二区三区在线观看| 久久99蜜桃综合影院免费观看| 成人国产在线视频| 欧美一级艳片视频免费观看| 99re在线视频这里只有精品| 国内毛片毛片毛片毛片| 国产精品国色综合久久| 国产精品日韩精品| 国产精品你懂得| 国产精品日本精品| 亚洲综合社区网| 国产三级精品在线不卡| 久久综合免费视频影院| 国产精品久久久久影院老司| 97精品人妻一区二区三区| 自拍视频一区二区| 三日本三级少妇三级99| 麻豆成人在线看| 亚洲国产成人在线| 亚洲视频一区二区在线观看| 成人禁用看黄a在线| 免费日韩一级片| 欧美肉大捧一进一出免费视频 | 97在线观看视频| 亚洲国产高清自拍| 一区二区三欧美| 国产美女高潮久久白浆| 二级片在线观看| 亚洲视频在线不卡| 一区二区视频免费看| 中文字幕av影视| 日韩亚洲欧美中文字幕| 超碰在线资源站| 成人免费在线网| 男人j进女人j| 极品日韩久久| 免费av在线一区二区| 91精品国产综合久久久蜜臀粉嫩| 欧美 日韩 国产 成人 在线| 日本一卡二卡在线| 亚洲欧洲精品一区| 欧美理论电影在线观看| 中文字幕在线观看日韩| 欧美高清视频在线观看| 日韩视频亚洲视频| 欧美疯狂性受xxxxx喷水图片| 制服丝袜成人动漫| 91精品国产高清一区二区三区蜜臀 | 爱情岛论坛成人| 欧美日产国产成人免费图片| 国产欧美一区视频| 日韩三级视频在线| 日韩小视频网站| 欧美日韩xxxxx| 亚洲精品日韩综合观看成人91| 国产乱码77777777| 黄色一级大片在线观看| 538国产精品一区二区免费视频| 亚洲欧洲综合另类| 亚洲天堂网在线观看视频| 又色又爽又高潮免费视频国产| 久久久亚洲国产天美传媒修理工| 亚洲欧美欧美一区二区三区| 久久精品国产亚洲av麻豆蜜芽| 国产美女无遮挡网站| 97视频在线观看视频免费视频| 一区二区三区影院| www.国产视频| 精品久久久久久无码人妻| 99国产在线观看| 亚洲精品一区二区精华| 99re视频精品| 五月天激情四射| 日本不卡一区二区在线观看| 成人激情视频在线播放| 日韩一级免费观看| 成人美女视频在线看| 特一级黄色大片| 色婷婷狠狠18| 成人免费看片网站| 亚洲日本中文字幕| 亚洲美女淫视频| 成人久久久精品国产乱码一区二区 | 99久久伊人精品| 日韩精品在线观看免费| 午夜在线观看av| 国产伦精品一区二区三区免| 亚洲精品在线不卡| 亚洲另类一区二区| 丝袜国产日韩另类美女| 色哟哟一一国产精品| 日韩精品视频在线观看视频| 国产精品美女呻吟| 亚洲国产女人aaa毛片在线| 亚洲国产精品ⅴa在线观看| 99国产成人精品| 公肉吊粗大爽色翁浪妇视频| 无码日本精品xxxxxxxxx| 国产精品久久久久久久app| 精品成人一区二区三区| 国产精品成人在线观看| 午夜激情小视频| 日本熟妇毛茸茸丰满| 91亚洲一区二区| 先锋影音亚洲资源| 国产成人精品av在线| 日韩国产欧美精品一区二区三区| 亚洲欧美精品午睡沙发| 久久国产精品99久久人人澡| 天天操中文字幕| 97人妻精品一区二区免费| 欧美日韩在线一| 国内一区二区在线视频观看| 久久久久成人精品| 欧美mv日韩mv国产网站| 亚洲最新视频在线观看| 国产宾馆实践打屁股91| 999国产精品视频免费| 精品无码一区二区三区蜜臀| 欧美三级午夜理伦三级| 欧美一区二区三区四区夜夜大片| 欧美性在线视频| 亚洲人成电影在线| 欧美在线综合视频| 亚洲女子a中天字幕| 成人小视频免费观看| 四虎永久在线观看| 亚洲高清视频免费观看| 毛片aaaaaa| 国产chinesehd精品露脸| 国产高清av在线播放| 精品国产乱码久久久久久蜜柚| 国产69精品久久久久久| 在线丨暗呦小u女国产精品| 欧美精品高清视频| 精品久久久久久久久久国产| 中文字幕第一区综合| 国产精品白丝jk白祙喷水网站| 99热在线只有精品| 亚洲欧美日韩激情| 欧美国产精品一二三| 影音先锋制服丝袜| 中文字幕一区二区人妻电影丶| 亚洲福利精品视频| 欧美 日韩 国产在线观看| 综合操久久久| 日本一区二区三区四区高清视频| 亚洲永久在线观看| 国产精品扒开腿爽爽爽视频| 欧美激情视频在线| 久久精品亚洲精品| 国产一区二区三区精品久久久| 日韩精品一区国产麻豆| 欧美午夜电影网| 日本精品一区二区三区四区的功能| 成人欧美一区二区三区在线播放| 91老师国产黑色丝袜在线| 成人动漫中文字幕| 成人av网站在线观看免费| 国产美女精品一区二区三区| 免费在线视频一区| 日韩激情中文字幕| 日本特黄久久久高潮| 亚洲 精品 综合 精品 自拍| 黄色av免费观看| 刘亦菲久久免费一区二区| 国产极品999| 国产91麻豆视频| 特黄aaaaaaaaa真人毛片| 神宫寺奈绪一区二区三区| 人妻va精品va欧美va| 久久精品盗摄| 免费在线成人网| 国产一区二区三区在线观看免费| 韩国v欧美v亚洲v日本v| 粉嫩欧美一区二区三区高清影视| 国产精品69久久久久水密桃| 成人小视频在线| 99久久99久久久精品齐齐| 国产午夜精品一区二区三区视频| 欧美激情一区二区三区全黄| 亚洲视频一区二区在线观看| 亚洲成av人**亚洲成av**| 色婷婷国产精品综合在线观看| 色婷婷综合久久久中文一区二区| 欧美三级在线看| 欧美成人一区二区三区片免费| 亚洲精品一区二区三区影院| 亚洲男人的天堂在线| 久久精品国产一区| 91sa在线看| 亚洲xxx自由成熟| 欧美一区二区三区四区夜夜大片| 秋霞在线一区二区| 国产精品97在线| 亚洲欧美日韩中文字幕在线观看| www.久久av| 国产日韩欧美在线观看视频| 天堂中文字幕在线观看| www.蜜桃av.com| 麻豆精品一区二区av白丝在线| 成人激情综合网站| 亚洲乱码一区二区三区在线观看| 日韩欧美成人精品| 精品久久久久一区| 日韩中文字幕免费看| 91精品国产91久久久| 99精品国产高清一区二区| 亚洲乱码一区二区三区三上悠亚| 久久在线中文字幕| 人妻互换一二三区激情视频| 可以免费看av的网址| 日日夜夜狠狠操| 久久国产免费| 久久这里只精品最新地址| 亚洲成人免费观看| 亚洲电影免费观看高清完整版在线观看 | 成人小视频免费观看| 亚洲免费在线看| 欧美一区二区成人| 欧美成人激情在线| 91色在线观看| 无码人妻精品一区二区蜜桃百度| 99精品999| 精品人妻伦九区久久aaa片| 亚洲综合精品在线| 国产精品自在在线| 一区二区三区.www| 亚洲成av人乱码色午夜| 国内精品久久久久久影视8| 国产伦一区二区三区色一情 | 免费看污污视频| 中文字幕55页| 国产一级做a爰片在线看免费| 丰满人妻一区二区| av资源站一区| 欧美日韩国产欧美日美国产精品| 欧美猛少妇色xxxxx| 精品视频第一区| 岛国毛片在线播放|