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

如何將PyTorch Lightning模型部署到生產(chǎn)環(huán)境?

譯文
人工智能 機(jī)器學(xué)習(xí)
本文全面介紹了如何大規(guī)模部署PyTorch Lightning模型。

【51CTO.com快譯】縱觀機(jī)器學(xué)習(xí)領(lǐng)域,一大趨勢(shì)是側(cè)生于將軟件工程原理運(yùn)用于機(jī)器學(xué)習(xí)的項(xiàng)目數(shù)量激增。比如說(shuō),Cortex再現(xiàn)了部署無(wú)服務(wù)器函數(shù)的體驗(yàn),不過(guò)借助推理管道。與之相仿,DVC實(shí)現(xiàn)了現(xiàn)代版本控制和CI/CD管道,但面向機(jī)器學(xué)習(xí)。

[[351235]]

PyTorch Lightning有類似的理念,僅運(yùn)用于訓(xùn)練。框架提供了面向PyTorch的Python包裝器,讓數(shù)據(jù)科學(xué)家和工程師可以編寫(xiě)干凈、易于管理和高性能的訓(xùn)練代碼。

我們之所以構(gòu)建整個(gè)部署平臺(tái),一方面是由于我們討厭編寫(xiě)樣板代碼,因此我們是PyTorch Lightning的忠實(shí)擁護(hù)者。本著這種精神,我寫(xiě)了這篇指南,介紹將PyTorch Lightning模型部署到生產(chǎn)環(huán)境。在此過(guò)程中,我們將介紹導(dǎo)出PyTorch Lightning模型、加入到推理管道中的幾種不同方法。

部署PyTorch Lightning模型用于推理的各種方法

三種方法可以導(dǎo)出PyTorch Lightning模型來(lái)部署:

  • 將模型另存為PyTorch檢查點(diǎn)
  • 將模型轉(zhuǎn)換成ONNX
  • 將模型導(dǎo)出到Torchscript

我們可以使用Cortex滿足這三種方法。

1.直接包裝和部署PyTorch Lightning模塊

從最簡(jiǎn)單的方法開(kāi)始,不妨部署一個(gè)沒(méi)有任何轉(zhuǎn)換步驟的PyTorch Lightning模型。

PyTorch Lightning Trainer是抽象樣板訓(xùn)練代碼(想想訓(xùn)練和驗(yàn)證步驟)的一個(gè)類,它有內(nèi)置的save_checkpoint()函數(shù),可將模型另存為.ckpt文件。要將模型另存為檢查點(diǎn),只需將該代碼添加到訓(xùn)練腳本中:

圖1

現(xiàn)在,開(kāi)始部署該檢查點(diǎn)之前,要特別注意的是,雖然我一直說(shuō)“PyTorch Lightning模型”,但PyTorch Lightning是PyTorch的包裝器——該項(xiàng)目的README實(shí)際上寫(xiě)著“PyTorch Lightning只是有組織的PyTorch”。因此,導(dǎo)出的模型是普通的PyTorch模型,可相應(yīng)部署。

有了保存的檢查點(diǎn),我們可以在Cortex中很輕松地部署模型。如果您不熟悉Cortex,可以在這里(https://docs.cortex.dev/)快速熟悉一下,但是Cortex部署過(guò)程的簡(jiǎn)單概述如下:

  • 我們使用Python為模型編寫(xiě)預(yù)測(cè)API
  • 我們使用YAML定義API基礎(chǔ)架構(gòu)和行為
  • 我們從CLI使用命令來(lái)部署API

我們的預(yù)測(cè)API將使用Cortex的Python Predictor類來(lái)定義init()函數(shù),以初始化我們的API并加載模型,并使用predict()函數(shù)在查詢時(shí)進(jìn)行預(yù)測(cè): 

  1. import torch 
  2. import pytorch_lightning as pl 
  3. import MyModel from training_code 
  4. from transformers import ( 
  5.     AutoModelForSequenceClassification, 
  6.     AutoConfig, 
  7.     AutoTokenizer 
  8. class PythonPredictor: 
  9.     def __init__(self, config): 
  10.         self.device = "cpu" 
  11.         self.tokenizer = AutoTokenizer.from_pretrained("albert-base-v2"
  12.         self.model = MyModel.load_from_checkpoint(checkpoint_path="./model.ckpt"
  13.     def predict(self, payload): 
  14.         inputs = self.tokenizer.encode_plus(payload["text"], return_tensors="pt"
  15.         predictions = self.model(**inputs)[0] 
  16.         if (predictions[0] > predictions[1]): 
  17.           return {"class""unacceptable"
  18.         else
  19.           return {"class""acceptable"

很簡(jiǎn)單。我們使用訓(xùn)練代碼改變了一些代碼的用途,并增添了一點(diǎn)推理邏輯。要注意的一點(diǎn)是,如果您將模型上傳到了S3(推薦),要添加訪問(wèn)模型的一些邏輯。

下一步,我們使用YAML配置基礎(chǔ)架構(gòu): 

  1. name: acceptability-analyzer 
  2.   kind: RealtimeAPI 
  3.   predictor: 
  4.     type: python 
  5.     path: predictor.py 
  6.   compute: 
  7.     cpu: 1 

同樣很簡(jiǎn)單。我們?yōu)锳PI取名,告訴Cortex我們的預(yù)測(cè)AI是哪個(gè),并分配一些CPU資源。

接下來(lái),我們部署它:

請(qǐng)注意:我們還可以部署到由Cortex啟動(dòng)并管理的集群上:

圖3

針對(duì)所有部署,Cortex都會(huì)對(duì)我們的API進(jìn)行容器化處理,并將其公開(kāi)為Web服務(wù)。針對(duì)云部署,Cortex配置負(fù)載均衡、自動(dòng)擴(kuò)展、監(jiān)測(cè)、更新和其他許多基礎(chǔ)架構(gòu)功能。

就是這樣!現(xiàn)在我們有一個(gè)實(shí)際的Web API可根據(jù)要求處理模型預(yù)測(cè)。

2.通過(guò)ONNX Runtime導(dǎo)出到ONNX并部署

我們現(xiàn)已部署了一個(gè)普通的PyTorch檢查點(diǎn),不妨讓情況復(fù)雜一些。

PyTorch Lightning最近添加了一個(gè)方便的抽象,用于將模型導(dǎo)出到ONNX(以前您可以使用PyTorch內(nèi)置的轉(zhuǎn)換函數(shù),不過(guò)它們需要多一點(diǎn)的樣板代碼)。要將模型導(dǎo)出到ONNX,只需將該代碼添加到訓(xùn)練腳本中:

圖4

請(qǐng)注意,輸入樣本應(yīng)模仿實(shí)際模型輸入的形狀。

一旦您導(dǎo)出了ONNX模型,可以使用Cortex的ONNX Predictor來(lái)部署。代碼基本上看起來(lái)一樣,過(guò)程相同。比如說(shuō),這是一個(gè)ONNX預(yù)測(cè)API: 

  1. import pytorch_lightning as pl 
  2. from transformers import ( 
  3.     AutoModelForSequenceClassification, 
  4.     AutoConfig, 
  5.     AutoTokenizer 
  6. class ONNXPredictor: 
  7.     def __init__(self, onnx_client, config): 
  8.         self.device = "cpu" 
  9.         self.client = onnx_client 
  10.         self.tokenizer = AutoTokenizer.from_pretrained("albert-base-v2"
  11.          
  12.     def predict(self, payload): 
  13.         inputs = self.tokenizer.encode_plus(payload["text"], return_tensors="pt"
  14.         predictions = self.client.predict(**inputs)[0] 
  15.         if (predictions[0] > predictions[1]): 
  16.           return {"class""unacceptable"
  17.         else
  18.           return {"class""acceptable"
  19. view rawpredictor.py hosted with ❤ by GitHub 

基本上一樣。唯一的區(qū)別是,不是直接初始化模型,我們通過(guò)onnx_client來(lái)訪問(wèn)它,這是Cortex為部署我們的模型而啟動(dòng)的ONNX Runtime容器。

我們的YAML看起來(lái)也很相似: 

  1. name: acceptability-analyzer 
  2.   kind: RealtimeAPI 
  3.   predictor: 
  4.     type: onnx 
  5.     path: predictor.py 
  6.     model_path: s3://your-bucket/model.onnx 
  7.   monitoring: 
  8.     model_type: classification 
  9. view rawcortex.yaml hosted with ❤ by GitHub 

我在這里添加了監(jiān)測(cè)標(biāo)志,只為了表明配置有多容易;有一些ONNX特有的字段,不過(guò)除此之外是同樣的YAML。

最后,我們使用與之前一樣的$ cortex deploy命令來(lái)部署,我們的ONNX API處于活躍狀態(tài)。

3. 使用Torchscript的JIT編譯器來(lái)初始化

至于最后的部署,我們將把PyTorch Lightning模型導(dǎo)出到Torchscript,并使用PyTorch的 JIT編譯器來(lái)部署。要導(dǎo)出模型,只需將這部分添加到訓(xùn)練腳本中:

圖5

這方面的Python API與普通PyTorch示例一樣: 

  1. import torch 
  2. from torch import jit 
  3. from transformers import ( 
  4.     AutoModelForSequenceClassification, 
  5.     AutoConfig, 
  6.     AutoTokenizer 
  7. class PythonPredictor: 
  8.     def __init__(self, config): 
  9.         self.device = "cpu" 
  10.         self.tokenizer = AutoTokenizer.from_pretrained("albert-base-v2"
  11.         self.model = jit.load("model.ts"
  12.     def predict(self, payload): 
  13.         inputs = self.tokenizer.encode_plus(payload["text"], return_tensors="pt"
  14.         predictions = self.model(**inputs)[0] 
  15.         if (predictions[0] > predictions[1]): 
  16.           return {"class""unacceptable"
  17.         else
  18.           return {"class""acceptable"
  19. view rawpredictor.py hosted with ❤ by GitHub 

YAML與之前一樣,當(dāng)然CLI命令是一致的。如果我們想要,可以實(shí)際上更新之前的PyTorch API以使用新模型,只需把舊的predictor.py腳本換成新腳本,并再次運(yùn)行$ cortex deploy:

圖6

Cortex在此處自動(dòng)執(zhí)行滾動(dòng)更新,新的API創(chuàng)建,然后與舊的API交換,因而防止模型更新間歇的任何停機(jī)。

就是這樣。現(xiàn)在,您已經(jīng)有了用于實(shí)時(shí)推理的完全可操作的預(yù)測(cè)API,可從Torchscript模型進(jìn)行預(yù)測(cè)。

那么,您應(yīng)使用哪種方法?

顯而易見(jiàn)的問(wèn)題是哪種方法效果最好。事實(shí)上,這里沒(méi)有簡(jiǎn)單的答案,這取決于您的模型。

針對(duì)BERT和GPT-2之類的Transformer模型,ONNX可以提供出色的優(yōu)化(我們測(cè)得CPU上的吞吐量提高了40倍)。至于其他模型,Torchscript的性能可能勝過(guò)普通PyTorch,不過(guò)也有一些地方要注意,因?yàn)椴⒎撬心P投寄芨蓛舻貙?dǎo)出到Torchscript。

幸好,您可以并行測(cè)試所有這三種方法,看看哪種方法最適合您的特定API。

原文標(biāo)題:How to deploy PyTorch Lightning models to production,作者:Caleb Kaiser

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2025-02-17 08:00:00

機(jī)器學(xué)習(xí)開(kāi)發(fā)Docker

2018-01-08 09:09:46

機(jī)器學(xué)習(xí)模型NET

2015-03-18 10:29:01

私有云混合云云API

2019-08-08 08:00:00

深度學(xué)習(xí)機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2012-08-17 11:04:57

IBMdW

2025-01-08 08:30:38

2011-05-04 09:29:22

2017-04-05 13:24:35

互聯(lián)網(wǎng)

2023-06-07 09:00:00

JavaScript開(kāi)發(fā)TypeScript

2009-06-29 17:07:54

EJB部署Jboss

2024-05-30 08:40:41

大型語(yǔ)言模型LLM人工智能

2020-11-18 09:29:06

NginxHTTPHTTPS

2022-11-25 16:27:07

應(yīng)用開(kāi)發(fā)鴻蒙

2020-10-19 09:50:04

Spinnaker

2022-04-06 11:33:43

Linux桌面GNOME 42

2015-09-07 17:45:04

升級(jí)UbuntuLinux

2023-11-11 19:07:23

SilverblueLinux

2014-09-01 09:49:24

github

2024-09-02 22:51:59

結(jié)構(gòu)化架構(gòu)模型

2023-11-20 22:35:32

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

福利一区二区三区四区| 国产欧美精品一二三| 极品白浆推特女神在线观看| 免费精品视频最新在线| 欧美另类高清videos| a天堂视频在线观看| 久久国产三级| 亚洲成人av电影在线| 日韩精品久久久免费观看| 国产精品区在线观看| 国产精品久久久久毛片大屁完整版| 亚洲午夜av电影| 久久久久亚洲av成人网人人软件| 成人看片在线观看| 夜夜嗨av一区二区三区网页| 色之综合天天综合色天天棕色| 国产v片在线观看| 日韩电影在线免费看| 久久久久久免费精品| 国产jizz18女人高潮| 在线亚洲a色| 欧美成人一区二区三区在线观看 | 国产又粗又长又爽| 成人在线视频www| 色香蕉久久蜜桃| 久激情内射婷内射蜜桃| 麻豆传媒在线完整视频| 久久久久久99久久久精品网站| av一区二区三区在线观看| 欧美日韩在线视频播放| 最新亚洲激情| 欧美精品在线播放| 亚洲天堂一级片| 精品一级毛片| 亚洲深夜福利在线| 国产亚洲色婷婷久久99精品91| 99re8精品视频在线观看| 在线这里只有精品| 成人免费无码av| 日本不卡1234视频| 五月天国产精品| 日本大片免费看| 亚洲综合影视| 亚洲精品美腿丝袜| 日本美女爱爱视频| 97caopron在线视频| 亚洲天堂免费看| 亚洲第一精品区| 黄色av网站在线播放| 欧美精彩视频一区二区三区| 日本精品一区二区| 福利片在线看| 国产精品美女久久福利网站| 日本一区免费观看| 国产精品麻豆一区二区三区 | 91精品少妇一区二区三区蜜桃臀| 国产精品一在线观看| 亚洲欧洲日本专区| 中文天堂资源在线| 欧美成人自拍| 久久久精品国产| 欧美日韩精品亚洲精品| 精品99视频| 538国产精品视频一区二区| av大片免费在线观看| 亚洲欧美日韩在线观看a三区 | 免费拍拍拍网站| 久久男人天堂| 欧洲生活片亚洲生活在线观看| 亚洲成色www.777999| 欧美亚洲综合视频| 日韩一区二区电影在线| 五月天丁香社区| 欧美猛男男男激情videos| 自拍偷拍亚洲在线| 国产成人av免费在线观看| 中文字幕一区二区av| 欧美大片免费观看| 欧美日韩精品区| 日本在线不卡一区| 亚洲自拍偷拍福利| 午夜福利理论片在线观看| 国产日韩欧美在线一区| 91成人在线视频观看| 精精国产xxxx视频在线中文版| 精品国产福利在线| 亚洲一区精品视频在线观看| 91蝌蚪精品视频| 亚洲日韩欧美视频| 精品国产乱码久久久久久鸭王1| 99精品福利视频| 国产欧美日韩高清| 神马午夜电影一区二区三区在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产一二三四五| 欧美专区福利免费| 日韩午夜中文字幕| www色com| 中文高清一区| 92国产精品视频| 日韩专区一区二区| 一区二区在线看| 亚欧在线免费观看| 91欧美极品| 精品国模在线视频| 免费看毛片网站| 成人免费毛片aaaaa**| 亚洲成人自拍| 男人天堂视频在线观看| 91精品福利在线一区二区三区 | 色妹子一区二区| 人妻精油按摩bd高清中文字幕| 国产区精品区| 2020国产精品视频| 黄色aaa毛片| 亚洲欧美日韩在线| 中文字幕在线导航| 网友自拍一区| 久久免费精品视频| www.com欧美| 综合分类小说区另类春色亚洲小说欧美| 精品国产一二三四区| 日韩精品三级| 久久精品国产一区二区电影| 国产又粗又猛又爽又| 99久久精品国产一区二区三区| 亚洲一区 在线播放| 色婷婷成人网| 在线观看中文字幕亚洲| 无码人妻精品一区二区50| www.亚洲人| 免费在线黄网站| 久久亚洲精精品中文字幕| www.色综合| 中文在线字幕免费观| 国产午夜精品久久| 国产黄色特级片| 久久99国产成人小视频| 538国产精品一区二区在线 | 真实的国产乱xxxx在线91| 99精品视频在线观看免费| 日本熟妇人妻xxxx| 盗摄牛牛av影视一区二区| 日韩在线不卡视频| 91麻豆成人精品国产免费网站| 国产精品萝li| 中文字幕成人免费视频| 一本精品一区二区三区| 亚洲自拍小视频| 超碰最新在线| 亚洲精品一区二区三区香蕉| 18精品爽视频在线观看| 成人黄色网址在线观看| 久久久久久免费看| 欧美freesex8一10精品| 午夜精品一区二区三区视频免费看| 国产 日韩 欧美 综合| 亚洲图片自拍偷拍| 黄色av网址在线观看| 亚洲一区二区成人| 日韩电影在线播放| 在线观看亚洲精品福利片| 久青草国产97香蕉在线视频| 亚洲精品国偷拍自产在线观看蜜桃| 亚洲午夜在线电影| 男女黄床上色视频| 免费成人美女在线观看.| 亚洲欧美日韩国产yyy| 国产午夜精品一区在线观看| 久久久女人电视剧免费播放下载| 色哟哟国产精品色哟哟| 色欧美乱欧美15图片| 天堂av免费在线| 丁香婷婷综合网| 日韩黄色片视频| 91蜜臀精品国产自偷在线 | 亚洲av永久纯肉无码精品动漫| 亚洲电影中文字幕在线观看| av直播在线观看| 麻豆中文一区二区| 青青在线免费观看| 欧美日韩激情| aaa级精品久久久国产片| 超碰国产一区| 欧美精品在线视频观看| 亚洲 另类 春色 国产| 欧洲av一区二区嗯嗯嗯啊| 破处女黄色一级片| 久久麻豆一区二区| 午夜免费福利网站| 六月婷婷一区| 久久久久久久久网| 精品国产a一区二区三区v免费| 91精品啪aⅴ在线观看国产| 国产va在线视频| 精品国模在线视频| 九色蝌蚪在线| 日韩精品自拍偷拍| 亚洲天堂aaa| 精品久久久久久久久久久久久久 | 波多野结衣先锋影音| 久久99精品一区二区三区三区| 人妻少妇精品无码专区二区| 97精品视频| 人偷久久久久久久偷女厕| 超碰97久久国产精品牛牛| 国产女人精品视频| 欧美三区四区| 2021国产精品视频| 国产淫片在线观看| 国产一区二区久久精品| av女名字大全列表| 精品精品欲导航| 91片黄在线观看喷潮| 欧美性受xxxx| 亚洲欧美综合自拍| 亚洲电影一区二区三区| 欧美成人免费观看视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品调教视频| 国产精品小说在线| 偷拍视频一区二区三区| 国内精品久久久久| 色老头在线观看| 久久伊人精品天天| 美国成人毛片| 亚洲老头老太hd| 天天干,天天操,天天射| 欧美mv日韩mv国产| 亚洲大尺度网站| 日韩一区二区三区精品视频| 夜夜嗨aⅴ一区二区三区| 日本道免费精品一区二区三区| 国产视频91在线| 午夜国产不卡在线观看视频| 欧美交换国产一区内射| 亚洲激情在线激情| 1024手机在线视频| 亚洲精品成人在线| 欧美极品视频在线观看| 亚洲资源中文字幕| 四虎成人精品永久免费av| 同产精品九九九| 在线观看亚洲欧美| 色香蕉成人二区免费| 成人毛片一区二区三区| 91久久国产最好的精华液| 欧美a视频在线观看| 91精品91久久久中77777| 亚洲av无码不卡| 欧美日韩一区高清| 91丨porny丨在线中文 | 成人黄色在线电影| 欧美久久精品午夜青青大伊人| 国产超级va在线视频| 欧美国产日韩精品| 精品众筹模特私拍视频| 国内免费久久久久久久久久久| 超碰91在线观看| 日韩免费高清在线观看| 色猫猫成人app| 成人综合网网址| 97视频一区| 久久综合九九| 欧美aaaa视频| 国产真实老熟女无套内射| 翔田千里一区二区| 中文字幕亚洲乱码| 国产精品一区免费视频| 日b视频在线观看| 欧美韩国日本不卡| 69av.com| 日韩欧美高清在线视频| 亚洲影院一区二区三区| 日韩一级完整毛片| 四虎精品成人影院观看地址| 一个色综合导航| 日本色护士高潮视频在线观看 | 亚洲精品555| 5g影院天天爽成人免费下载| 老牛国内精品亚洲成av人片| 视频一区二区三区在线观看 | 国产二区视频在线播放| 日本 国产 欧美色综合| 人妻体体内射精一区二区| 99免费精品视频| 麻豆一区在线观看| 午夜精品福利在线| 在线免费看av的网站| 精品国产自在久精品国产| 精品久久久久一区二区三区 | 久久久久久久久97| 在线免费观看视频一区| 狠狠躁日日躁夜夜躁av| 中文字幕日韩在线播放| 阿v视频在线| 国产精品扒开腿做爽爽爽的视频| 欧美一级大片在线视频| 日韩欧美精品久久| 亚洲欧洲一级| aaaaaaaa毛片| 中文字幕精品—区二区四季| 国产大片中文字幕在线观看| 欧美日韩三级一区二区| 熟妇人妻av无码一区二区三区| www.久久久久| 日韩欧美少妇| 久久草视频在线看| 欧美在线免费| 国产福利在线免费| 久久久久九九视频| wwwxxx亚洲| 日韩视频免费观看高清完整版在线观看 | 亚洲欧美一区二区三区四区五区| 亚洲大尺度视频在线观看| 中文字幕人妻丝袜乱一区三区| 亚洲精品国产综合区久久久久久久| 成人欧美在线| 国产欧美在线看| 国产成人ay| 久久免费视频3| 99在线精品免费| 久久精品女人毛片国产| 欧美一区二区播放| 黄色免费在线看| 国产日韩在线看片| 欧美日韩黑人| 91日韩视频在线观看| 国产亚洲一区字幕| caoporn国产| 精品香蕉一区二区三区| 国产伦理精品| 国产三级精品在线不卡| 欧美日韩视频| 91人妻一区二区| 亚洲高清视频的网址| 乱精品一区字幕二区| 欧美寡妇偷汉性猛交| 亚洲图色一区二区三区| 国产黄色激情视频| 国产91高潮流白浆在线麻豆| 一区视频免费观看| 日韩欧美一级片| 欧美草逼视频| 激情五月综合色婷婷一区二区| 伊人久久大香线蕉综合热线| 国产不卡一二三| 欧美日韩在线免费观看| 嫩草精品影院| 国产精品久久久久久影视 | 欧美国产视频一区| 成人免费视频播放| www欧美在线| 国产亚洲欧美另类中文| 日日夜夜一区| 69精品丰满人妻无码视频a片| 国产成人av一区二区三区在线 | 欧美日韩国产精品综合| 亚洲精品一线二线三线| 色戒汤唯在线| 日韩激情久久| 国产乱子伦一区二区三区国色天香| 欧美日韩综合一区二区| 亚洲字幕av一区二区三区四区| 久久综合伊人77777蜜臀| 哺乳一区二区三区中文视频| 日韩av在线第一页| 欧美国产精品中文字幕| 国产熟女一区二区三区五月婷 | 只有这里有精品| 成人天堂资源www在线| 日本黄色一级视频| 久久国产加勒比精品无码| 99久久人爽人人添人人澡 | 亚洲人成在线电影| 天天综合91| 日韩网站在线免费观看| 欧美精彩视频一区二区三区| 精品人妻一区二区三区三区四区| 欧美性做爰毛片| 婷婷中文字幕一区| 88av在线播放| 欧美日韩亚洲另类| 变态调教一区二区三区| 亚洲 日韩 国产第一区| 国产成人自拍高清视频在线免费播放| 欧美日韩综合在线观看| 日韩中文在线中文网三级| 精品资源在线| 亚洲一二三av| 色综合久久久久综合体| 直接在线观看的三级网址| 蜜桃视频成人| 国产成人av一区二区三区在线观看| 亚洲av无码不卡| 高清一区二区三区四区五区| 精品免费一区二区| 少妇被狂c下部羞羞漫画| 欧美亚一区二区| 免费v片在线观看|