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

一篇帶你搞定TensorFlow Serving 架構、部署和應用

開發(fā)
本文分三個部分分別介紹了TensorFlowServing 的組成和工作方式。

開篇

一般在練完機器學習的模型之后,需要將模型host成服務才能供使用者調用。TensorFlow的機器學習模型的部署也遵循這個方式,它會通過TensorFlow Serving的方式將模型做成服務,讓使用者通過某種方式來調用模型,而不是直接運行模型推測的代碼,也不需要使用者進行模型的部署和安裝工作。整個過程需要通過TensorFlow Serving 把模型部署到服務器上。通常來說會使用Web框架(例如:flask、Django、tornado)創(chuàng)建服務器應用,這個應用會承載TensorFlow 生成的機器學習模型,應用啟動后就會一直在后臺運行,并等待客戶端請求,當應用檢測到有請求,就會執(zhí)行模型進行推測,將推測結果返回給用戶。本文主要介紹TensorFlow Serving 的工作原理、安裝以及應用。

TensorFlow Serving 架構介紹

如果要了解TensorFlow Serving 的架構就需要了解它所包含的組件,以及組件之間是如何配合工作的。

TensorFlow Serving 組件

首先介紹一下TensorFlow Serving的主要組件,TensorFlow Serving的功能可抽象為一些組件,每個組件實現(xiàn)了不同的API任務,其中最重要的是Servable, Loader, Source, 和 Manager,我們先看看這些組件是如何定義的。

Servable

Servable 是 TensorFlow Serving 中最核心的抽象,是客戶端用于執(zhí)行計算 (例如:預測或推斷) 的底層對象。Servables 的大小和力度是靈活的,單個 Servable 可能包含從一個查找表的單個分片,到一個單獨的模型,或是推理模型的元組。Servables 可以是任何類型或接口,這使得其具有靈活性并易于將來的改進,例如:流式結果、實驗性 APIs、異步操作模式。但是,Servables 并不管理自身的生命周期。

由于每個模型都就可能進行改,特別是算法配置、權重等參數會隨著對模型的深入了解而進行調整。TensorFlow Serving 能夠為服務實例的生命周期內處理一個或多個 版本 (versions) 的 Servable,這使得新的算法配置,權重和其他數據可以隨時被加載。這就是 Servables Versions,它可以使多個版本的 Servable 可以并發(fā)加載。在提供服務時,客戶端可以請求最新版本的模型或是制定版本 ID 的模型。

正如上面說到的一個Servable 會有多個Version,那么多個版本的 Servable 的序列就成為Servable Stream,它會按照版本號的遞增排序。

Model

TensorFlow Serving 將一個 模型 (model) 表示為一個或多個 Servables。一個機器學習模型可能包括一個或多個算法 (包括學習到的權重) 和查找表。

你可以將一個復合模型 (composite model) 表示成:多個獨立的 Servables或者一個組合的 Servables。一個 Servable 也可能是一個模型的一部分,例如,一個大的查找表可能被分割到多個不同的 TensorFlow Serving 實例中。

Loader

Loader 管理Servable 的生命周期。Loader API 提供了一個獨立于特定機器學習算法,數據和用戶產品用例的通用基礎平臺。具體說,Loader 主要處理Servable 的加載和卸載,并為其提供標準的API。

Source

Source 是用于查找和提供 Servable 的插件模塊,每個 Source 提供零個或多個 Servable Stream。對于每個 Servable Stream,一個 Source 為一個 Loader 實例對不同版本的載入提供支持。(一個 Source 通常是由零個或多個 SourceAdapter 鏈接在一起,其中最后一項將觸發(fā) Loader。)

TensorFlow Serving 中 Source 的接口可以從任意的存儲系統(tǒng)中發(fā)現(xiàn) Servable,TesorFlow Serving 包含了 Source 實現(xiàn)的通用引用。例如:Source 可以利用 RPC 等機制,并可以輪訓文件系統(tǒng)。Source 可以維護多個 Servable 或 不同版本分片中的狀態(tài),這將有助于 Servable 在不同版本之間進行更新。

Manager

前面說到了Servable,它自己是不會維護自己的生命周期的,需要通過Managers 來維護 Servable 的整個生命周期,包括:加載 Servable,

為 Servable 提供服務,卸載 Servable。

Managers 從 Source 獲取信息并跟蹤所有的 Version。Manager 盡可能的滿足 Source 的請求,但當所需的資源不存在時,會拒絕載入一個 Aspired Versions。Manager 也可能延遲觸發(fā)一個卸載 (unload),例如:基于要確保任意時點都要至少有一個 Version 被加載的策略,Manager 需要等待一個新的 Version 完成加載后再卸載之前的 Version。

Tensorflow Serving Manager 提供一個簡單窄接口 (narrow interface),GetServableHandler(),用于客戶端訪問以加載的 Servable 實例。

TensorFlow Serving 工作流程

上面介紹了TensorFlow Serving的幾個組件,包括:Servable、Model、Loader、Source、Manager。接下來看看它們是如何合作工作的--TensorFlow Serving 工作流。如圖1 所示,TensorFlow Serving的工作流程主要分為以下幾個步驟:

● 先看圖1 中右下方的Source組件,順著Source 向上的箭頭它會為要加載的模型創(chuàng)建一個Loader,Loader中會包含要加載模型的全部信息;

● 接著,Source通知Manager有新的模型需要進行加載;

● Manager(DynamicManager)通過版本管理策略(Version Policy)來確定哪些模型需要被下架,哪些模型需要被加載;

● Manager在確認需要加載的模型符合加載策略,便通知Loader來加載最新的模型;

● Client(客戶端)向服務端請求模型結果時,可以通過ServableHandle指定模型的版本(Servable Version),這部分的信息由Manager進行管理(Manager管理Servable的生命周期),然后通過Manager返回給客戶端;

圖片來源:??https://www.tensorflow.org/static/tfx/serving/images/serving_architecture.svg?hl=zh-cn??

圖1 TensorFlow Serving 工作流程

TensorFlow Serving 安裝和部署

上面我們介紹了TensorFlow Serving 的組成和工作流程,這里我們接著來說說如何安裝TensorFlow Serving,這里推薦使用docker 和 apt-get兩種安裝方式。

TensorFlow Serving 的Docker 安裝方式

首先保證已經安裝了Docker ,然后通過運行以下命令拉取最新的 TensorFlow Serving docker 鏡像。

docker pull tensorflow/serving

這將拉取安裝TensorFlow Serving 的最小 Docker 鏡像。

接著需要對如下屬性進行設置,gRPC 公開的端口 8500,REST API 公開的端口 8501,可選環(huán)境變量MODEL_NAME(默認為model),可選環(huán)境變量MODEL_BASE_PATH(默認為/models)。這些屬性的設置參考如下命令:

tensorflow_model_server --port=8500 --rest_api_port=8501 \
--model_name=${MODEL_NAME} --
model_base_path=${MODEL_BASE_PATH}/${MODEL_NAME}

然后,就是就是設置主機開放端口,設置所服務的SavedModel,設置客戶將引用的模型名稱。

docker run -p 8501:8501 \
--mount
type=bind,source=/path/to/my_model/,target=/models/my_model \
-e MODEL_NAME=my_model -t tensorflow/serving

以上的命令,啟動了一個 Docker 容器,將 REST API 端口 8501 發(fā)布到主機的端口 8501,并采用名為my_model的模型并將其綁定到默認模型基本路徑 ( ${MODEL_BASE_PATH}/${MODEL_NAME}= /models/my_model)。最后,填充了環(huán)境變量 MODEL_NAME,并保留MODEL_BASE_PATH其默認值。

TensorFlow Serving apt-get安裝

設置安裝源如下命令

# 添加 Google的TensorFlow Serving源
echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt
stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee
/etc/apt/sources.list.d/tensorflow-serving.list
# 添加gpg key
curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-
serving.release.pub.gpg | sudo apt-key add -

更新源后,即可使用 apt-get 安裝

sudo apt-get updatesudo apt-get install tensorflow-model-server

TensorFlow模型導出

既然已經安裝好了TensorFlow Serving,那么就需要加載對應的模型進行機器學習的推演。TensorFlow 提供了Keras 模型可以方便地導出為 SavedModel 格式。假設我們有一個名為 model 的 Keras 模型,使用下面的代碼即可將模型導出為 SavedModel:

tf.saved_model.save(model, "保存的目標文件夾名稱")

TensorFlow模型部署

安裝好TensorFlow Serving 并且將模型導出,接下來就是將模型部署到TensorFlow Serving上了。 我們利用如下命令,設置模型所暴露的端口號,模型名以及模型所存儲的路徑。

想詳細了解如何快速應用 TensorFlow 實現(xiàn)多端部署的同學,可以報名學習中國大學 MOOC 上的官方課程:??https://www.icourse163.org/course/youdao-1467217161#/info?? ,或者看看谷歌開發(fā)者專家對TensorFlow部署的介紹和講解:

??https://zhibo.51cto.com/liveDetail/373??

tensorflow_model_server \
--rest_api_port=端口號(如8501) \
--model_name=模型名 \
--model_base_path="SavedModel格式模型的文件夾絕對地址(不含版本號)"

TensorFlow Serving 客戶端調用

好了到這里,我們完成了TensorFlow Serving 的安裝和部署工作,此時我們訓練好的機器學習模型已經靜靜地躺在服務器上了,就等著客戶端調用了。TensorFlow Serving 支持gRPC 和 RESTful API的 調用。本文主要介紹較為通用的 RESTful API 方法的調用。

RESTful API 以標準的 HTTP POST 方法進行交互,請求和回復均為 JSON 對象。為了調用服務器端的模型,我們在客戶端向服務器發(fā)送以下格式的請求:

http://服務器地址:端口號/v1/models/模型名:predict

請求內容如下:

{
"signature_name": "需要調用的函數簽名(Sequential模式不需要)",
"instances": 輸入數據
}

Python 客戶端例子

以下示例使用 ??Python 的 Requests 庫?? 向本機的 TensorFlow Serving 服務器發(fā)送 MNIST 測試集的前 10 幅圖像并返回預測結果,同時與測試集的真實標簽進行比較。從代碼中可以看出,使用了MNISTLoader 方法獲取要加載的數據,通過json.dumps 方法輸入要請求的數據。接著設置headers,通過requests的post方法請求本地端口為8501 的TensorFlow Serving 服務,并將返回的結果賦值給json_response,最后把預測結果中的predictions返回進行響應的處理。

import json
import numpy as np
import requests
from zh.model.utils import MNISTLoader

data_loader = MNISTLoader()
data = json.dumps({
"instances": data_loader.test_data[0:3].tolist()
})
headers = {"content-type": "application/json"}
json_response = requests.post(
'http://localhost:8501/v1/models/MLP:predict',
data=data, headers=headers)
predictions = np.array(json.loads(json_response.text)['predictions'])
print(np.argmax(predictions, axis=-1))
print(data_loader.test_label[0:10])

總結

本文分三個部分分別介紹了TensorFlow Serving 的組成和工作方式,TensorFlow Serving由Servable、Model、Loader、Source和Manager等組件組成,它們各司其職完成搜索Servable,加載Servable以及管理Servable生命周期的工作。接著,我們使用Docket 和apt-get的方式安裝TensorFlow Serving ,并導出機器學習模型將其部署到TensorFlow Serving上。最后,使用客戶端(Python為例)對機器學習模型進行調用并返回結果。

本文介紹的TensorFlow Serving 知識僅僅只是冰山一角,如果想進一步探索機器學習更多領域,大家可以學習??《 TensorFlow 入門實操課程 》??。想提升機器學習能力,挑戰(zhàn)自己,也歡迎報名參與 TensorFlow 開發(fā)者認證計劃??https://tensorflow.google.cn/certificate??,掌握更多機器學習技能,強化你的核心競爭力。

作者介紹

崔皓,51CTO社區(qū)編輯,資深架構師,擁有20年架構經驗。曾任惠普技術專家,參與多個機器學習項目,撰寫、翻譯20多篇機器學習、NLP等熱門技術文章。《分布式架構原理與實踐》作者。

責任編輯:張燕妮
相關推薦

2020-02-28 11:29:00

ElasticSear概念類比

2021-03-15 08:38:42

StringBuffeJava基礎Java開發(fā)

2024-04-17 13:21:02

Python匿名函數

2021-05-15 10:16:14

Python匿名函數

2022-05-28 15:59:55

PythonPandas數據可視化

2021-03-06 10:05:03

Python函數變量

2021-11-10 09:19:41

PythonShutil模塊

2021-11-17 10:11:08

PythonLogging模塊

2022-03-30 10:51:40

JavaScript性能調優(yōu)

2021-05-20 06:57:16

RabbitMQ開源消息

2023-04-20 08:00:00

ES搜索引擎MySQL

2021-02-27 10:20:18

Go語言flag包開發(fā)技術

2021-02-20 10:06:14

語言文件操作

2021-05-31 08:59:57

Java數據庫訪問JDBC

2021-11-13 10:11:45

Pythonurllib庫Python基礎

2021-01-13 08:40:04

Go語言文件操作

2021-07-13 11:37:47

cpu架構Linux

2020-03-20 08:30:56

手機移動端適配

2021-06-16 08:28:25

unary 方法函數技術

2023-06-16 07:41:36

分層架構軟件架構
點贊
收藏

51CTO技術棧公眾號

91.成人天堂一区| 日本一区二区免费在线| 久久久久中文字幕| 大地资源二中文在线影视观看 | 成人免费在线观看入口| 97国产超碰| 国产熟妇一区二区三区四区| 亚洲精品国产成人影院| 精品亚洲一区二区三区在线观看 | 国产一区二区| 欧美性xxxx18| 日本福利视频在线观看| 国产区视频在线| 国产成人精品免费看| 欧美一区二区三区免费观看| 污污的视频在线免费观看| 五月天婷婷在线观看| 亚洲一区自拍| 免费91在线视频| 色欲狠狠躁天天躁无码中文字幕| 影音先锋欧美激情| 欧美性videosxxxxx| 国产精品www在线观看| 99视频在线观看地址| 成人教育av在线| 成人中文字幕+乱码+中文字幕| 日韩欧美性视频| 夜间精品视频| 伊人伊成久久人综合网小说| 中文字幕精品久久久| 精品久久国产一区| 欧美日韩一区中文字幕| 99精品人妻少妇一区二区| 羞羞电影在线观看www| 国产精品视频免费看| 九色综合日本| 亚洲女同志亚洲女同女播放| 极品少妇xxxx精品少妇| 国产精品激情av电影在线观看| 国产性xxxx高清| 亚洲午夜激情在线| 久久国产视频网站| 三级黄色录像视频| 欧美一区二区性| 亚洲人成电影网站色www| 水蜜桃av无码| 国产精品45p| 欧美电视剧在线看免费| 亚洲高清视频免费| 亚洲伊人伊成久久人综合网| 欧美日韩国产一区二区三区地区| 亚洲视频在线观看一区二区三区| 在线黄色的网站| 日韩欧美999| 日本精品一区二区三区四区| 中文字幕在线直播| 欧美性猛交丰臀xxxxx网站| 看av免费毛片手机播放| 欧美三级网站| 欧美性猛交xxxx乱大交蜜桃| 国语对白做受xxxxx在线中国| 超碰国产一区| 91国偷自产一区二区三区成为亚洲经典| 欧美 日韩 国产一区| 中文在线最新版地址| 欧美性xxxx在线播放| 青青视频在线播放| 亚洲日本在线观看视频| 欧美日产在线观看| 中文字幕一区二区在线观看视频| 国产一区二区三区视频在线| 日韩精品一区二区在线| 国产a级片视频| 亚洲精品国产setv| 亚洲欧美日韩一区二区在线 | 欧美激情日韩图片| 精品少妇一二三区| 亚洲一区二区成人| 国产精品嫩草视频| 99国产揄拍国产精品| 成人免费福利片| 噜噜噜噜噜久久久久久91| 高清av电影在线观看| 国产精品成人在线观看| 男的插女的下面视频| 欧美aa视频| 欧美日韩国产小视频| 少妇高潮一69aⅹ| 亚洲区小说区| 久久天堂电影网| 日韩免费一级片| 日本不卡视频在线| 9a蜜桃久久久久久免费| 邻家有女韩剧在线观看国语| 中文字幕亚洲不卡| 日本十八禁视频无遮挡| 黄色成人在线观看网站| 亚洲福利精品在线| 性色国产成人久久久精品| 国内精品亚洲| 国产精品视频99| 天天干,夜夜爽| 国产精品不卡在线观看| 播放灌醉水嫩大学生国内精品| 国产黄色精品| 日韩av网站在线| www深夜成人a√在线| 久久成人一区| 成人免费看片网址| 91电影在线播放| 精品福利在线视频| 亚洲一区二区三区四区精品 | 一区二区在线观| 国产在线88av| 日韩一区二区三| 国产又黄又粗的视频| 亚洲国产日本| 亚洲a一级视频| aaa日本高清在线播放免费观看| 亚洲一区在线观看网站| 中文字幕色网站| 日韩精品水蜜桃| 国产不卡一区二区在线播放| 欧美一级做性受免费大片免费| 亚洲欧美色一区| 粉色视频免费看| 日韩在线第七页| 国产精品96久久久久久| 日产精品久久久久久久性色| 亚洲综合一区二区精品导航| 亚洲在线观看网站| 图片区亚洲欧美小说区| 国产精品毛片a∨一区二区三区|国| 色欲av永久无码精品无码蜜桃 | 99久久99久久综合| 热久久最新网址| 祥仔av免费一区二区三区四区| 亚洲欧美日韩在线高清直播| 黄色在线免费观看| 99re这里只有精品6| 国产精品久久..4399| 综合激情五月婷婷| 欧美第一淫aaasss性| 精品二区在线观看| 亚洲免费观看视频| 樱花草www在线| 亚洲乱码免费伦视频| 成人深夜直播免费观看| 成人免费视屏| 欧美一区二区视频在线观看| 日韩在线观看视频一区二区| 国产麻豆视频一区二区| 青草全福视在线| 在线观看视频一区二区三区 | 三上悠亚激情av一区二区三区| 日韩av在线一区二区| 超碰中文字幕在线| 91毛片在线观看| 少妇高清精品毛片在线视频 | 中文在线字幕免费观| 日本一区二区成人| 色婷婷一区二区三区av免费看| 97精品视频在线看| 亚洲www在线| 乱插在线www| 日韩精品中文字幕有码专区| 日本视频在线观看免费| 欧美国产禁国产网站cc| 亚洲小视频网站| 欧美日韩18| 精品国产乱码久久久久久久软件| 在线播放高清视频www| 亚洲香蕉伊综合在人在线视看| 亚洲天堂久久久久| 亚洲欧美日韩国产成人精品影院| 少妇欧美激情一区二区三区| 亚洲一区激情| 日韩欧美一区二区在线观看| 精品国产欧美| 欧美孕妇毛茸茸xxxx| 888av在线| 337p日本欧洲亚洲大胆色噜噜| 亚洲日本视频在线观看| 国产精品超碰97尤物18| 亚洲婷婷在线观看| 免费黄网站欧美| 欧美激情亚洲天堂| 嫩草一区二区三区| 91传媒视频免费| 蜜臀国产一区| 欧美大尺度激情区在线播放| 色视频在线观看免费| 91精品国产综合久久小美女| 国产午夜久久久| 亚洲国产精品黑人久久久| 下面一进一出好爽视频| 久久综合影视| 国产亚洲精品久久久久久久| 免费成人网www| 91在线在线观看| av免费在线一区| 欧美精品久久久久| 天天影视久久综合| 亚洲毛片一区二区| 国产黄色av片| 欧美日韩国产免费一区二区| 日本中文字幕免费| 亚洲欧美成aⅴ人在线观看| 我和岳m愉情xxxⅹ视频| 国产91色综合久久免费分享| 美女网站视频黄色| 亚洲美女黄色| japanese在线播放| 成人av资源电影网站| 国产在线资源一区| 日韩一区二区三区精品视频第3页| 国产精品吹潮在线观看| а√天堂8资源在线| 久久影院资源网| 国产三区四区在线观看| 亚洲精品mp4| 亚洲精品成人区在线观看| 欧美日韩亚洲综合一区| 中文字幕一区在线播放| 亚洲国产精品久久艾草纯爱| 一级黄色片日本| 中文字幕av一区 二区| 香蕉网在线播放| 99久久婷婷国产综合精品| 动漫av在线免费观看| 国内成+人亚洲+欧美+综合在线| 一区二区三区网址| 久久免费黄色| 精品一区二区中文字幕| 午夜综合激情| 国产a级一级片| 国产欧美日本| 精品视频免费在线播放| 国内自拍视频一区二区三区| 黄色录像特级片| 欧美激情91| 国产91视频一区| 中文字幕免费一区二区三区| 中文字幕成人一区| 亚洲a在线视频| 裸体大乳女做爰69| 中文字幕免费一区二区| av 日韩 人妻 黑人 综合 无码| 亚洲色图二区| 欧美做暖暖视频| 亚洲午夜精品久久久久久app| 欧美午夜性视频| 一区二区三区四区五区在线 | 国产精品白丝jk黑袜喷水| 久久精品一卡二卡| 国产乱人伦偷精品视频不卡| 人妻换人妻仑乱| 丁香婷婷综合激情五月色| 欧美大喷水吹潮合集在线观看| a在线播放不卡| 国产精品揄拍100视频| 久久久777精品电影网影网| 精品无码在线观看| 亚洲女人****多毛耸耸8| 午夜写真片福利电影网| 精品国产成人在线| 影音先锋在线国产| 欧美羞羞免费网站| 99久久婷婷国产一区二区三区| 日韩欧美一二区| 色偷偷在线观看| 一区二区三区美女xx视频| 日韩在线免费电影| 欧美激情视频一区二区三区不卡| 麻豆免费版在线观看| 国产精品av免费在线观看| 91久久青草| 国产欧美日本在线| 国产一区二区三区四区二区| 色香蕉在线观看| 亚洲日韩成人| www.日本一区| 成人免费看的视频| 中文字幕av久久爽一区| 亚洲精品国产成人久久av盗摄| 日韩久久久久久久久| 欧美日韩国产首页| 欧美一区二区三区成人片在线| 在线电影中文日韩| 亚洲一级片网站| 日本a级在线| 不卡av在线网站| 五月天av在线| 成人美女免费网站视频| 色天天色综合| 日本成人性视频| 国产精品乱看| 一级淫片在线观看| 99久久综合精品| √天堂中文官网8在线| 色综合 综合色| 午夜精品久久久久久久爽| 一夜七次郎国产精品亚洲| 少女频道在线观看高清| 国产v综合ⅴ日韩v欧美大片| 国产精品亚洲欧美一级在线| 免费精品视频一区二区三区| 偷偷www综合久久久久久久| 中文字幕无码精品亚洲35| 精品一区二区在线看| 欧美亚一区二区三区| 一片黄亚洲嫩模| 亚洲天堂777| 国产亚洲视频在线观看| 爱情岛亚洲播放路线| 成人亚洲激情网| 精品成人影院| 国产女大学生av| 高潮精品一区videoshd| 日韩av片在线免费观看| 色婷婷av一区二区三区软件| 日本精品久久久久久| 毛片精品免费在线观看| 日韩一级二级| 欧美精品亚洲精品| 激情久久五月| xxxx国产视频| 亚洲婷婷国产精品电影人久久| 国产精品无码粉嫩小泬| 亚洲欧美视频在线| 24小时免费看片在线观看| 91视频最新| 欧美影院一区| 手机看片国产精品| 国产精品白丝在线| 一区二区小视频| 一区二区三区国产视频| 美女一区网站| 日韩亚洲视频| 爽好多水快深点欧美视频| 在线 丝袜 欧美 日韩 制服| 日韩欧美国产骚| 性xxxx视频| 欧美影院在线播放| 丝袜美腿综合| 男女午夜激情视频| 久久奇米777| 樱花视频在线免费观看| 国产亚洲人成a一在线v站| 成人福利片在线| 伊人av成人| 精品伊人久久久久7777人| 在线免费观看亚洲视频| 日韩天堂在线观看| 污视频免费在线观看| 成人动漫视频在线观看完整版| 亚洲国产高清一区二区三区| 国产福利在线观看视频| 一本到不卡精品视频在线观看| 九色蝌蚪在线| 国产精品美腿一区在线看| 久久香蕉国产| 老熟女高潮一区二区三区| 亚洲二区在线观看| 青青草av免费在线观看| 国产精品色午夜在线观看| 久久久久电影| 国产十八熟妇av成人一区| 欧美日韩亚洲成人| 成人av电影观看| 97久久天天综合色天天综合色hd| 黄色欧美日韩| 国产伦精品一区二区三区视频女| 欧美三级资源在线| 色黄网站在线观看| 久久av一区二区三区漫画| 日产国产高清一区二区三区| 亚洲熟女毛茸茸| 亚洲电影免费观看高清完整版在线| 欧美第一视频| 9l视频自拍9l视频自拍| 99久久久精品免费观看国产蜜| 亚洲中文一区二区| 久久九九国产精品怡红院| 国产精品自在| 青青青在线视频免费观看| 亚洲永久精品国产| 男女视频在线观看免费| 成人两性免费视频| 亚洲美女91| 天天鲁一鲁摸一摸爽一爽| 亚洲国产天堂久久综合| 国产精品伊人| 波多野结衣50连登视频| 亚洲欧美视频一区| 久蕉依人在线视频| 91手机在线播放| 男人的天堂亚洲一区| 国产一级免费av| 日韩在线观看你懂的|