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

如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

人工智能 機(jī)器學(xué)習(xí) 新聞
圖像分類是計(jì)算機(jī)視覺(jué)的最重要應(yīng)用之一。它的應(yīng)用范圍包括從自動(dòng)駕駛汽車中的物體分類到醫(yī)療行業(yè)中的血細(xì)胞識(shí)別,從制造業(yè)中的缺陷物品識(shí)別到建立可以對(duì)戴口罩與否的人進(jìn)行分類的系統(tǒng)。

介紹

圖像分類是計(jì)算機(jī)視覺(jué)的最重要應(yīng)用之一。它的應(yīng)用范圍包括從自動(dòng)駕駛汽車中的物體分類到醫(yī)療行業(yè)中的血細(xì)胞識(shí)別,從制造業(yè)中的缺陷物品識(shí)別到建立可以對(duì)戴口罩與否的人進(jìn)行分類的系統(tǒng)。在所有這些行業(yè)中,圖像分類都以一種或另一種方式使用。他們是如何做到的呢?他們使用哪個(gè)框架?

你必須已閱讀很多有關(guān)不同深度學(xué)習(xí)框架(包括TensorFlow,PyTorch,Keras等)之間差異的信息。TensorFlow和PyTorch無(wú)疑是業(yè)內(nèi)最受歡迎的框架。我相信你會(huì)發(fā)現(xiàn)無(wú)窮的資源來(lái)學(xué)習(xí)這些深度學(xué)習(xí)框架之間的異同。

[[348640]]

在本文中,我們將了解如何在PyTorch和TensorFlow中建立基本的圖像分類模型。我們將從PyTorch和TensorFlow的簡(jiǎn)要概述開(kāi)始。然后,我們將使用MNIST手寫數(shù)字分類數(shù)據(jù)集,并在PyTorch和TensorFlow中使用CNN(卷積神經(jīng)網(wǎng)絡(luò))建立圖像分類模型。

這將是你的起點(diǎn),然后你可以選擇自己喜歡的任何框架,也可以開(kāi)始構(gòu)建其他計(jì)算機(jī)視覺(jué)模型。

目錄

  1. PyTorch概述
  2. TensorFlow概述
  3. 了解問(wèn)題陳述:MNIST
  4. 在PyTorch中實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)
  5. 在TensorFlow中實(shí)施卷積神經(jīng)網(wǎng)絡(luò)(CNN)

PyTorch概述

PyTorch在深度學(xué)習(xí)社區(qū)中越來(lái)越受歡迎,并且被深度學(xué)習(xí)從業(yè)者廣泛使用,PyTorch是一個(gè)提供Tensor計(jì)算的Python軟件包。此外,tensors是多維數(shù)組,就像NumPy的ndarrays也可以在GPU上運(yùn)行一樣。

PyTorch的一個(gè)獨(dú)特功能是它使用動(dòng)態(tài)計(jì)算圖。PyTorch的Autograd軟件包從張量生成計(jì)算圖并自動(dòng)計(jì)算梯度。而不是具有特定功能的預(yù)定義圖形。

PyTorch為我們提供了一個(gè)框架,可以隨時(shí)隨地構(gòu)建計(jì)算圖,甚至在運(yùn)行時(shí)進(jìn)行更改。特別是,對(duì)于我們不知道創(chuàng)建神經(jīng)網(wǎng)絡(luò)需要多少內(nèi)存的情況,這很有用。

你可以使用PyTorch應(yīng)對(duì)各種深度學(xué)習(xí)挑戰(zhàn)。以下是一些挑戰(zhàn):

  1. 圖像(檢測(cè),分類等)
  2. 文字(分類,生成等)
  3. 強(qiáng)化學(xué)習(xí)

TensorFlow概述

TensorFlow由Google Brain團(tuán)隊(duì)的研究人員和工程師開(kāi)發(fā)。它與深度學(xué)習(xí)領(lǐng)域最常用的軟件庫(kù)相距甚遠(yuǎn)(盡管其他軟件庫(kù)正在迅速追趕)。

TensorFlow如此受歡迎的最大原因之一是它支持多種語(yǔ)言來(lái)創(chuàng)建深度學(xué)習(xí)模型,例如Python,C ++和R。它提供了詳細(xì)的文檔和指南的指導(dǎo)。

TensorFlow包含許多組件。以下是兩個(gè)杰出的代表:

  1. TensorBoard:使用數(shù)據(jù)流圖幫助有效地可視化數(shù)據(jù)
  2. TensorFlow:對(duì)于快速部署新算法/實(shí)驗(yàn)非常有用

TensorFlow當(dāng)前正在運(yùn)行2.0版本,該版本于2019年9月正式發(fā)布。我們還將在2.0版本中實(shí)現(xiàn)CNN。

我希望你現(xiàn)在對(duì)PyTorch和TensorFlow都有基本的了解。現(xiàn)在,讓我們嘗試使用這兩個(gè)框架構(gòu)建深度學(xué)習(xí)模型并了解其內(nèi)部工作。在此之前,讓我們首先了解我們將在本文中解決的問(wèn)題陳述。

了解問(wèn)題陳述:MNIST

在開(kāi)始之前,讓我們了解數(shù)據(jù)集。在本文中,我們將解決流行的MNIST問(wèn)題。這是一個(gè)數(shù)字識(shí)別任務(wù),其中我們必須將手寫數(shù)字的圖像分類為0到9這10個(gè)類別之一。

在MNIST數(shù)據(jù)集中,我們具有從各種掃描的文檔中獲取的數(shù)字圖像,尺寸經(jīng)過(guò)標(biāo)準(zhǔn)化并居中。隨后,每個(gè)圖像都是28 x 28像素的正方形(總計(jì)784像素)。數(shù)據(jù)集的標(biāo)準(zhǔn)拆分用于評(píng)估和比較模型,其中60,000張圖像用于訓(xùn)練模型,而單獨(dú)的10,000張圖像集用于測(cè)試模型。

如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

現(xiàn)在,我們也了解了數(shù)據(jù)集。因此,讓我們?cè)赑yTorch和TensorFlow中使用CNN構(gòu)建圖像分類模型。我們將從PyTorch中的實(shí)現(xiàn)開(kāi)始。我們將在google colab中實(shí)現(xiàn)這些模型,該模型提供免費(fèi)的GPU以運(yùn)行這些深度學(xué)習(xí)模型。

在PyTorch中實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)

讓我們首先導(dǎo)入所有庫(kù):

  1. # importing the libraries 
  2. import numpy as np 
  3. import torch 
  4. import torchvision 
  5. import matplotlib.pyplot as plt 
  6. from time import time 
  7. from torchvision import datasets, transforms 
  8. from torch import nn, optim 

我們還要在Google colab上檢查PyTorch的版本:

  1. # version of pytorch 
  2. print(torch.__version__) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,我正在使用1.5.1版本的PyTorch。如果使用任何其他版本,則可能會(huì)收到一些警告或錯(cuò)誤,因此你可以更新到此版本的PyTorch。我們將對(duì)圖像執(zhí)行一些轉(zhuǎn)換,例如對(duì)像素值進(jìn)行歸一化,因此,讓我們也定義這些轉(zhuǎn)換:

  1. # transformations to be applied on images 
  2. transform = transforms.Compose([transforms.ToTensor(), 
  3.                               transforms.Normalize((0.5,), (0.5,)), 
  4.                               ]) 

現(xiàn)在,讓我們加載MNIST數(shù)據(jù)集的訓(xùn)練和測(cè)試集:

  1. # defining the training and testing set 
  2. trainset = datasets.MNIST('./data', download=True, train=True, transform=transform) 
  3. testset = datasets.MNIST('./', download=True, train=False, transform=transform) 

接下來(lái),我定義了訓(xùn)練和測(cè)試加載器,這將幫助我們分批加載訓(xùn)練和測(cè)試集。我將批量大小定義為64:

  1. # defining trainloader and testloader 
  2. trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True) 
  3. testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=True) 

首先讓我們看一下訓(xùn)練集的摘要:

  1. # shape of training data 
  2. dataiter = iter(trainloader) 
  3. images, labels = dataiter.next() 
  4.  
  5. print(images.shape) 
  6. print(labels.shape) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,在每個(gè)批次中,我們有64個(gè)圖像,每個(gè)圖像的大小為28,28,并且對(duì)于每個(gè)圖像,我們都有一個(gè)相應(yīng)的標(biāo)簽。讓我們可視化訓(xùn)練圖像并查看其外觀:

  1. # visualizing the training images 
  2. plt.imshow(images[0].numpy().squeeze(), cmap='gray'
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

它是數(shù)字0的圖像。類似地,讓我們可視化測(cè)試集圖像:

  1. # shape of validation data 
  2. dataiter = iter(testloader) 
  3. images, labels = dataiter.next() 
  4.  
  5. print(images.shape) 
  6. print(labels.shape) 

在測(cè)試集中,我們也有大小為64的批次?,F(xiàn)在讓我們定義架構(gòu)

定義模型架構(gòu)

我們將在這里使用CNN模型。因此,讓我們定義并訓(xùn)練該模型:

  1. # defining the model architecture 
  2. class Net(nn.Module):    
  3.   def __init__(self): 
  4.       super(Net, self).__init__() 
  5.  
  6.       self.cnn_layers = nn.Sequential( 
  7.           # Defining a 2D convolution layer 
  8.           nn.Conv2d(14, kernel_size=3, stride=1, padding=1), 
  9.           nn.BatchNorm2d(4), 
  10.           nn.ReLU(inplace=True), 
  11.           nn.MaxPool2d(kernel_size=2, stride=2), 
  12.           # Defining another 2D convolution layer 
  13.           nn.Conv2d(44, kernel_size=3, stride=1, padding=1), 
  14.           nn.BatchNorm2d(4), 
  15.           nn.ReLU(inplace=True), 
  16.           nn.MaxPool2d(kernel_size=2, stride=2), 
  17.       ) 
  18.  
  19.       self.linear_layers = nn.Sequential( 
  20.           nn.Linear(4 * 7 * 710
  21.       ) 
  22.  
  23.   # Defining the forward pass     
  24.   def forward(self, x): 
  25.       x = self.cnn_layers(x) 
  26.       x = x.view(x.size(0), -1
  27.       x = self.linear_layers(x) 
  28.       return x 

我們還定義優(yōu)化器和損失函數(shù),然后我們將看一下該模型的摘要:

  1. # defining the model 
  2. model = Net() 
  3. # defining the optimizer 
  4. optimizer = optim.Adam(model.parameters(), lr=0.01
  5. # defining the loss function 
  6. criterion = nn.CrossEntropyLoss() 
  7. # checking if GPU is available 
  8. if torch.cuda.is_available(): 
  9.     model = model.cuda() 
  10.     criterion = criterion.cuda() 
  11.  
  12. print(model) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,我們有2個(gè)卷積層,這將有助于從圖像中提取特征。這些卷積層的特征傳遞到完全連接的層,該層將圖像分類為各自的類別。現(xiàn)在我們的模型架構(gòu)已準(zhǔn)備就緒,讓我們訓(xùn)練此模型十個(gè)時(shí)期:

  1. for i in range(10): 
  2.     running_loss = 0 
  3.     for images, labels in trainloader: 
  4.  
  5.         if torch.cuda.is_available(): 
  6.           images = images.cuda() 
  7.           labels = labels.cuda() 
  8.  
  9.         # Training pass 
  10.         optimizer.zero_grad() 
  11.  
  12.         output = model(images) 
  13.         loss = criterion(output, labels) 
  14.  
  15.         #This is where the model learns by backpropagating 
  16.         loss.backward() 
  17.  
  18.         #And optimizes its weights here 
  19.         optimizer.step() 
  20.  
  21.         running_loss += loss.item() 
  22.     else
  23.         print("Epoch {} - Training loss: {}".format(i+1, running_loss/len(trainloader))) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

你會(huì)看到訓(xùn)練隨著時(shí)期的增加而減少。這意味著我們的模型是從訓(xùn)練集中學(xué)習(xí)模式。讓我們?cè)跍y(cè)試集上檢查該模型的性能:

  1. # getting predictions on test set and measuring the performance 
  2. correct_count, all_count = 00 
  3. for images,labels in testloader: 
  4.   for i in range(len(labels)): 
  5.     if torch.cuda.is_available(): 
  6.         images = images.cuda() 
  7.         labels = labels.cuda() 
  8.     img = images[i].view(112828
  9.     with torch.no_grad(): 
  10.         logps = model(img) 
  11.  
  12.  
  13.     ps = torch.exp(logps) 
  14.     probab = list(ps.cpu()[0]) 
  15.     pred_label = probab.index(max(probab)) 
  16.     true_label = labels.cpu()[i] 
  17.     if(true_label == pred_label): 
  18.       correct_count += 1 
  19.     all_count += 1 
  20.  
  21. print("Number Of Images Tested =", all_count) 
  22. print("\nModel Accuracy =", (correct_count/all_count)) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,我們總共測(cè)試了10000張圖片,并且該模型在預(yù)測(cè)測(cè)試圖片的標(biāo)簽方面的準(zhǔn)確率約為96%。

這是你可以在PyTorch中構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)的方法。在下一節(jié)中,我們將研究如何在TensorFlow中實(shí)現(xiàn)相同的體系結(jié)構(gòu)。

在TensorFlow中實(shí)施卷積神經(jīng)網(wǎng)絡(luò)(CNN)

現(xiàn)在,讓我們?cè)赥ensorFlow中使用卷積神經(jīng)網(wǎng)絡(luò)解決相同的MNIST問(wèn)題。與往常一樣,我們將從導(dǎo)入庫(kù)開(kāi)始:

  1. # importing the libraries 
  2. import tensorflow as tf 
  3.  
  4. from tensorflow.keras import datasets, layers, models 
  5. from tensorflow.keras.utils import to_categorical 
  6. import matplotlib.pyplot as plt 

檢查一下我們正在使用的TensorFlow的版本:

  1. # version of tensorflow 
  2. print(tf.__version__) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,我們正在使用TensorFlow的2.2.0版本?,F(xiàn)在讓我們使用tensorflow.keras的數(shù)據(jù)集類加載MNIST數(shù)據(jù)集:

  1. (train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data(path='mnist.npz'
  2. # Normalize pixel values to be between 0 and 1 
  3. train_images, test_images = train_images / 255.0, test_images / 255.0 

在這里,我們已經(jīng)加載了訓(xùn)練以及MNIST數(shù)據(jù)集的測(cè)試集。此外,我們已經(jīng)將訓(xùn)練和測(cè)試圖像的像素值標(biāo)準(zhǔn)化了。接下來(lái),讓我們可視化來(lái)自數(shù)據(jù)集的一些圖像:

  1. # visualizing a few images 
  2. plt.figure(figsize=(10,10)) 
  3. for i in range(9): 
  4.     plt.subplot(3,3,i+1
  5.     plt.xticks([]) 
  6.     plt.yticks([]) 
  7.     plt.grid(False) 
  8.     plt.imshow(train_images[i], cmap='gray'
  9. plt.show() 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

這就是我們的數(shù)據(jù)集的樣子。我們有手寫數(shù)字的圖像。再來(lái)看一下訓(xùn)練和測(cè)試集的形狀:

  1. # shape of the training and test set 
  2. (train_images.shape, train_labels.shape), (test_images.shape, test_labels.shape) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

因此,我們?cè)谟?xùn)練集中有60,000張28乘28的圖像,在測(cè)試集中有10,000張相同形狀的圖像。接下來(lái),我們將調(diào)整圖像的大小,并一鍵編碼目標(biāo)變量:

  1. # reshaping the images 
  2. train_images = train_images.reshape((6000028281)) 
  3. test_images = test_images.reshape((1000028281)) 
  4.  
  5. # one hot encoding the target variable 
  6. train_labels = to_categorical(train_labels) 
  7. test_labels = to_categorical(test_labels) 

定義模型體系結(jié)構(gòu)

現(xiàn)在,我們將定義模型的體系結(jié)構(gòu)。我們將使用Pytorch中定義的相同架構(gòu)。因此,我們的模型將是具有2個(gè)卷積層,以及最大池化層的組合,然后我們將有一個(gè)Flatten層,最后是一個(gè)有10個(gè)神經(jīng)元的全連接層,因?yàn)槲覀冇?0個(gè)類。

  1. # defining the model architecture 
  2. model = models.Sequential() 
  3. model.add(layers.Conv2D(4, (33), activation='relu', input_shape=(28281))) 
  4. model.add(layers.MaxPooling2D((22), strides=2)) 
  5. model.add(layers.Conv2D(4, (33), activation='relu')) 
  6. model.add(layers.MaxPooling2D((22), strides=2)) 
  7. model.add(layers.Flatten()) 
  8. model.add(layers.Dense(10, activation='softmax')) 

讓我們快速看一下該模型的摘要:

  1. # summary of the model 
  2. model.summary() 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

總而言之,我們有2個(gè)卷積層,2個(gè)最大池層,一個(gè)Flatten層和一個(gè)全連接層。模型中的參數(shù)總數(shù)為1198個(gè)?,F(xiàn)在我們的模型已經(jīng)準(zhǔn)備好了,我們將編譯它:

  1. # compiling the model 
  2. model.compile(optimizer='adam'
  3.               loss='categorical_crossentropy'
  4.               metrics=['accuracy']) 

我們正在使用Adam優(yōu)化器,你也可以對(duì)其進(jìn)行更改。損失函數(shù)被設(shè)置為分類交叉熵,因?yàn)槲覀冋诮鉀Q一個(gè)多類分類問(wèn)題,并且度量標(biāo)準(zhǔn)是‘accuracy’?,F(xiàn)在讓我們訓(xùn)練模型10個(gè)時(shí)期

  1. # training the model 
  2. history = model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels)) 
如何在PyTorch和TensorFlow中訓(xùn)練圖像分類模型

總而言之,最初,訓(xùn)練損失約為0.46,經(jīng)過(guò)10個(gè)時(shí)期后,訓(xùn)練損失降至0.08。10個(gè)時(shí)期后的訓(xùn)練和驗(yàn)證準(zhǔn)確性分別為97.31%和97.48%。

因此,這就是我們可以在TensorFlow中訓(xùn)練CNN的方式。

尾注

總而言之,在本文中,我們首先研究了PyTorch和TensorFlow的簡(jiǎn)要概述。然后我們了解了MNIST手寫數(shù)字分類的挑戰(zhàn),最后,在PyTorch和TensorFlow中使用CNN(卷積神經(jīng)網(wǎng)絡(luò))建立了圖像分類模型?,F(xiàn)在,我希望你熟悉這兩個(gè)框架。下一步,應(yīng)對(duì)另一個(gè)圖像分類挑戰(zhàn),并嘗試同時(shí)使用PyTorch和TensorFlow來(lái)解決。

 

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2023-01-11 07:28:49

TensorFlow分類模型

2017-11-01 15:13:49

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

2018-06-26 15:40:49

Tensorflow.MNIST圖像數(shù)據(jù)

2022-06-29 09:00:00

前端圖像分類模型SQL

2023-06-27 09:00:00

2020-10-15 11:22:34

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

2018-04-09 10:20:32

深度學(xué)習(xí)

2024-07-25 08:25:35

2017-06-09 10:00:15

大數(shù)據(jù)網(wǎng)絡(luò)拓?fù)?/a>可拓展模型

2023-01-06 19:02:23

應(yīng)用技術(shù)

2024-12-23 06:30:00

目標(biāo)檢測(cè)圖像分類YOLO

2017-10-11 06:04:04

2024-05-28 08:11:44

SpringTensorFlow訓(xùn)練

2023-02-20 14:44:22

DDD領(lǐng)域模型

2017-03-02 14:52:46

2021-03-25 15:19:33

深度學(xué)習(xí)Pytorch技巧

2017-08-28 21:31:37

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

2017-03-27 16:18:30

神經(jīng)網(wǎng)絡(luò)TensorFlow人工智能

2017-08-29 13:50:03

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

2023-06-16 12:15:09

UbuntuLinuxAVIF 圖像
點(diǎn)贊
收藏

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

欧美xxxx做受欧美护士| 精品人妻一区二区三区三区四区| 要久久爱电视剧全集完整观看| 一本久久a久久精品亚洲| 日本一区二区高清视频| 国产精品福利电影| 红桃视频国产一区| 亚洲片av在线| 日本网站在线看| 人在线成免费视频| 国产精品青草综合久久久久99| 成人av电影天堂| 国产第一页在线播放| 怕怕欧美视频免费大全| 欧美一区二区三区公司| 黄色免费观看视频网站| av色图一区| 国产成人99久久亚洲综合精品| 热久久99这里有精品| 我要看一级黄色录像| 欧美日韩看看2015永久免费| 欧美日产在线观看| 日韩欧美精品在线观看视频| 羞羞视频在线观看不卡| 日本一二三不卡| 国产精品美女诱惑| 国产一区二区三区三州| 亚洲女同同性videoxma| 欧美大肥婆大肥bbbbb| 婷婷色一区二区三区| 国产精品极品| 欧美一区二区高清| 五月婷婷六月合| 精品久久久久久中文字幕动漫 | 91欧美视频在线| 国产h片在线观看| 亚洲精品欧美激情| 亚洲 国产 日韩 综合一区| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 国产a∨精品一区二区三区仙踪林| 国产精品久久久久久久| 一区二区三区四区在线观看视频 | 国产精品探花视频| 日本在线不卡视频| 欧洲午夜精品久久久| 日韩精品一区二区av| 欧美福利在线| 欧美老妇交乱视频| 免费看特级毛片| 色777狠狠狠综合伊人| 亚洲情综合五月天| 亚洲国产综合视频| 成人午夜大片| 欧美精品一区二区三区久久久 | 中文字幕一区二区人妻痴汉电车| 久久精品动漫| 国产精品久久久久免费a∨大胸| 免费视频久久久| 久久综合网络一区二区| 国产999精品视频| 国产女主播喷水视频在线观看 | 国产在线一区二区三区四区 | 曰本色欧美视频在线| 无码少妇精品一区二区免费动态| 精品在线播放| 一夜七次郎国产精品亚洲| 日本成人午夜影院| 欧美国产一级| 久热精品在线视频| 久久久精品国产sm调教网站| 亚洲韩日在线| 国产91在线播放九色快色| 中文字幕第三页| 国内成人精品2018免费看| 亚洲xxx自由成熟| 成人午夜福利视频| 久久嫩草精品久久久久| 日本免费一区二区三区| 麻豆av免费在线观看| 伊人夜夜躁av伊人久久| 人妻无码久久一区二区三区免费| 欧美freesex黑人又粗又大| 色美美综合视频| 手机在线国产视频| 91精品日本| 日韩av中文在线| 亚洲av无码一区二区二三区| 高潮按摩久久久久久av免费| 亚洲精品视频网上网址在线观看| 91成年人网站| 欧美激情理论| 97视频在线观看免费高清完整版在线观看| 国产成人无码一区二区三区在线| 中文在线一区| 国产精品美女主播| 国产wwwxxx| 成人精品一区二区三区四区| 久久久久久艹| 亚洲图片88| 亚洲人精品午夜| 91九色在线观看视频| 婷婷六月国产精品久久不卡| 欧美日本精品一区二区三区| 中文字幕乱妇无码av在线| 精品少妇一区| 国产亚洲成av人片在线观看桃| 影音先锋男人资源在线观看| 亚洲激情不卡| 清纯唯美亚洲综合| www.黄色小说.com| 久久久久久久精| 中文字幕乱码免费| 亚洲第一av| 在线不卡免费av| 五月婷婷综合在线观看| 婷婷丁香综合| 欧美一级大片在线观看| 91麻豆精品在线| 国产综合久久久久影院| 久久人人九九| 日皮视频在线观看| 欧美性生交片4| 波多野结衣加勒比| 天天综合精品| 国产精品久久久久久久久久新婚| 五十路在线观看| 亚洲免费资源在线播放| 最近免费中文字幕中文高清百度| 欧美午夜在线播放| 一区二区三区 在线观看视| 在线看成人av| 国产一区二区三区黄视频| 免费不卡亚洲欧美| 四虎亚洲成人| 欧美一级免费大片| 色www亚洲国产阿娇yao| 国产欧美另类| 91文字幕巨乱亚洲香蕉| 9色在线视频网站| 精品日本高清在线播放| 欧美一级大片免费看| 久久精品久久久| 国产精品久久久久久久久久新婚 | 亚洲永久免费| 91精品国产自产在线老师啪| 黄色片在线播放| 午夜电影网一区| 91porn在线| 真实国产乱子伦精品一区二区三区| 国产精品三级网站| 精品999视频| 懂色av中文一区二区三区天美| 国产传媒免费观看| 成久久久网站| 国产精品一区二区电影| 二区三区在线| 日本高清免费不卡视频| jizz日本免费| 国产精品永久| 欧美动漫一区二区| av亚洲一区二区三区| 亚洲人成网在线播放| 欧美精品韩国精品| 久久久久久99久久久精品网站| 人妻无码久久一区二区三区免费| 精品综合久久88少妇激情| 久久免费视频网| 一区二区www| 一级特黄大欧美久久久| 国产a√精品区二区三区四区| 欧美高清一区| 国产精品手机视频| 超碰在线99| 日韩高清有码在线| 日韩综合在线观看| 国产精品福利影院| 天天色天天干天天色| 欧美激情日韩| 国产精品乱码视频| a日韩av网址| 中文字幕亚洲激情| 亚洲天堂avav| 亚洲啪啪综合av一区二区三区| 91香蕉视频免费看| 亚洲日本久久| 日本一区二区精品| 9999精品免费视频| 欧美极品欧美精品欧美视频| 天天操天天操天天干| 在线视频国产一区| 午夜国产福利一区二区| 成人av资源站| 成人免费毛片播放| 9191国语精品高清在线| 国产91一区二区三区| 亚洲天堂资源| 欧美日韩高清在线观看| 亚洲aⅴ乱码精品成人区| 欧美日韩国产丝袜美女| www成人啪啪18软件| 国产suv精品一区二区883| 欧美a在线视频| 亚洲成人精品| 欧美一区二区在线| 日本成人精品| 清纯唯美亚洲激情| a视频在线免费看| 亚洲欧美日韩天堂| 精品久久久免费视频| 色综合久久综合网欧美综合网| 国产乱子轮xxx农村| aaa国产一区| 国产成人在线综合| 午夜亚洲激情| 成人高清dvd| 99九九热只有国产精品| 极品尤物一区二区三区| 性欧美video另类hd尤物| 午夜精品久久久久久久白皮肤| 北岛玲日韩精品一区二区三区| 欧美tickling网站挠脚心| 免费黄色一级大片| 欧美日韩一区二区在线| 91视频免费在线看| 国产欧美综合在线观看第十页| 岛国精品一区二区三区| 久久99九九99精品| aⅴ在线免费观看| 综合国产精品| 亚洲第一精品区| 深爱激情综合| 久久精品99| 成人黄色av网址| 51精品国产人成在线观看| 天天综合网天天| 国产成人精品日本亚洲| 黄视频免费在线看| 欧美疯狂xxxx大交乱88av| 国产精品扒开做爽爽爽的视频| 亚洲视频免费一区| 内射后入在线观看一区| 日韩欧美一级二级三级久久久| 一卡二卡三卡在线| 欧美午夜精品一区二区三区| 五月婷婷中文字幕| 午夜影视日本亚洲欧洲精品| 久久黄色小视频| 精品久久久久久久久中文字幕 | 国产永久av在线| 亚洲欧美三级伦理| 凸凹人妻人人澡人人添| 精品国产自在久精品国产| 99精品在线视频观看| 在线观看免费视频综合| a片在线免费观看| 欧美亚洲禁片免费| 最近日韩免费视频| 欧美三级日韩三级国产三级| 国产黄色免费视频| 欧美少妇一区二区| 99精品国产99久久久久久97| 这里只有精品视频在线观看| 91精品国产色综合久久不8| 欧美日韩卡一卡二| 国产孕妇孕交大片孕| 欧美伊人久久大香线蕉综合69 | 欧美午夜精品久久久久久人妖 | 青青草成人影院| 在线看视频不卡| 亚洲国产精品久久久久蝴蝶传媒| 国产卡一卡二在线| 国产精品videossex久久发布| 亚洲天堂第一区| 中国成人一区| 免费在线激情视频| 奇米色一区二区| 九一精品久久久| 成人在线视频首页| 国内精品久久99人妻无码| 国产精品嫩草影院com| 国产又黄又粗视频| 亚洲色图视频网站| 久久这里只有精品免费| 色婷婷综合激情| 国产又粗又黄又爽| 精品对白一区国产伦| 天天影院图片亚洲| 中文字幕精品一区久久久久| 在线观看精品一区二区三区| 久久久久久久久久久亚洲| 女人高潮被爽到呻吟在线观看| 国产精品久久久久久久久久久新郎| 四虎精品一区二区免费| 国产精品v欧美精品v日韩| 狠狠久久伊人| 一本一本a久久| 激情丁香综合| 嫩草av久久伊人妇女超级a| 黄一区二区三区| 色噜噜在线观看| 国产精品盗摄一区二区三区| 久久久久久久久久综合 | 三级视频在线观看| 欧美日韩精品欧美日韩精品一综合| www.av黄色| 亚洲欧美日韩综合| 天堂亚洲精品| 国产精品jizz在线观看麻豆| 日本一区精品视频| 日本高清久久一区二区三区| 欧美超碰在线| 无码内射中文字幕岛国片| 国产a久久麻豆| 国产人妻大战黑人20p| 亚洲国产cao| 在线观看不卡的av| 亚洲男人7777| 性欧美高清come| 国产精品久久久久久亚洲调教| 久久男人av| 日本黄色a视频| 国产欧美一区二区色老头| 最好看的中文字幕| 国产精品久久久久久久浪潮网站| 青青操免费在线视频| 91精品欧美福利在线观看| 成年人在线观看视频| 88国产精品欧美一区二区三区| 欧美1区2区3| 亚洲视频小说| 日韩精品福利网| 99久久久久久久久久| 精品久久久久久国产| 国产小视频免费观看| 久久99久久99精品免观看粉嫩 | 999久久久| 99久久精品网| 午夜精品在线免费观看| 91视频精品在这里| 久草视频免费播放| 日韩你懂的在线观看| 免费在线看黄色| 国产精品视频网站| 国产成人一区二区三区影院| 国内精品视频一区二区三区| jizz一区二区| 国产无遮挡aaa片爽爽| 欧美videossexotv100| av电影高清在线观看| 国产精品天天狠天天看| 成人三级视频| jizz大全欧美jizzcom| 国产欧美一区二区精品忘忧草| 青青草免费观看视频| 亚洲免费视频网站| 精品无人乱码一区二区三区| 日本高清不卡一区二区三| 日一区二区三区| 久久午夜福利电影| 色婷婷激情综合| 日本三级在线视频| 91精品视频免费观看| 中文不卡在线| 91人人澡人人爽| 色综合色综合色综合 | 国产亚洲观看| www.亚洲成人网| 99久久99久久精品免费观看| av大片免费在线观看| 国产视频久久久久| 神马电影网我不卡| 免费国产一区二区| 久久精品国产77777蜜臀| 在线观看黄网址| 欧美成人猛片aaaaaaa| segui88久久综合9999| 久久精品国产精品青草色艺| 久久一区二区三区四区五区 | 久久久综合九色合综国产精品| 欧美a视频在线观看| 视频一区视频二区国产精品| 日韩有码欧美| 波多野结衣av一区二区全免费观看| 成人av午夜电影| 亚洲不卡在线视频| 精品精品国产国产自在线| 国产精品videossex| 国产一区视频免费观看| 亚洲手机成人高清视频| 韩国av免费在线观看| 国产成人在线精品| 91不卡在线观看| 大黑人交xxx极品hd| 欧美日韩中文另类| 在线a免费看| 激情小说综合网| 蜜臀av一级做a爰片久久| 粉嫩av性色av蜜臀av网站| 日韩精品极品视频| 日韩久久99|