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

DJL 如何正確打開(kāi) [ 深度學(xué)習(xí) ]

人工智能 深度學(xué)習(xí)
為了減少Java開(kāi)發(fā)者學(xué)習(xí)深度學(xué)習(xí)的成本,AWS構(gòu)建了一個(gè)Deep Java Library(DJL),一個(gè)為Java開(kāi)發(fā)者定制的開(kāi)源深度學(xué)習(xí)框架,其為開(kāi)發(fā)者對(duì)接主流深度學(xué)習(xí)框架,提供了一個(gè)接口。

 [[350239]]

本文轉(zhuǎn)載自微信公眾號(hào)「小明菜市場(chǎng)」,作者小明菜市場(chǎng)。轉(zhuǎn)載本文請(qǐng)聯(lián)系小明菜市場(chǎng)公眾號(hào)。

前言

很長(zhǎng)時(shí)間,Java都是一個(gè)相當(dāng)受歡迎的企業(yè)編程語(yǔ)言,其框架豐富,生態(tài)完善。Java擁有龐大的開(kāi)發(fā)者社區(qū),盡管深度學(xué)習(xí)應(yīng)用不斷推進(jìn)和演化,但是相關(guān)的深度學(xué)習(xí)框架對(duì)于Java來(lái)說(shuō)相當(dāng)?shù)南∩伲F(xiàn)如今,主要模型都是Python編譯和訓(xùn)練,對(duì)于Java開(kāi)發(fā)者來(lái)說(shuō),如果想要學(xué)習(xí)深度學(xué)習(xí),就需要接受一門(mén)新的語(yǔ)言的洗禮。為了減少Java開(kāi)發(fā)者學(xué)習(xí)深度學(xué)習(xí)的成本,AWS構(gòu)建了一個(gè)Deep Java Library(DJL),一個(gè)為Java開(kāi)發(fā)者定制的開(kāi)源深度學(xué)習(xí)框架,其為開(kāi)發(fā)者對(duì)接主流深度學(xué)習(xí)框架,提供了一個(gè)接口。

什么是深度學(xué)習(xí)

在開(kāi)始之前,先了解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)基礎(chǔ)概念。機(jī)器學(xué)習(xí)是一個(gè)利用統(tǒng)計(jì)學(xué)知識(shí),把數(shù)據(jù)輸入到計(jì)算機(jī)中進(jìn)行訓(xùn)練并完成特定目標(biāo)任務(wù)的過(guò)程,這種歸納學(xué)習(xí)方法可以讓計(jì)算機(jī)學(xué)習(xí)一些特征并進(jìn)行一系列復(fù)雜的任務(wù),比如識(shí)別照片中的物體。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,主要側(cè)重于對(duì)于人工神經(jīng)網(wǎng)絡(luò)的開(kāi)發(fā),人工神經(jīng)網(wǎng)絡(luò)是通過(guò)研究人腦如何學(xué)習(xí)和實(shí)現(xiàn)目標(biāo)的過(guò)程中,歸納出的一套計(jì)算邏輯。通過(guò)模擬部分人腦神經(jīng)間信息傳遞的過(guò)程,從而實(shí)現(xiàn)各種復(fù)雜的任務(wù),深度學(xué)習(xí)中的深度來(lái)源于會(huì)在人工神經(jīng)網(wǎng)絡(luò)中編制出,構(gòu)建出許多層,從而進(jìn)一步對(duì)數(shù)據(jù)信息進(jìn)行更為深層次的傳導(dǎo)。

訓(xùn)練 MNIST 手寫(xiě)數(shù)字識(shí)別

項(xiàng)目配置

利用 gradle 配置引入依賴包,用DJL的api包和basicdataset包來(lái)構(gòu)建神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)集,這個(gè)案例,使用 MXNet作為深度學(xué)習(xí)引擎,所以引入mxnet-engine和mxnet-native-auto兩個(gè)包,依賴如下

  1. plugins { 
  2.     id 'java' 
  3. repositories {                            
  4.     jcenter() 
  5. dependencies { 
  6.     implementation platform("ai.djl:bom:0.8.0"
  7.     implementation "ai.djl:api" 
  8.     implementation "ai.djl:basicdataset" 
  9.     // MXNet 
  10.     runtimeOnly "ai.djl.mxnet:mxnet-engine" 
  11.     runtimeOnly "ai.djl.mxnet:mxnet-native-auto" 

NDArry 和 NDManager

NDArray 是 DJL 存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)和數(shù)學(xué)運(yùn)算的基本結(jié)構(gòu),一個(gè)NDArry表達(dá)了一個(gè)定長(zhǎng)的多維數(shù)組,NDArry的使用方法,類似于Python的numpy.ndarry。NDManager是NDArry的管理者,其負(fù)責(zé)管理NDArry的產(chǎn)生和回收過(guò)程,這樣可以幫助我們更好的對(duì)Java內(nèi)存進(jìn)行優(yōu)化,每一個(gè)NDArry都會(huì)由一個(gè)NDManager創(chuàng)造出來(lái),同時(shí)他們會(huì)在NDManager關(guān)閉時(shí)一同關(guān)閉,

Model

在 DJL 中,訓(xùn)練和推理都是從 Model class 開(kāi)始構(gòu)建的,我們?cè)谶@里主要訓(xùn)練過(guò)程中的構(gòu)建方法,下面我們?yōu)?Model 創(chuàng)建一個(gè)新的目標(biāo),因?yàn)? Model 也是繼承了 AutoClosable 結(jié)構(gòu)體,用一個(gè) try block實(shí)現(xiàn)。

  1. try (Model model = Model.newInstance()) { 
  2.     ... 
  3.     // 主體訓(xùn)練代碼 
  4.     ... 

準(zhǔn)備數(shù)據(jù)

MNIST 數(shù)據(jù)庫(kù)包含大量的手寫(xiě)數(shù)字的圖,通常用來(lái)訓(xùn)練圖像處理系統(tǒng),DJL已經(jīng)把MNIST的數(shù)據(jù)收集到了 basicdataset 數(shù)據(jù)里,每個(gè) MNIST 的圖的大小是 28 * 28, 如果有自己的數(shù)據(jù)集,同樣可以使用同理來(lái)收集數(shù)據(jù)。

數(shù)據(jù)集導(dǎo)入教程 http://docs.djl.ai/docs/development/how_to_use_dataset.html#how-to-create-your-own-dataset

  1. int batchSize = 32; // 批大小 
  2. Mnist trainingDataset = Mnist.builder() 
  3.         .optUsage(Usage.TRAIN) // 訓(xùn)練集 
  4.         .setSampling(batchSize, true
  5.         .build(); 
  6. Mnist validationDataset = Mnist.builder() 
  7.         .optUsage(Usage.TEST) // 驗(yàn)證集 
  8.         .setSampling(batchSize, true
  9.         .build(); 

這段代碼分別制作了訓(xùn)練和驗(yàn)證集,同時(shí)我們也隨機(jī)的排列了數(shù)據(jù)集從而更好的訓(xùn)練,除了這些配置以外,也可以對(duì)圖片進(jìn)行進(jìn)一步的設(shè)置,例如設(shè)置圖片大小,歸一化處理。

制作 model 建立 block

當(dāng)數(shù)據(jù)集準(zhǔn)備就緒以后,就可以構(gòu)建神經(jīng)網(wǎng)絡(luò),在DJL 中,神經(jīng)網(wǎng)絡(luò)是由 Block 代碼塊構(gòu)成的,一個(gè)Block是一個(gè)具備多種神經(jīng)網(wǎng)絡(luò)特性的結(jié)構(gòu),他們可以代表一個(gè)操作神經(jīng)網(wǎng)絡(luò)的一部分,甚至一個(gè)完整的神經(jīng)網(wǎng)絡(luò),然后 block 就可以順序的執(zhí)行或者并行。同時(shí) block 本身也可以帶參數(shù)和子block,這種嵌套結(jié)構(gòu)可以快速的幫助更新一個(gè)可維護(hù)的神經(jīng)網(wǎng)絡(luò),在訓(xùn)練過(guò)程中,每個(gè)block附帶參數(shù)也會(huì)實(shí)時(shí)更新,同時(shí)也會(huì)更新其子 block。當(dāng)我們構(gòu)建這些 block 的過(guò)程中,最簡(jiǎn)單的方式就是把他們一個(gè)一個(gè)嵌套起來(lái),直接使用準(zhǔn)備好的 DJL的 Block 種類,我們就可以快速制作各種神經(jīng)網(wǎng)絡(luò)。

block 變體

根據(jù)幾種基本的神經(jīng)網(wǎng)絡(luò)工作模式,我們提供幾種Block的變體,

  1. SequentialBlock 是為了輸出作為下一個(gè)block的輸入繼續(xù)執(zhí)行到底。
  2. parallelblock 是用于將一個(gè)輸入并行輸入到每一個(gè)子block中,同時(shí)也將輸出結(jié)果根據(jù)特定的合并方程合并起來(lái)。
  3. lambdablock 是幫助用戶進(jìn)行快速操作的一個(gè)block,其中不具備任何參數(shù),所以在訓(xùn)練的過(guò)程中沒(méi)有任何部分在訓(xùn)練過(guò)程中更新。

構(gòu)建多層感知機(jī) MLP 神經(jīng)網(wǎng)絡(luò)

我們構(gòu)建一個(gè)簡(jiǎn)單的多層感知機(jī)神經(jīng)網(wǎng)絡(luò),多層感知機(jī)是一個(gè)簡(jiǎn)單的前向型神經(jīng)網(wǎng)絡(luò),只包含幾個(gè)全連接層,構(gòu)建這個(gè)網(wǎng)路可以直接使用 sequentialblock

  1. int input = 28 * 28; // 輸入層大小 
  2. int output = 10; // 輸出層大小 
  3. int[] hidden = new int[] {128, 64}; // 隱藏層大小 
  4. SequentialBlock sequentialBlock = new SequentialBlock(); 
  5. sequentialBlock.add(Blocks.batchFlattenBlock(input)); 
  6. for (int hiddenSize : hidden) { 
  7.     // 全連接層 
  8.     sequentialBlock.add(Linear.builder().setUnits(hiddenSize).build()); 
  9.     // 激活函數(shù) 
  10.     sequentialBlock.add(activation); 
  11. sequentialBlock.add(Linear.builder().setUnits(output).build()); 

可以使用直接提供好的 MLP Block

  1. Block block = new Mlp( 
  2.         Mnist.IMAGE_HEIGHT * Mnist.IMAGE_WIDTH, 
  3.         Mnist.NUM_CLASSES, 
  4.         new int[] {128, 64}); 

訓(xùn)練

使用如下幾個(gè)步驟,

完成一個(gè)訓(xùn)練過(guò)程初始化:我們會(huì)對(duì)每一個(gè)Block的參數(shù)進(jìn)行初始化,初始化每個(gè)參數(shù)的函數(shù)都是由設(shè)定的 initializer決定的。前向傳播:這一步把輸入數(shù)據(jù)在神經(jīng)網(wǎng)絡(luò)中逐層傳遞,然后產(chǎn)生輸出數(shù)據(jù)。計(jì)算損失:我們會(huì)根據(jù)特定的損失函數(shù) loss 來(lái)計(jì)算輸出和標(biāo)記結(jié)果的偏差。反向傳播:在這一步中,利用損失反向求導(dǎo)計(jì)算出每一個(gè)參數(shù)的梯度。更新權(quán)重,會(huì)根據(jù)選擇的優(yōu)化器,更新每一個(gè)在 Block 上的參數(shù)的值。

精簡(jiǎn)

DJL 利用了 Trainer 結(jié)構(gòu)體精簡(jiǎn)了整個(gè)過(guò)程,開(kāi)發(fā)者只需要?jiǎng)?chuàng)建Trainer 并指定對(duì)應(yīng)的initializer,loss,optimizer即可,這些參數(shù)都是由TrainingConfig設(shè)定,來(lái)看參數(shù)的設(shè)置。TrainingListener 訓(xùn)練過(guò)程設(shè)定的監(jiān)聽(tīng)器,可以實(shí)時(shí)反饋每個(gè)階段的訓(xùn)練結(jié)果,這些結(jié)果可以用于記錄訓(xùn)練過(guò)程或者幫助 debug 神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中遇到的問(wèn)題。用戶可以定制自己的 TrainingListener 來(lái)訓(xùn)練過(guò)程進(jìn)行監(jiān)聽(tīng)

  1. DefaultTrainingConfig config = new DefaultTrainingConfig(Loss.softmaxCrossEntropyLoss()) 
  2.     .addEvaluator(new Accuracy()) 
  3.     .addTrainingListeners(TrainingListener.Defaults.logging()); 
  4. try (Trainer trainer = model.newTrainer(config)){ 
  5.     // 訓(xùn)練代碼 

訓(xùn)練產(chǎn)生以后,可以定義輸入的 Shape,之后可以調(diào)用 git函數(shù)進(jìn)行訓(xùn)練,結(jié)果會(huì)保存在本地目錄下

  1. /* 
  2.  * MNIST 包含 28x28 灰度圖片并導(dǎo)入成 28 * 28 NDArray。 
  3.  * 第一個(gè)維度是批大小, 在這里我們?cè)O(shè)置批大小為 1 用于初始化。 
  4.  */ 
  5. Shape inputShape = new Shape(1, Mnist.IMAGE_HEIGHT * Mnist.IMAGE_WIDTH); 
  6. int numEpoch = 5; 
  7. String outputDir = "/build/model"
  8.  
  9. // 用輸入初始化 trainer 
  10. trainer.initialize(inputShape); 
  11.  
  12. TrainingUtils.fit(trainer, numEpoch, trainingSet, validateSet, outputDir, "mlp"); 

輸出的結(jié)果圖

  1. [INFO ] - Downloading libmxnet.dylib ... 
  2. [INFO ] - Training on: cpu(). 
  3. [INFO ] - Load MXNet Engine Version 1.7.0 in 0.131 ms. 
  4. Training:    100% |████████████████████████████████████████| Accuracy: 0.93, SoftmaxCrossEntropyLoss: 0.24, speed: 1235.20 items/sec 
  5. Validating:  100% |████████████████████████████████████████| 
  6. [INFO ] - Epoch 1 finished. 
  7. [INFO ] - Train: Accuracy: 0.93, SoftmaxCrossEntropyLoss: 0.24 
  8. [INFO ] - Validate: Accuracy: 0.95, SoftmaxCrossEntropyLoss: 0.14 
  9. Training:    100% |████████████████████████████████████████| Accuracy: 0.97, SoftmaxCrossEntropyLoss: 0.10, speed: 2851.06 items/sec 
  10. Validating:  100% |████████████████████████████████████████| 
  11. [INFO ] - Epoch 2 finished.NG [1m 41s] 
  12. [INFO ] - Train: Accuracy: 0.97, SoftmaxCrossEntropyLoss: 0.10 
  13. [INFO ] - Validate: Accuracy: 0.97, SoftmaxCrossEntropyLoss: 0.09 
  14. [INFO ] - train P50: 12.756 ms, P90: 21.044 ms 
  15. [INFO ] - forward P50: 0.375 ms, P90: 0.607 ms 
  16. [INFO ] - training-metrics P50: 0.021 ms, P90: 0.034 ms 
  17. [INFO ] - backward P50: 0.608 ms, P90: 0.973 ms 
  18. [INFO ] - step P50: 0.543 ms, P90: 0.869 ms 
  19. [INFO ] - epoch P50: 35.989 s, P90: 35.989 s 

訓(xùn)練結(jié)束以后,就可以對(duì)模型進(jìn)行識(shí)別了和使用了。

關(guān)于作者

我是小小,一個(gè)生于二線城市活在一線城市的小小,本期結(jié)束,我們下期再見(jiàn)。

 

責(zé)任編輯:武曉燕 來(lái)源: 小明菜市場(chǎng)
相關(guān)推薦

2023-01-06 08:24:00

PandasPython

2024-09-13 15:24:20

深度學(xué)習(xí)自動(dòng)微分

2010-01-28 09:44:08

C++應(yīng)用程序

2017-05-17 15:09:06

深度學(xué)習(xí)人工智能

2016-12-27 14:06:36

Python代碼基礎(chǔ)

2023-08-17 14:22:17

深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2017-08-03 11:00:20

2016-12-12 08:48:24

2021-07-01 08:00:00

深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu)

2021-03-08 11:28:59

人工智能深度學(xué)習(xí)Python

2017-03-18 16:28:40

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2010-01-13 10:45:44

Visual C++

2018-06-16 23:11:35

2017-06-05 16:17:50

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

2019-08-19 09:10:14

人工智能深度學(xué)習(xí)技術(shù)

2019-04-16 09:27:46

2022-03-22 07:37:04

FeignSpringRibbon

2017-09-20 18:20:24

深度學(xué)習(xí)圖像處理心臟病

2023-09-12 16:20:04

邊緣AI深度學(xué)習(xí)
點(diǎn)贊
收藏

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

久久久久久久综合| 水蜜桃精品av一区二区| 激情成人在线视频| 欧美黄色直播| 国产女人18毛片18精品| 亚洲激情av| 中文字幕日韩av综合精品| 下面一进一出好爽视频| 天堂电影一区| 亚洲欧美日本在线| 久久偷窥视频| 性欧美8khd高清极品| 另类av一区二区| 萌白酱国产一区二区| 日本免费福利视频| 秋霞午夜一区二区三区视频| 色综合久久综合中文综合网| 久久久久福利视频| 成年人视频网站在线| 国产自产2019最新不卡| 欧美亚州一区二区三区| 亚洲欧美卡通动漫| 国产精品密蕾丝视频下载| 日韩精品一区国产麻豆| 婷婷免费在线观看| www.精品| 香蕉久久一区二区不卡无毒影院| 伊人久久99| 国产综合视频一区二区三区免费| 成人动漫一区二区在线| 成人性教育视频在线观看| 欧美a视频在线观看| 亚洲国产黄色| 欧美黑人巨大xxx极品| 少妇视频一区二区| 国产一区二区三区四区大秀| 日韩精品免费电影| 少妇一级淫免费观看| 中文一区二区三区四区| 91精品国产综合久久香蕉的特点| 天天插天天操天天射| 在线免费看h| 欧美日韩午夜剧场| 日日碰狠狠添天天爽超碰97| 女同一区二区免费aⅴ| 亚洲欧美日韩电影| 日韩中文在线字幕| 超碰在线无需免费| 国产精品家庭影院| 亚洲综合首页| 免费黄色在线网站| 国产精品久久久久aaaa樱花| 亚洲精品9999| 麻豆tv在线| 亚洲欧洲成人自拍| 色哺乳xxxxhd奶水米仓惠香| av片在线观看永久免费| 一区二区三区在线影院| 蜜臀在线免费观看| 青青青草视频在线| 亚洲成a人v欧美综合天堂下载| 人妻激情另类乱人伦人妻| 日本乱理伦在线| 亚洲va天堂va国产va久| 日韩国产欧美亚洲| 三级成人黄色影院| 欧美日韩一区视频| 亚洲视频在线不卡| 精品久久ai| 亚洲欧美制服中文字幕| 男人的天堂官网| 国产精品福利在线观看播放| 久久综合网hezyo| 免费一级片在线观看| 亚洲国产美女| 日韩免费观看高清| 97人妻人人澡人人爽人人精品| 狠狠色丁香婷综合久久| 国产精品99久久久久久久| 午夜性色福利视频| 中文av一区特黄| 黄色a级在线观看| xxxx成人| 欧美日韩综合不卡| jjzz黄色片| 精品国产一区二区三区四区| 久久影院模特热| 亚洲精品国产精品乱码| 视频一区二区欧美| 亚洲xxx自由成熟| 深夜福利在线视频| 综合欧美亚洲日本| 久久久一本二本三本| 粉嫩91精品久久久久久久99蜜桃| 日韩你懂的在线观看| a级在线观看视频| 婷婷综合视频| 欧美在线一区二区视频| 国产裸体永久免费无遮挡| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲视频电影| 亚洲黄色免费看| 欧美一区二区视频观看视频| 熟女俱乐部一区二区| 欧美淫片网站| 国产成人一区三区| 男人天堂综合网| 国产精品对白交换视频| 欧美二区在线视频| 久久精品一级| 一区二区国产精品视频| 日韩黄色在线视频| 国产一区二区三区精品视频| 人偷久久久久久久偷女厕| 欧美xxxx做受欧美88bbw| 欧美日韩国产综合视频在线观看 | 久久精品国产精品亚洲精品| 国产精品久久久久久久久久久久午夜片| 大胆av不用播放器在线播放 | 久久精品水蜜桃av综合天堂| 欧美一级特黄aaaaaa在线看片| 亚洲精品在线影院| 日韩成人在线免费观看| 青青草免费av| 极品少妇xxxx精品少妇| 日本一区视频在线观看| 日本不良网站在线观看| 亚洲成人av在线| 欧美成人精品一区二区免费看片 | 2023国产精品久久久精品双| 国产精品大片wwwwww| 亚洲AV成人无码一二三区在线| 一区二区三区中文免费| 伊人精品视频在线观看| 日韩在线观看一区 | 大荫蒂性生交片| 国产成人视屏| 久久久国产影院| 国产一区二区在线播放视频| 国产精品少妇自拍| 欧美日韩怡红院| av伊人久久| 国产精品爽爽爽| chinese偷拍一区二区三区| 色综合欧美在线视频区| 麻豆精品免费视频| 首页国产欧美久久| 欧美一区三区二区在线观看| 成人性生活视频| 亚洲网在线观看| 欧美男人天堂网| 国产精品乱人伦中文| 亚洲另类第一页| 天天色综合色| 99九九视频| 毛片在线网站| 亚洲无限av看| 亚洲香蕉在线视频| 亚洲三级在线免费观看| 色哟哟免费视频| 在线观看视频日韩| 欧美日韩在线播放一区二区| 高清av一区二区三区| 色偷偷偷亚洲综合网另类| 一级α片免费看刺激高潮视频| 自拍偷自拍亚洲精品播放| 日本网站在线看| 亚洲精品综合| 图片区小说区区亚洲五月| 国产一区精品福利| 欧美猛少妇色xxxxx| 日本激情视频网站| 在线精品亚洲一区二区不卡| 亚洲欧美另类日本| 成人久久18免费网站麻豆| 欧美一区二区三区爽大粗免费| 国产欧美一区二区三区精品观看 | 精品国产九九九| 亚洲成av人片观看| 性猛交ⅹxxx富婆video | 欧美三级电影网站| 久久久精品国产sm调教| 久久亚洲一区二区三区明星换脸| 91国产精品视频在线观看| 中文av一区| 久久伊人资源站| 成人黄色91| 91av在线免费观看| 久久久久久国产精品免费无遮挡| 欧美成人猛片aaaaaaa| 欧美 日韩 精品| 亚洲人成网站在线| 中文字幕第4页| 国产福利视频一区二区三区| av动漫免费看| 欧美fxxxxxx另类| 欧美日韩综合久久| 天堂av一区| 国产精品91久久久久久| h片精品在线观看| 中文字幕亚洲一区在线观看| 色噜噜一区二区三区| 欧美日本韩国一区二区三区视频 | 国产精品久久久久毛片大屁完整版| 日韩妆和欧美的一区二区| 一区二区三区高清在线观看| 国产精品日韩精品| 久草在线资源福利站| 欧美理论电影在线播放| 1769在线观看| 亚洲精品在线视频| 亚洲国产精品久久人人爱潘金莲| 欧美在线制服丝袜| 日本少妇毛茸茸高潮| 亚洲图片你懂的| 成人黄色a级片| 久久久www免费人成精品| 少妇精品无码一区二区三区| 国产一区二区剧情av在线| 欧美成人黄色网址| 久久大逼视频| 黄色免费视频大全| 亚洲精品1区| 日韩一级片一区二区| 五月综合激情| 成年人黄色在线观看| 欧美色女视频| 日韩欧美亚洲日产国| 亚洲bt欧美bt精品777| 国产精品高清一区二区三区| 欧美午夜网站| 91久久中文字幕| 电影一区中文字幕| 成人看片人aa| 成人豆花视频| 91手机在线观看| 国产亚洲观看| 91影院未满十八岁禁止入内| 国产精品99久久免费| 91亚洲精品在线| 成人乱码手机视频| 91在线视频九色| 欧美午夜网站| 国产精品国产三级欧美二区| 国产欧美三级电影| 国产欧美日韩亚洲| 日韩三级毛片| 欧美成人一区二区在线| 免费一区二区三区视频导航| 欧美二区三区在线| av一区二区高清| 中国成人亚色综合网站| 91成人影院| 99热久久这里只有精品| 亚洲日本国产| 日本熟妇人妻xxxxx| 欧美96一区二区免费视频| www.com操| 国产在线国偷精品免费看| 蜜臀视频一区二区三区| 美女爽到高潮91| 亚洲精品在线网址| av色综合久久天堂av综合| 国产偷人妻精品一区| 国产亚洲制服色| 一区二区三区影视| 亚洲一区二区在线播放相泽| 国产精品成人国产乱| 色呦呦国产精品| 亚洲无码精品在线观看| 欧美va天堂va视频va在线| 天天干天天舔天天射| 在线日韩中文字幕| 羞羞的视频在线观看| 91精品国产色综合| 电影一区电影二区| 欧美一区二区在线不卡| av免费一区二区| 国产精品一区三区| 国产麻豆剧传媒精品国产av| 久久综合成人精品亚洲另类欧美| 蜜桃传媒一区二区亚洲| 成人免费一区二区三区在线观看 | 亚洲视频在线观看三级| 免费看一级一片| 色综合色狠狠综合色| 国产露脸国语对白在线| 亚洲精品久久久久中文字幕欢迎你| 国产精品ⅴa有声小说| 欧美另类交人妖| 性欧美又大又长又硬| 91欧美日韩一区| 日韩电影不卡一区| 中文字幕一区二区三区5566| 精品1区2区3区4区| 九色porny自拍| 国产成人精品影视| av永久免费观看| 亚洲va韩国va欧美va| 亚洲一线在线观看| 亚洲精品美女久久久| 91麻豆免费在线视频| 欧洲日韩成人av| av不卡一区| 亚洲看片网站| 每日更新成人在线视频| 亚洲少妇一区二区| 中文字幕在线观看不卡| 91在线视频在线观看| 精品国产不卡一区二区三区| av在线播放av| 欧美自拍视频在线观看| eeuss鲁片一区二区三区| 中文字幕中文字幕99| 久久久xxx| www国产视频| 亚洲精品中文在线影院| 中文字幕乱码中文字幕| 日韩精品免费电影| 国产精品yjizz视频网| 95av在线视频| 国产精品精品国产一区二区| 国产成人久久777777| 99久久er热在这里只有精品15| 欧美又粗又大又长| 欧美美女一区二区| 超碰在线国产| 国产成人亚洲综合91| 亚洲69av| 成人av一级片| 99精品欧美一区| 国产精品theporn动漫| 欧美不卡一区二区| 国产最新在线| 成人免费福利在线| 五月激情综合| 国产91在线免费观看| 亚洲另类在线一区| 国产视频在线免费观看| 久久精品福利视频| 精品国产鲁一鲁****| 一级全黄肉体裸体全过程| 久久国产精品色婷婷| 午夜激情福利电影| 欧美日韩和欧美的一区二区| 三级外国片在线观看视频| 国产精品免费网站| 久久精品国产68国产精品亚洲| 中文久久久久久| 中文字幕一区二区三区在线不卡| 伊人网中文字幕| 最近2019好看的中文字幕免费| 成人久久网站| 正在播放一区| 粉嫩aⅴ一区二区三区四区五区| 国产小视频在线观看免费| 精品黑人一区二区三区久久| 91美女主播在线视频| 久久99精品国产一区二区三区| 亚洲欧美成人| 91精品国自产在线| 91麻豆精品国产91| 毛片网站在线看| 久久草.com| 日本不卡123| 亚洲天堂黄色片| 精品国产乱子伦一区| 日本三级一区| 亚洲午夜久久久影院伊人| 国产在线精品视频| 人人干人人干人人干| 亚洲视频在线看| 成人短视频软件网站大全app| 日韩精品综合在线| 久久久www免费人成精品| 91麻豆国产视频| 久久久日本电影| 欧美亚洲国产一区| 中文字幕乱妇无码av在线| 黑人精品xxx一区| 最新真实国产在线视频| aa成人免费视频| 美女精品网站| 日本a级片视频| 亚洲欧美一区二区激情| 高清国产一区二区三区四区五区| 日本午夜激情视频| 国产精品色哟哟| 蜜臀av在线观看| 国产精品在线看| 一区二区高清| www.5588.com毛片| 亚洲美女视频网| av成人综合| 欧美日韩精品区别| 精品久久久久久中文字幕大豆网| 日本不卡三区| 欧美日本国产精品| 国产丶欧美丶日本不卡视频| 亚洲成人av网址|