日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

[Pytorch系列-35]:卷积神经网络 - 搭建LeNet-5网络与CFAR10分类数据集

發(fā)布時間:2024/1/8 卷积神经网络 108 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Pytorch系列-35]:卷积神经网络 - 搭建LeNet-5网络与CFAR10分类数据集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

?本文網址:https://blog.csdn.net/HiWangWenBing/article/details/121072835


目錄

前言:LeNet網絡詳解

第1章 業(yè)務領域分析

1.1? 步驟1-1:業(yè)務領域分析

1.2 步驟1-2:業(yè)務建模

1.3 訓練模型

1.4 驗證模型

1.5 整體架構

1.6?代碼實例前置條件

第2章 前向運算模型定義

2.1?步驟2-1:數據集選擇

2.2?步驟2-2:數據預處理 - 本案例無需數據預處理

2.3 步驟2-3:神經網絡建模

2.4?步驟2-4:定義神經網絡實例以及輸出

第3章 定義反向計算

3.1?步驟3-1:定義loss

3.2 步驟3-2:定義優(yōu)化器

3.3?步驟3-3:模型訓練 (epochs = 10)

3.4?可視化loss迭代過程

3.5?可視化訓練批次的精度迭代過程

第4章 模型性能驗證

4.1 手工驗證

4.2 整個訓練集上的精度驗證:精度只有58%

4.3 整個測試集上的精度驗證:精度只有58%



前言:LeNet網絡詳解

(1)LeNet網絡詳解

[人工智能-深度學習-33]:卷積神經網絡CNN - 常見分類網絡- LeNet網絡結構分析與詳解_文火冰糖(王文兵)的博客-CSDN博客作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文網址:目錄第1章 卷積神經網絡基礎1.1 卷積神經發(fā)展與進化史1.2 卷積神經網絡的核心要素1.3 卷積神經網絡的描述方法1.4 人工智能三巨頭 + 華人圈名人第2章LeNet概述第3章 LeNet-5網絡結構分析3.1 網絡結構描述-垂直法3.2網絡結構描述-厚度法3.3 分層解讀3.4 分析結果示意第1章 卷積神經網絡基礎1.1 卷積神經發(fā)展與進...https://blog.csdn.net/HiWangWenBing/article/details/120893764

(2)Pytorch官網對LeNet的定義

Neural Networks — PyTorch Tutorials 1.10.0+cu102 documentationhttps://pytorch.org/tutorials/beginner/blitz/neural_networks_tutorial.html?highlight=lenet

第1章 業(yè)務領域分析

1.1? 步驟1-1:業(yè)務領域分析

(1)業(yè)務需求:數據集本身就說明了業(yè)務需求

[Pytorch系列-33]:數據集 - torchvision與CIFAR10詳解_文火冰糖(王文兵)的博客-CSDN博客第1章TorchVision概述1.1TorchVisionPytorch非常有用的工具集:torchtext:處理自然語言torchaudio:處理音頻的torchvision:處理圖像視頻的。torchvision包含一些常用的數據集、模型、轉換函數等等。本文重點放在torchvision的數據集上。1.2TorchVision的安裝pip install torchvision 1.3TorchVision官網的數據集https://pytorc...https://blog.csdn.net/HiWangWenBing/article/details/121055970

(2)業(yè)務分析

本任務的本質是邏輯分類中的多分類,多分類中的10分類問題,即給定一張圖形的特征數據(這里是單個圖形的三通道像素值),能夠判斷其屬于哪個物體分類屬于分類問題。

有很多現有的卷積神經網絡可以解決分類問題,本文使用LeNet來解決這個簡單的分類問題。

這里也有兩個思路:

  • 直接利用框架自帶的LeNet網絡完成模型的搭建。
  • 自己按照LeNet網絡的結構,使用Pytorch提供的卷積核自行搭建該網絡。

由于LeNet網絡比較簡單,也為了熟悉Ptorch的nn網絡,我們不妨嘗試上述兩種方法。

對于后續(xù)的復雜網絡,我們可以直接利用平臺提供的庫,直接使用已有的網絡,而不再手工搭建。

1.2 步驟1-2:業(yè)務建模

其實,這里不需要自己在建立數據模型了,可以直接使用LeNet已有的模型,模型參考如下:

?

?

1.3 訓練模型

?

1.4 驗證模型

?

1.5 整體架構

?

1.6?代碼實例前置條件

#環(huán)境準備 import numpy as np # numpy數組庫 import math # 數學運算庫 import matplotlib.pyplot as plt # 畫圖庫import torch # torch基礎庫 import torch.nn as nn # torch神經網絡庫 import torch.nn.functional as F # torch神經網絡庫 from sklearn.datasets import load_boston from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_splitprint("Hello World") print(torch.__version__) print(torch.cuda.is_available())

第2章 前向運算模型定義

2.1?步驟2-1:數據集選擇

(1)CFAR10數據集

[Pytorch系列-33]:數據集 - torchvision與CIFAR10詳解_文火冰糖(王文兵)的博客-CSDN博客第1章TorchVision概述1.1TorchVisionPytorch非常有用的工具集:torchtext:處理自然語言torchaudio:處理音頻的torchvision:處理圖像視頻的。torchvision包含一些常用的數據集、模型、轉換函數等等。本文重點放在torchvision的數據集上。1.2TorchVision的安裝pip install torchvision 1.3TorchVision官網的數據集https://pytorc...https://blog.csdn.net/HiWangWenBing/article/details/121055970

(2)樣本數據與樣本標簽格式

?

(3)源代碼示例 -- 下載并讀入數據

#2-1 準備數據集 train_data = dataset.CIFAR10 (root = "cifar10",train = True,transform = transforms.ToTensor(),download = True)#2-1 準備數據集 test_data = dataset.CIFAR10 (root = "cifar10",train = False,transform = transforms.ToTensor(),download = True)print(train_data) print("size=", len(train_data)) print("") print(test_data) print("size=", len(test_data)) Files already downloaded and verified Files already downloaded and verified Dataset CIFAR10Number of datapoints: 50000Root location: cifar10Split: TrainStandardTransform Transform: ToTensor() size= 50000Dataset CIFAR10Number of datapoints: 10000Root location: cifar10Split: TestStandardTransform Transform: ToTensor() size= 10000

2.2?步驟2-2:數據預處理 - 本案例無需數據預處理

(1)批量數據讀取?-- 啟動dataloader從數據集中讀取Batch數據

# 批量數據讀取 train_loader = data_utils.DataLoader(dataset = train_data, #訓練數據batch_size = 64, #每個批次讀取的圖片數量shuffle = True) #讀取到的數據,是否需要隨機打亂順序test_loader = data_utils.DataLoader(dataset = test_data, #測試數據集batch_size = 64,shuffle = True)print(train_loader) print(test_loader) print(len(train_data), len(train_data)/64) print(len(test_data), len(test_data)/64)

(2)#顯示一個batch圖片 -- 僅僅用于調試

#顯示一個batch圖片 print("獲取一個batch組圖片") imgs, labels = next(iter(train_loader)) print(imgs.shape) print(labels.shape) print(labels.size()[0])print("\n合并成一張三通道灰度圖片") images = utils.make_grid(imgs) print(images.shape) print(labels.shape)print("\n轉換成imshow格式") images = images.numpy().transpose(1,2,0) print(images.shape) print(labels.shape)print("\n顯示樣本標簽") #打印圖片標簽 for i in range(64):print(labels[i], end=" ")i += 1#換行if i%8 == 0:print(end='\n')print("\n顯示圖片") plt.imshow(images) plt.show() 獲取一個batch組圖片 torch.Size([64, 3, 32, 32]) torch.Size([64]) 64合并成一張三通道灰度圖片 torch.Size([3, 274, 274]) torch.Size([64])轉換成imshow格式 (274, 274, 3) torch.Size([64])顯示樣本標簽 tensor(3) tensor(7) tensor(9) tensor(8) tensor(9) tensor(0) tensor(6) tensor(4) tensor(1) tensor(1) tensor(3) tensor(9) tensor(7) tensor(6) tensor(9) tensor(7) tensor(3) tensor(5) tensor(5) tensor(8) tensor(7) tensor(5) tensor(5) tensor(7) tensor(0) tensor(7) tensor(5) tensor(3) tensor(2) tensor(6) tensor(2) tensor(5) tensor(6) tensor(1) tensor(8) tensor(5) tensor(2) tensor(5) tensor(9) tensor(3) tensor(3) tensor(0) tensor(9) tensor(5) tensor(0) tensor(4) tensor(1) tensor(8) tensor(2) tensor(0) tensor(5) tensor(3) tensor(1) tensor(8) tensor(8) tensor(5) tensor(6) tensor(5) tensor(4) tensor(6) tensor(2) tensor(8) tensor(8) tensor(4) 顯示圖片

?


2.3 步驟2-3:神經網絡建模

(1)模型

?

LeNet-5 神經網絡一共五層,其中卷積層和池化層可以考慮為一個整體,網絡的結構為 :

輸入 → 卷積 → 池化 → 卷積 → 池化 → 全連接 → 全連接 → 全連接 → 輸出。

?(2)Pytorch NN?Conv2d用法詳解

https://blog.csdn.net/HiWangWenBing/article/details/121051650

(3)Pytorch NN?MaxPool2d用法詳解

??????https://blog.csdn.net/HiWangWenBing/article/details/121053578

(4)使用Pytorch卷積核構建構建LeNet網絡

在?pytorch?中,圖像數據集(提供給網絡的輸入)的存儲順序為:

(batch, channels, height, width),依次為批大小、通道數、高度、寬度。

?

特別提醒:

LeNet-5網絡的默認的輸入圖片的尺寸是32*32, 而Mnist數據集的圖片的尺寸是28 * 28。

因此,采用Mnist數據集時,每一層的輸出的特征值feature map的尺寸與LeNet-5網絡的默認默認的feature map的尺寸是不一樣的,需要適當的調整。

具體如何調整,請參考代碼的實現:

下面以兩種等效的方式定義LeNet神經網絡:

  • Pytorch官網方式
  • 自定義方式

(5)構建LeNet網絡結構的代碼實例?- 官網

# 來自官網 class LeNet5A(nn.Module):def __init__(self):super(LeNet5A, self).__init__()# 1 input image channel, 6 output channels, 5x5 square convolution kernelself.conv1 = nn.Conv2d(in_channels = 3, out_channels = 6, kernel_size = 5) # 6 * 28 * 28self.conv2 = nn.Conv2d(in_channels = 6, out_channels = 16, kernel_size = 5) # 16 * 10 * 10# an affine operation: y = Wx + b self.fc1 = nn.Linear(in_features = 16 * 5 * 5, out_features= 120) # 16 * 5 * 5self.fc2 = nn.Linear(in_features = 120, out_features = 84)self.fc3 = nn.Linear(in_features = 84, out_features = 10)def forward(self, x):# Max pooling over a (2, 2) windowx = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))# If the size is a square, you can specify with a single numberx = F.max_pool2d(F.relu(self.conv2(x)), 2)x = torch.flatten(x, 1) # flatten all dimensions except the batch dimensionx = F.relu(self.fc1(x))x = F.relu(self.fc2(x))x = self.fc3(x)#x = F.log_softmax(x,dim=1)return x

(6)構建LeNet網絡結構的代碼實例?- 自定義

class LeNet5B(nn.Module):def __init__(self):super(LeNet5B, self).__init__()self.feature_convnet = nn.Sequential(OrderedDict([('conv1', nn.Conv2d (in_channels = 3, out_channels = 6, kernel_size= (5, 5), stride = 1)), # 6 * 28 * 28('relu1', nn.ReLU()),('pool1', nn.MaxPool2d(kernel_size=(2, 2))), # 6 * 14 * 14('conv2', nn.Conv2d (in_channels = 6, out_channels = 16, kernel_size=(5, 5))), # 16 * 10 * 10('relu2', nn.ReLU()),('pool2', nn.MaxPool2d(kernel_size=(2, 2))), # 16 * 5 * 5]))self.class_fc = nn.Sequential(OrderedDict([('fc1', nn.Linear(in_features = 16 * 5 * 5, out_features = 120)), ('relu3', nn.ReLU()),('fc2', nn.Linear(in_features = 120, out_features = 84)), ('relu4', nn.ReLU()),('fc3', nn.Linear(in_features = 84, out_features = 10)),]))def forward(self, img):output = self.feature_convnet(img)output = output.view(-1, 16 * 5 * 5) #相當于Flatten()output = self.class_fc(output)return output

2.4?步驟2-4:定義神經網絡實例以及輸出

net_a = LeNet5A() print(net_a) LeNet5A((conv1): Conv2d(3, 6, kernel_size=(5, 5), stride=(1, 1))(conv2): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))(fc1): Linear(in_features=400, out_features=120, bias=True)(fc2): Linear(in_features=120, out_features=84, bias=True)(fc3): Linear(in_features=84, out_features=10, bias=True) ) net_b = LeNet5B() print(net_b) LeNet5B((feature_convnet): Sequential((conv1): Conv2d(3, 6, kernel_size=(5, 5), stride=(1, 1))(relu1): ReLU()(pool1): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), padding=0, dilation=1, ceil_mode=False)(conv2): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))(relu2): ReLU()(pool2): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), padding=0, dilation=1, ceil_mode=False))(class_fc): Sequential((fc1): Linear(in_features=400, out_features=120, bias=True)(relu3): ReLU()(fc2): Linear(in_features=120, out_features=84, bias=True)(relu4): ReLU()(fc3): Linear(in_features=84, out_features=10, bias=True)) ) # 2-4 定義網絡預測輸出 # 測試網絡是否能夠工作 print("定義測試數據") input = torch.randn(1, 3, 32, 32) print("") print("net_a的輸出方法1:") out = net_a(input) print(out) print("net_a的輸出方法2:") out = net_a.forward(input) print(out) print("") print("net_b的輸出方法1:") out = net_b(input) print(out) print("net_b的輸出方法2:") out = net_b.forward(input) print(out) 定義測試數據net_a的輸出方法1: tensor([[-0.0969, -0.1226, 0.0581, 0.0373, 0.0028, 0.1278, -0.1044, -0.1068,-0.0097, 0.0272]], grad_fn=<AddmmBackward>) net_a的輸出方法2: tensor([[-0.0969, -0.1226, 0.0581, 0.0373, 0.0028, 0.1278, -0.1044, -0.1068,-0.0097, 0.0272]], grad_fn=<AddmmBackward>)net_b的輸出方法1: tensor([[-0.0052, 0.0682, -0.1567, 0.0173, 0.0977, -0.0599, 0.0969, -0.0656,0.0591, -0.1179]], grad_fn=<AddmmBackward>) net_b的輸出方法2: tensor([[-0.0052, 0.0682, -0.1567, 0.0173, 0.0977, -0.0599, 0.0969, -0.0656,0.0591, -0.1179]], grad_fn=<AddmmBackward>)

第3章 定義反向計算

3.1?步驟3-1:定義loss

# 3-1 定義loss函數: loss_fn = nn.CrossEntropyLoss() print(loss_fn)

3.2 步驟3-2:定義優(yōu)化器

# 3-2 定義優(yōu)化器 net = net_aLearning_rate = 0.001 #學習率# optimizer = SGD: 基本梯度下降法 # parameters:指明要優(yōu)化的參數列表 # lr:指明學習率 #optimizer = torch.optim.Adam(model.parameters(), lr = Learning_rate) optimizer = torch.optim.SGD(net.parameters(), lr = Learning_rate, momentum=0.9) print(optimizer) SGD ( Parameter Group 0dampening: 0lr: 0.001momentum: 0.9nesterov: Falseweight_decay: 0 )

3.3?步驟3-3:模型訓練 (epochs = 10)

# 3-3 模型訓練 # 定義迭代次數 epochs = 10loss_history = [] #訓練過程中的loss數據 accuracy_history =[] #中間的預測結果accuracy_batch = 0.0for i in range(0, epochs):for j, (x_train, y_train) in enumerate(train_loader):#(0) 復位優(yōu)化器的梯度optimizer.zero_grad() #(1) 前向計算y_pred = net(x_train)#(2) 計算lossloss = loss_fn(y_pred, y_train)#(3) 反向求導loss.backward()#(4) 反向迭代optimizer.step()# 記錄訓練過程中的損失值loss_history.append(loss.item()) #loss for a batch# 記錄訓練過程中的在訓練集上該批次的準確率number_batch = y_train.size()[0] # 訓練批次中圖片的個數_, predicted = torch.max(y_pred.data, dim = 1) # 選出最大可能性的預測correct_batch = (predicted == y_train).sum().item() # 獲得預測正確的數目accuracy_batch = 100 * correct_batch/number_batch # 計算該批次上的準確率accuracy_history.append(accuracy_batch) # 該批次的準確率添加到log中if(j % 100 == 0):print('epoch {} batch {} In {} loss = {:.4f} accuracy = {:.4f}%'.format(i, j , len(train_data)/64, loss.item(), accuracy_batch)) print("\n迭代完成") print("final loss =", loss.item()) print("final accu =", accuracy_batch) epoch 0 batch 0 In 781.25 loss = 2.2998 accuracy = 7.8125% epoch 0 batch 100 In 781.25 loss = 2.3023 accuracy = 9.3750% epoch 0 batch 200 In 781.25 loss = 2.2958 accuracy = 14.0625% epoch 0 batch 300 In 781.25 loss = 2.3062 accuracy = 9.3750% epoch 0 batch 400 In 781.25 loss = 2.2994 accuracy = 7.8125% epoch 0 batch 500 In 781.25 loss = 2.3016 accuracy = 10.9375% epoch 0 batch 600 In 781.25 loss = 2.3040 accuracy = 6.2500% epoch 0 batch 700 In 781.25 loss = 2.3030 accuracy = 4.6875% epoch 1 batch 0 In 781.25 loss = 2.3024 accuracy = 4.6875% epoch 1 batch 100 In 781.25 loss = 2.2962 accuracy = 14.0625% epoch 1 batch 200 In 781.25 loss = 2.2991 accuracy = 18.7500% epoch 1 batch 300 In 781.25 loss = 2.2985 accuracy = 12.5000% epoch 1 batch 400 In 781.25 loss = 2.2965 accuracy = 15.6250% epoch 1 batch 500 In 781.25 loss = 2.2950 accuracy = 14.0625% epoch 1 batch 600 In 781.25 loss = 2.2851 accuracy = 21.8750% epoch 1 batch 700 In 781.25 loss = 2.2719 accuracy = 7.8125% epoch 2 batch 0 In 781.25 loss = 2.2673 accuracy = 14.0625% epoch 2 batch 100 In 781.25 loss = 2.2646 accuracy = 18.7500% epoch 2 batch 200 In 781.25 loss = 2.2156 accuracy = 18.7500% epoch 2 batch 300 In 781.25 loss = 2.1538 accuracy = 18.7500% epoch 2 batch 400 In 781.25 loss = 2.0801 accuracy = 15.6250% epoch 2 batch 500 In 781.25 loss = 2.0368 accuracy = 28.1250% epoch 2 batch 600 In 781.25 loss = 2.2541 accuracy = 18.7500% epoch 2 batch 700 In 781.25 loss = 1.8632 accuracy = 32.8125% epoch 3 batch 0 In 781.25 loss = 2.0807 accuracy = 28.1250% epoch 3 batch 100 In 781.25 loss = 1.9539 accuracy = 26.5625% epoch 3 batch 200 In 781.25 loss = 1.9882 accuracy = 23.4375% epoch 3 batch 300 In 781.25 loss = 1.9672 accuracy = 25.0000% epoch 3 batch 400 In 781.25 loss = 1.9345 accuracy = 25.0000% epoch 3 batch 500 In 781.25 loss = 1.9574 accuracy = 18.7500% epoch 3 batch 600 In 781.25 loss = 1.7351 accuracy = 28.1250% epoch 3 batch 700 In 781.25 loss = 1.7798 accuracy = 34.3750% epoch 4 batch 0 In 781.25 loss = 1.8423 accuracy = 29.6875% epoch 4 batch 100 In 781.25 loss = 1.7056 accuracy = 29.6875% epoch 4 batch 200 In 781.25 loss = 1.8324 accuracy = 32.8125% epoch 4 batch 300 In 781.25 loss = 1.9146 accuracy = 28.1250% epoch 4 batch 400 In 781.25 loss = 1.7319 accuracy = 34.3750% epoch 4 batch 500 In 781.25 loss = 1.6023 accuracy = 35.9375% epoch 4 batch 600 In 781.25 loss = 1.6365 accuracy = 43.7500% epoch 4 batch 700 In 781.25 loss = 1.6822 accuracy = 37.5000% epoch 5 batch 0 In 781.25 loss = 1.8602 accuracy = 35.9375% epoch 5 batch 100 In 781.25 loss = 1.3989 accuracy = 48.4375% epoch 5 batch 200 In 781.25 loss = 1.6256 accuracy = 40.6250% epoch 5 batch 300 In 781.25 loss = 1.8250 accuracy = 34.3750% epoch 5 batch 400 In 781.25 loss = 1.6592 accuracy = 32.8125% epoch 5 batch 500 In 781.25 loss = 1.6617 accuracy = 40.6250% epoch 5 batch 600 In 781.25 loss = 1.5431 accuracy = 42.1875% epoch 5 batch 700 In 781.25 loss = 1.6123 accuracy = 43.7500% epoch 6 batch 0 In 781.25 loss = 1.8649 accuracy = 29.6875% epoch 6 batch 100 In 781.25 loss = 1.5037 accuracy = 43.7500% epoch 6 batch 200 In 781.25 loss = 1.4193 accuracy = 45.3125% epoch 6 batch 300 In 781.25 loss = 1.5146 accuracy = 50.0000% epoch 6 batch 400 In 781.25 loss = 1.4917 accuracy = 50.0000% epoch 6 batch 500 In 781.25 loss = 1.5940 accuracy = 37.5000% epoch 6 batch 600 In 781.25 loss = 1.4959 accuracy = 42.1875% epoch 6 batch 700 In 781.25 loss = 1.5738 accuracy = 39.0625% epoch 7 batch 0 In 781.25 loss = 1.7241 accuracy = 43.7500% epoch 7 batch 100 In 781.25 loss = 1.4952 accuracy = 46.8750% epoch 7 batch 200 In 781.25 loss = 1.5233 accuracy = 37.5000% epoch 7 batch 300 In 781.25 loss = 1.5373 accuracy = 45.3125% epoch 7 batch 400 In 781.25 loss = 1.4451 accuracy = 50.0000% epoch 7 batch 500 In 781.25 loss = 1.4423 accuracy = 48.4375% epoch 7 batch 600 In 781.25 loss = 1.4838 accuracy = 50.0000% epoch 7 batch 700 In 781.25 loss = 1.5223 accuracy = 48.4375% epoch 8 batch 0 In 781.25 loss = 1.4175 accuracy = 54.6875% epoch 8 batch 100 In 781.25 loss = 1.4949 accuracy = 46.8750% epoch 8 batch 200 In 781.25 loss = 1.3644 accuracy = 46.8750% epoch 8 batch 300 In 781.25 loss = 1.5125 accuracy = 39.0625% epoch 8 batch 400 In 781.25 loss = 1.5507 accuracy = 39.0625% epoch 8 batch 500 In 781.25 loss = 1.4964 accuracy = 37.5000% epoch 8 batch 600 In 781.25 loss = 1.5248 accuracy = 40.6250% epoch 8 batch 700 In 781.25 loss = 1.2663 accuracy = 53.1250% epoch 9 batch 0 In 781.25 loss = 1.4140 accuracy = 43.7500% epoch 9 batch 100 In 781.25 loss = 1.3880 accuracy = 53.1250% epoch 9 batch 200 In 781.25 loss = 1.2337 accuracy = 51.5625% epoch 9 batch 300 In 781.25 loss = 1.3268 accuracy = 51.5625% epoch 9 batch 400 In 781.25 loss = 1.3944 accuracy = 40.6250% epoch 9 batch 500 In 781.25 loss = 1.4345 accuracy = 57.8125% epoch 9 batch 600 In 781.25 loss = 1.3305 accuracy = 51.5625% epoch 9 batch 700 In 781.25 loss = 1.4600 accuracy = 57.8125% epoch 10 batch 0 In 781.25 loss = 1.4065 accuracy = 50.0000% epoch 10 batch 100 In 781.25 loss = 1.3810 accuracy = 53.1250% epoch 10 batch 200 In 781.25 loss = 1.4630 accuracy = 46.8750% epoch 10 batch 300 In 781.25 loss = 1.4755 accuracy = 51.5625% epoch 10 batch 400 In 781.25 loss = 1.2332 accuracy = 43.7500% epoch 10 batch 500 In 781.25 loss = 1.3078 accuracy = 57.8125% epoch 10 batch 600 In 781.25 loss = 1.2185 accuracy = 53.1250% epoch 10 batch 700 In 781.25 loss = 1.2658 accuracy = 59.3750% epoch 11 batch 0 In 781.25 loss = 1.3261 accuracy = 57.8125% epoch 11 batch 100 In 781.25 loss = 1.2700 accuracy = 54.6875% epoch 11 batch 200 In 781.25 loss = 1.3970 accuracy = 46.8750% epoch 11 batch 300 In 781.25 loss = 1.3336 accuracy = 54.6875% epoch 11 batch 400 In 781.25 loss = 1.3989 accuracy = 50.0000% epoch 11 batch 500 In 781.25 loss = 1.3394 accuracy = 46.8750% epoch 11 batch 600 In 781.25 loss = 1.3924 accuracy = 56.2500% epoch 11 batch 700 In 781.25 loss = 1.2620 accuracy = 56.2500% epoch 12 batch 0 In 781.25 loss = 1.1936 accuracy = 51.5625% epoch 12 batch 100 In 781.25 loss = 1.4169 accuracy = 50.0000% epoch 12 batch 200 In 781.25 loss = 1.2697 accuracy = 56.2500% epoch 12 batch 300 In 781.25 loss = 1.3202 accuracy = 53.1250% epoch 12 batch 400 In 781.25 loss = 1.4378 accuracy = 37.5000% epoch 12 batch 500 In 781.25 loss = 1.1814 accuracy = 62.5000% epoch 12 batch 600 In 781.25 loss = 1.3979 accuracy = 51.5625% epoch 12 batch 700 In 781.25 loss = 1.6219 accuracy = 43.7500% epoch 13 batch 0 In 781.25 loss = 1.7161 accuracy = 48.4375% epoch 13 batch 100 In 781.25 loss = 1.3266 accuracy = 50.0000% epoch 13 batch 200 In 781.25 loss = 1.3687 accuracy = 50.0000% epoch 13 batch 300 In 781.25 loss = 1.4488 accuracy = 50.0000% epoch 13 batch 400 In 781.25 loss = 1.3780 accuracy = 51.5625% epoch 13 batch 500 In 781.25 loss = 1.4341 accuracy = 53.1250% epoch 13 batch 600 In 781.25 loss = 1.2450 accuracy = 60.9375% epoch 13 batch 700 In 781.25 loss = 1.4046 accuracy = 57.8125% epoch 14 batch 0 In 781.25 loss = 1.2583 accuracy = 57.8125% epoch 14 batch 100 In 781.25 loss = 1.2042 accuracy = 59.3750% epoch 14 batch 200 In 781.25 loss = 1.0217 accuracy = 60.9375% epoch 14 batch 300 In 781.25 loss = 1.5322 accuracy = 39.0625% epoch 14 batch 400 In 781.25 loss = 1.2680 accuracy = 59.3750% epoch 14 batch 500 In 781.25 loss = 1.4117 accuracy = 43.7500% epoch 14 batch 600 In 781.25 loss = 1.2070 accuracy = 56.2500% epoch 14 batch 700 In 781.25 loss = 1.5578 accuracy = 53.1250% epoch 15 batch 0 In 781.25 loss = 1.2705 accuracy = 50.0000% epoch 15 batch 100 In 781.25 loss = 1.3118 accuracy = 53.1250% epoch 15 batch 200 In 781.25 loss = 1.3140 accuracy = 56.2500% epoch 15 batch 300 In 781.25 loss = 1.2689 accuracy = 50.0000% epoch 15 batch 400 In 781.25 loss = 1.3345 accuracy = 54.6875% epoch 15 batch 500 In 781.25 loss = 1.2388 accuracy = 57.8125% epoch 15 batch 600 In 781.25 loss = 1.3317 accuracy = 51.5625% epoch 15 batch 700 In 781.25 loss = 1.0944 accuracy = 60.9375% epoch 16 batch 0 In 781.25 loss = 0.9785 accuracy = 65.6250% epoch 16 batch 100 In 781.25 loss = 1.3298 accuracy = 48.4375% epoch 16 batch 200 In 781.25 loss = 1.2975 accuracy = 56.2500% epoch 16 batch 300 In 781.25 loss = 1.3631 accuracy = 45.3125% epoch 16 batch 400 In 781.25 loss = 1.1714 accuracy = 51.5625% epoch 16 batch 500 In 781.25 loss = 1.2197 accuracy = 56.2500% epoch 16 batch 600 In 781.25 loss = 1.1604 accuracy = 54.6875% epoch 16 batch 700 In 781.25 loss = 1.3643 accuracy = 45.3125% epoch 17 batch 0 In 781.25 loss = 1.2571 accuracy = 54.6875% epoch 17 batch 100 In 781.25 loss = 1.3136 accuracy = 50.0000% epoch 17 batch 200 In 781.25 loss = 1.0692 accuracy = 64.0625% epoch 17 batch 300 In 781.25 loss = 1.2984 accuracy = 54.6875% epoch 17 batch 400 In 781.25 loss = 1.3145 accuracy = 56.2500% epoch 17 batch 500 In 781.25 loss = 1.0156 accuracy = 65.6250% epoch 17 batch 600 In 781.25 loss = 1.4033 accuracy = 50.0000% epoch 17 batch 700 In 781.25 loss = 1.3489 accuracy = 48.4375% epoch 18 batch 0 In 781.25 loss = 1.3279 accuracy = 48.4375% epoch 18 batch 100 In 781.25 loss = 1.0127 accuracy = 56.2500% epoch 18 batch 200 In 781.25 loss = 1.2629 accuracy = 48.4375% epoch 18 batch 300 In 781.25 loss = 1.1487 accuracy = 59.3750% epoch 18 batch 400 In 781.25 loss = 1.3890 accuracy = 56.2500% epoch 18 batch 500 In 781.25 loss = 1.0579 accuracy = 62.5000% epoch 18 batch 600 In 781.25 loss = 1.3453 accuracy = 50.0000% epoch 18 batch 700 In 781.25 loss = 1.1905 accuracy = 51.5625% epoch 19 batch 0 In 781.25 loss = 1.1903 accuracy = 57.8125% epoch 19 batch 100 In 781.25 loss = 1.1407 accuracy = 62.5000% epoch 19 batch 200 In 781.25 loss = 1.2654 accuracy = 56.2500% epoch 19 batch 300 In 781.25 loss = 1.2199 accuracy = 57.8125% epoch 19 batch 400 In 781.25 loss = 1.2242 accuracy = 64.0625% epoch 19 batch 500 In 781.25 loss = 1.0288 accuracy = 67.1875% epoch 19 batch 600 In 781.25 loss = 1.0358 accuracy = 60.9375% epoch 19 batch 700 In 781.25 loss = 1.1985 accuracy = 65.6250%迭代完成 final loss = 0.8100204467773438 final accu = 68.75

3.4?可視化loss迭代過程

#顯示loss的歷史數據 plt.grid() plt.xlabel("iters") plt.ylabel("") plt.title("loss", fontsize = 12) plt.plot(loss_history, "r") plt.show()

?

3.5?可視化訓練批次的精度迭代過程

#顯示準確率的歷史數據 plt.grid() plt.xlabel("iters") plt.ylabel("%") plt.title("accuracy", fontsize = 12) plt.plot(accuracy_history, "b+") plt.show()

?

第4章 模型性能驗證

4.1 手工驗證

# 手工檢查 index = 0 print("獲取一個batch樣本") images, labels = next(iter(test_loader)) print(images.shape) print(labels.shape) print(labels)print("\n對batch中所有樣本進行預測") outputs = net(images) print(outputs.data.shape)print("\n對batch中每個樣本的預測結果,選擇最可能的分類") _, predicted = torch.max(outputs, 1) print(predicted.data.shape) print(predicted)print("\n對batch中的所有結果進行比較") bool_results = (predicted == labels) print(bool_results.shape) print(bool_results)print("\n統(tǒng)計預測正確樣本的個數和精度") corrects = bool_results.sum().item() accuracy = corrects/(len(bool_results)) print("corrects=", corrects) print("accuracy=", accuracy)print("\n樣本index =", index) print("標簽值 :", labels[index]. item()) print("分類可能性:", outputs.data[index].numpy()) print("最大可能性:",predicted.data[index].item()) print("正確性 :",bool_results.data[index].item()) 獲取一個batch樣本 torch.Size([64, 3, 32, 32]) torch.Size([64]) tensor([6, 5, 9, 6, 9, 4, 1, 1, 2, 0, 0, 2, 6, 9, 2, 9, 1, 1, 6, 1, 1, 4, 4, 3,1, 9, 9, 7, 3, 9, 6, 3, 7, 9, 1, 4, 8, 0, 9, 4, 5, 8, 8, 4, 4, 8, 0, 4,0, 8, 6, 3, 5, 9, 2, 0, 7, 2, 3, 7, 1, 6, 7, 5])對batch中所有樣本進行預測 torch.Size([64, 10])對batch中每個樣本的預測結果,選擇最可能的分類 torch.Size([64]) tensor([8, 2, 9, 6, 4, 6, 1, 1, 5, 0, 0, 0, 6, 1, 9, 1, 1, 3, 8, 1, 1, 6, 6, 2,1, 9, 9, 7, 5, 9, 6, 1, 5, 9, 1, 1, 8, 0, 0, 4, 6, 8, 8, 2, 4, 8, 0, 4,0, 8, 6, 3, 5, 9, 2, 8, 1, 7, 4, 8, 8, 6, 7, 7])對batch中的所有結果進行比較 torch.Size([64]) tensor([False, False, True, True, False, False, True, True, False, True,True, False, True, False, False, False, True, False, False, True,True, False, False, False, True, True, True, True, False, True,True, False, False, True, True, False, True, True, False, True,False, True, True, False, True, True, True, True, True, True,True, True, True, True, True, False, False, False, False, False,False, True, True, False])統(tǒng)計預測正確樣本的個數和精度 corrects= 36 accuracy= 0.5625樣本index = 0 標簽值 : 6 分類可能性: [-0.29385602 -3.5680068 -0.11207527 2.3141491 -1.4549704 0.860663061.0907507 -3.04807 3.4386015 -1.4474211 ] 最大可能性: 8 正確性 : False

4.2 整個訓練集上的精度驗證:精度只有58%

# 對訓練后的模型進行評估:測試其在訓練集上總的準確率 correct_dataset = 0 total_dataset = 0 accuracy_dataset = 0.0# 進行評測的時候網絡不更新梯度 with torch.no_grad():for i, data in enumerate(train_loader):#獲取一個batch樣本" images, labels = data#對batch中所有樣本進行預測outputs = net(images)#對batch中每個樣本的預測結果,選擇最可能的分類_, predicted = torch.max(outputs.data, 1)#對batch中的樣本數進行累計total_dataset += labels.size()[0] #對batch中的所有結果進行比較"bool_results = (predicted == labels)#統(tǒng)計預測正確樣本的個數correct_dataset += bool_results.sum().item()#統(tǒng)計預測正確樣本的精度accuracy_dataset = 100 * correct_dataset/total_datasetif(i % 100 == 0):print('batch {} In {} accuracy = {:.4f}'.format(i, len(train_data)/64, accuracy_dataset))print('Final result with the model on the dataset, accuracy =', accuracy_dataset) batch 0 In 781.25 accuracy = 50.0000 batch 100 In 781.25 accuracy = 57.7970 batch 200 In 781.25 accuracy = 57.9291 batch 300 In 781.25 accuracy = 57.6256 batch 400 In 781.25 accuracy = 57.6761 batch 500 In 781.25 accuracy = 57.6129 batch 600 In 781.25 accuracy = 57.6071 batch 700 In 781.25 accuracy = 57.4715 Final result with the model on the dataset, accuracy = 57.598

4.3 整個測試集上的精度驗證:精度只有58%

# 對訓練后的模型進行評估:測試其在訓練集上總的準確率 correct_dataset = 0 total_dataset = 0 accuracy_dataset = 0.0# 進行評測的時候網絡不更新梯度 with torch.no_grad():for i, data in enumerate(test_loader):#獲取一個batch樣本" images, labels = data#對batch中所有樣本進行預測outputs = net(images)#對batch中每個樣本的預測結果,選擇最可能的分類_, predicted = torch.max(outputs.data, 1)#對batch中的樣本數進行累計total_dataset += labels.size()[0] #對batch中的所有結果進行比較"bool_results = (predicted == labels)#統(tǒng)計預測正確樣本的個數correct_dataset += bool_results.sum().item()#統(tǒng)計預測正確樣本的精度accuracy_dataset = 100 * correct_dataset/total_datasetif(i % 100 == 0):print('batch {} In {} accuracy = {:.4f}'.format(i, len(test_data)/64, accuracy_dataset))print('Final result with the model on the dataset, accuracy =', accuracy_dataset) batch 0 In 156.25 accuracy = 54.6875 batch 100 In 156.25 accuracy = 54.5947 Final result with the model on the dataset, accuracy = 54.94

結論:

LeNet在MNIST數據集上的準確率可以高達98%.

LeNet在CFAR10上的準確率不足60%,因此需要一個更深的神經網絡。


作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

?本文網址:https://blog.csdn.net/HiWangWenBing/article/details/121072835

總結

以上是生活随笔為你收集整理的[Pytorch系列-35]:卷积神经网络 - 搭建LeNet-5网络与CFAR10分类数据集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

av官网| 国产精品视频999 | 黄色一二级片 | 天天爽夜夜操 | 日韩视频欧美视频 | 在线中文字幕视频 | 特片网久久 | 久草免费手机视频 | 免费看成人a | 丰满少妇在线 | 国产资源中文字幕 | 国产精品一区在线观看 | 亚洲国产精品女人久久久 | www.天天射.com| 91色视频 | 国产免费xvideos视频入口 | 99久久久久成人国产免费 | 国产精品一区二区在线免费观看 | 日韩免费视频网站 | 国产一区二区久久久 | 国产精品免费不 | 国产欧美高清 | 日韩高清不卡一区二区三区 | 这里只有精品视频在线观看 | 国产亚洲情侣一区二区无 | 欧美伦理电影一区二区 | 国产黄a三级三级三级三级三级 | 日韩亚洲在线视频 | 91精品久久久久久综合乱菊 | 久久高清 | 久草香蕉在线视频 | 国产精品一区二区在线免费观看 | 偷拍区另类综合在线 | 福利网址在线观看 | 久久久久久久久电影 | 婷婷综合成人 | 精品久久久久久综合 | 麻豆免费看片 | 国产玖玖在线 | 黄色av一区二区 | 黄色99视频 | 69亚洲视频 | 免费成人短视频 | 国内精品久久久精品电影院 | www.玖玖玖| 亚洲精品高清一区二区三区四区 | 国产专区一 | 婷婷色影院 | 99福利影院 | 亚洲精品成人网 | 99精品欧美一区二区蜜桃免费 | 一级黄色片在线观看 | 中文字幕之中文字幕 | 91精品区 | 国产亚洲一区二区在线观看 | 欧美久久久一区二区三区 | 欧美性极品xxxx娇小 | 天天色影院 | 99免在线观看免费视频高清 | 亚洲视频网站在线观看 | 久久久久久久久久亚洲精品 | 亚洲全部视频 | 97超碰资源站 | 亚洲专区一二三 | 午夜视频在线观看网站 | 中文字幕日本特黄aa毛片 | 中文字幕国内精品 | 四虎永久免费在线观看 | 亚洲色图 校园春色 | 久久精品成人欧美大片古装 | 在线超碰av | 亚洲涩涩涩 | 黄色免费大片 | 欧美最猛性xxxx | 亚洲精品成人免费 | 亚洲国产综合在线 | 欧美国产日韩一区二区三区 | 色综合狠狠干 | 中文字幕精品久久 | 久久精品国产一区二区三区 | 偷拍区另类综合在线 | 欧美色图亚洲图片 | 久久视频在线观看免费 | 91成人精品国产刺激国语对白 | 西西4444www大胆无视频 | 日本黄色特级片 | 亚洲精品玖玖玖av在线看 | 国产在线播放不卡 | 在线黄色观看 | av网站在线观看播放 | 色综久久| 国产精品免费视频一区二区 | av在线官网 | 国产不卡一| 国产日韩视频在线 | 97视频免费观看 | 国产午夜一级毛片 | 在线观看av大片 | 91精品国产网站 | 91视频国产免费 | 五月婷婷综合在线视频 | 久久精品一区二区三区视频 | 91精品国产自产91精品 | 国产成人精品综合久久久 | 免费精品久久久 | 人成午夜视频 | 国产成人精品一区二区三区网站观看 | 久草在线99| 免费精品视频在线观看 | 国产精品露脸在线 | 亚洲国产成人精品电影在线观看 | 免费观看的av | 天天操伊人 | 最新日韩在线观看视频 | 日韩在线观看a | 五月天久久精品 | 久久久精品高清 | 91尤物国产尤物福利在线播放 | 一区二区三区日韩视频在线观看 | 久久精品欧美视频 | 久久九九影视网 | 精品视频免费播放 | 精品国产乱码久久久久久三级人 | 伊人久久五月天 | 亚洲精品一区中文字幕乱码 | 丁香亚洲 | 国产小视频在线播放 | 麻豆极品 | 欧美中文字幕久久 | 色七七亚洲影院 | www.夜色321.com| 久久资源在线 | 激情狠狠干 | 欧美日本中文字幕 | 国产精品成人一区二区三区吃奶 | 日韩网站中文字幕 | 91av社区| 午夜色性片 | 天天射天天干天天插 | 久草在线免费色站 | 天天摸天天舔天天操 | 久久国产成人午夜av影院宅 | 97色婷婷 | 日韩激情影院 | 久久久在线视频 | 天天干夜夜夜操天 | 97视频总站 | 久久专区| 亚洲天天摸日日摸天天欢 | 黄色一二级片 | 日韩av免费一区 | 日本公乱妇视频 | 精品国产a| 四虎成人精品永久免费av九九 | 337p欧美 | 午夜黄色影院 | 国产成在线观看免费视频 | 久久午夜电影院 | 婷婷亚洲综合五月天小说 | 在线成人小视频 | 国产免费黄视频在线观看 | 在线观看中文字幕dvd播放 | 亚洲国产久 | 丁香花中文在线免费观看 | 99麻豆视频 | ww亚洲ww亚在线观看 | 国产精品久久一卡二卡 | 狠狠色伊人亚洲综合网站野外 | 成人免费观看网站 | 成人精品在线 | 精品色999 | 精品你懂的 | 日本精品在线看 | 91一区二区三区久久久久国产乱 | 日本丰满少妇免费一区 | 亚洲精品免费在线播放 | 日韩精品久久久久久中文字幕8 | 国产视频一区在线免费观看 | 99精品视频免费观看视频 | 91爱爱免费观看 | 婷婷伊人网 | 日韩性网站| 日韩二区在线 | 成人免费 在线播放 | 一区在线播放 | 天天射综合网站 | 国产无区一区二区三麻豆 | 91av短视频| 一区二区三区 亚洲 | 国产成人久久av977小说 | 一本到视频在线观看 | 国产在线视频导航 | 91在线播放国产 | 国产免费三级在线观看 | 九九久久成人 | 国产69精品久久久久99尤 | 亚洲成 人精品 | 中字幕视频在线永久在线观看免费 | 国产一区二区日本 | 国产一区在线观看免费 | 91麻豆高清视频 | 天堂va在线高清一区 | 国产精品系列在线观看 | 在线亚洲成人 | 欧美日韩国产一区二区在线观看 | 综合色中色 | 激情综合电影网 | 蜜臀av一区 | 97福利在线 | 国产成人精品久 | 网址你懂的在线观看 | 国产精品久久久久久久久久久久冷 | 中文字幕一区二区三区视频 | 国产精品自产拍在线观看桃花 | 美女视频永久黄网站免费观看国产 | 精品国产一区二区三区噜噜噜 | 免费亚洲黄色 | 婷婷亚洲综合 | 911国产精品 | 欧美大片在线看免费观看 | 在线观看免费版高清版 | 欧美性色综合网站 | 欧美日韩国产伦理 | 丁香婷婷久久久综合精品国产 | 97爱| 国内精品美女在线观看 | a在线观看免费视频 | 91在线影视 | 久久色中文字幕 | 免费av网站在线看 | 国产精品久久片 | 在线观看av中文字幕 | 69av视频在线 | 精品久久久久久久久久久久久久久久 | 婷婷色伊人| 91.精品高清在线观看 | 国产一区二区精 | 国产r级在线观看 | 日韩网站中文字幕 | 久草视频免费在线播放 | 国产精品一区二区在线观看免费 | 蜜臀av免费一区二区三区 | 97在线观看免费高清完整版在线观看 | 成年人免费在线看 | 香蕉97视频观看在线观看 | 国产免费又爽又刺激在线观看 | 在线免费国产视频 | 狠狠色伊人亚洲综合网站色 | av怡红院 | 欧美有色 | 日本精品xxxx | 欧美性色网站 | 成人国产精品一区二区 | 在线欧美最极品的av | 久久精品视频播放 | 91视频免费视频 | 国产精品久久久久久久久久久久冷 | 99久久这里有精品 | 中文字幕精品一区久久久久 | 精品免费在线视频 | 性日韩欧美在线视频 | 欧美性做爰猛烈叫床潮 | 黄色av在 | 日韩av一区二区三区在线观看 | 日韩综合视频在线观看 | 三级黄色a| 欧美做受高潮电影o | 久草国产在线观看 | 99久久综合国产精品二区 | 黄色特级片| 91黄视频在线观看 | av在线精品 | 亚洲美女在线一区 | 免费在线播放黄色 | www日韩| 国产精品网红直播 | 色综合久久五月天 | 99久久精品电影 | 综合精品久久久 | 在线观看视频国产一区 | 国产精品久久久久久久免费大片 | 337p日本欧洲亚洲大胆裸体艺术 | 中文字幕日韩免费视频 | 美女黄网站视频免费 | 国产一级性生活 | 91av免费观看 | 中文字幕色在线视频 | 成人国产精品一区二区 | 91久久爱热色涩涩 | 九色91在线| 999国内精品永久免费视频 | 中文字幕永久免费 | 国产乱码精品一区二区三区介绍 | 国产999精品久久久影片官网 | 精品在线观看免费 | 成人午夜精品福利免费 | 黄色小说网站在线 | 玖玖视频| av888.com | 日本午夜在线亚洲.国产 | 麻豆av电影 | 亚洲精品乱码久久久一二三 | 亚洲伊人色 | 日本中文在线 | av手机版| 久草在线免费看视频 | 精品国产视频一区 | 欧美激情视频一区二区三区 | 久久免费在线 | 午夜男人影院 | 麻豆免费视频 | 在线一区观看 | 精品夜夜嗨av一区二区三区 | 五月天天天操 | 亚洲欧美少妇 | 在线色吧| 在线观看视频97 | 天天草天天干 | 欧美国产日韩在线视频 | 国产精品青草综合久久久久99 | 日产中文字幕 | 精品久久久久一区二区国产 | 中文字幕国产一区二区 | 国产精品一区二区三区在线播放 | 欧美亚洲精品一区 | 日韩成人黄色 | 麻豆国产精品永久免费视频 | 人人澡人人干 | 97视频亚洲| 六月色丁香| 国产精品手机在线播放 | 婷婷六月天丁香 | 黄色av影院| 91九色视频网站 | 成人黄色在线 | 久久久久一区二区三区 | 美女久久久久久久 | 亚洲美女视频在线 | 在线中文视频 | 国产精品国产三级国产aⅴ无密码 | 黄色成人免费电影 | 日韩a级黄色 | 免费99精品国产自在在线 | 毛片一区二区 | 国内精品国产三级国产aⅴ久 | 日韩三级在线观看 | 看av免费 | 伊人久久婷婷 | 97色免费视频 | 99精品久久久久 | 色噜噜在线观看 | 午夜精品久久久久99热app | 久久精品3| 粉嫩av一区二区三区四区五区 | 国产免费叼嘿网站免费 | 欧美亚洲国产精品久久高清浪潮 | 伊人成人激情 | 成人h视频 | 国产精品1区2区3区在线观看 | 欧美aaa大片 | 一二区精品 | 人人爽人人爽 | 视频二区在线 | 黄色一级大片在线免费看国产一 | 五月天中文字幕mv在线 | 色在线观看网站 | 精品国产一区二区在线 | 久久久久在线观看 | 精品国精品自拍自在线 | 黄色录像av| 欧美一二区视频 | 91麻豆看国产在线紧急地址 | 欧美资源在线观看 | 99精品在线观看 | 天天操天天射天天舔 | 国产在线观看一区 | 99久久99久久精品免费 | 手机在线看永久av片免费 | 91av电影网| 91中文字幕在线观看 | 日日爽| 不卡电影免费在线播放一区 | 中文字幕电影一区 | 免费日韩三级 | 亚洲午夜久久久影院 | 亚州免费视频 | 天天干天天插 | 日韩一区二区三区高清在线观看 | 91国内产香蕉 | 蜜桃视频日韩 | 亚洲欧洲av | 久久午夜免费观看 | 国产精品免费视频久久久 | 国产视频久 | 国产乱对白刺激视频不卡 | 亚洲国产精品成人精品 | 人人爽久久涩噜噜噜网站 | 在线小视频你懂的 | 国产日韩中文在线 | 亚洲精品www久久久 www国产精品com | 99热在线观看 | 国产日产精品久久久久快鸭 | 亚洲视频在线免费看 | 国产一区二区日本 | 00av视频| 中文字幕乱码电影 | 99精品福利| 在线观看中文字幕视频 | 亚洲专区在线播放 | 日韩精品一区二区三区丰满 | 91九色视频在线播放 | 久久免费a | 九九精品无码 | 国产精品对白一区二区三区 | 色综合久久88色综合天天6 | 亚州成人av在线 | a级国产乱理伦片在线观看 亚洲3级 | 91看成人 | 亚洲一区二区三区四区在线视频 | 欧美日韩一区二区三区在线观看视频 | 97在线公开视频 | 视频在线99 | 久草视频播放 | 最新av观看| 在线视频电影 | 热99在线 | 一区免费视频 | 九热在线 | 天天射网 | 久艹在线观看视频 | 久久视频国产 | 日韩激情视频在线 | 日日日视频 | 国产精久久久久久妇女av | 久久久久久久久爱 | 456成人精品影院 | 韩日精品在线观看 | 亚洲综合视频在线 | 日韩在线观看免费 | 久草视频在线免费播放 | 碰超在线97人人 | 久久精品人人做人人综合老师 | 超碰午夜 | 97小视频 | 最近日本字幕mv免费观看在线 | 国产高清在线观看av | 国产大尺度视频 | 亚洲第一中文字幕 | 丁香5月婷婷久久 | 久久99精品国产91久久来源 | 国产精品成人自产拍在线观看 | 在线免费国产视频 | 亚洲人成人在线 | 视频成人| 午夜视频在线观看网站 | 中文字幕在线成人 | 天天爽夜夜爽人人爽一区二区 | 激情狠狠干| 婷婷色婷婷 | 国产综合香蕉五月婷在线 | 成人午夜剧场在线观看 | 午夜精品一区二区国产 | 国产精品美女在线 | 91成人在线视频观看 | 伊人激情综合 | 福利久久 | 中文乱码视频在线观看 | 国产91勾搭技师精品 | 91最新网址在线观看 | 久久成人人人人精品欧 | 中文字幕黄网 | 深爱激情五月婷婷 | 亚洲精品久久久久中文字幕m男 | 免费网址你懂的 | 91精品国产99久久久久久久 | 亚洲黑丝少妇 | 天天操天天弄 | 国产精品18久久久久久不卡孕妇 | 中文字幕精 | a电影免费看 | 香蕉日日 | 91成人免费视频 | 欧美精品中文在线免费观看 | 欧美日韩久久不卡 | 国产大尺度视频 | 超级碰碰免费视频 | 狠狠色综合欧美激情 | 欧美色图88 | 欧美二区三区91 | 久久9999久久免费精品国产 | 久久久蜜桃一区二区 | 国产精品毛片久久 | 午夜美女视频 | 91在线播放综合 | 久久高清av | av片中文字幕 | 色综合久久综合 | 色综合天天做天天爱 | 午夜国产在线观看 | 99在线热播 | 国产精品久久久亚洲 | 国产视频精品久久 | 久久久人人爽 | 色婷婷色 | 中文字幕首页 | 99视频在线观看视频 | 开心综合网 | 精品一区二区三区四区在线 | 精品国产一区二区三区久久久 | 精品久久网站 | 人人艹视频 | 免费的黄色的网站 | 在线观看亚洲精品视频 | 一区二区视频在线免费观看 | 久艹视频在线免费观看 | 丰满少妇在线观看 | 日韩在线观看一区二区三区 | 91久久国产露脸精品国产闺蜜 | 99在线免费视频 | 99国产精品一区 | 99热都是精品 | 黄色三级网站 | 欧美成人性网 | 九九激情视频 | 亚洲在线免费视频 | 久草视频免费播放 | 日日夜夜精品网站 | 黄色三几片| 美女精品国产 | 黄色片网站 | 九九99| 国产原创在线 | 国产高清中文字幕 | 一区二区中文字幕在线播放 | 国产高清视频免费 | 国产成人香蕉 | 免费在线黄色av | 国内精品久久久久久久久久清纯 | 中文字幕在线播放av | av网址在线播放 | 中文字幕精品一区 | 欧美黄色成人 | 六月久久婷婷 | 一级片免费观看视频 | 久久精品网站视频 | 麻豆果冻剧传媒在线播放 | 国产网站色 | 国产尤物在线观看 | 亚洲人成网站精品片在线观看 | 国产999在线观看 | 婷婷五月色综合 | 色视频网站在线观看一=区 a视频免费在线观看 | 免费三级黄 | 天天爱天天插 | 色综合天天视频在线观看 | 成人一级在线观看 | 欧美日韩激情视频8区 | 亚洲精品成人av在线 | 国产精品一区在线观看 | 激情网五月天 | 成人av免费播放 | 日韩欧美xxx| 综合久久久久久久 | 九九九在线 | 亚洲一区不卡视频 | 亚洲干视频在线观看 | 久久男人中文字幕资源站 | 中文字幕视频播放 | 国产精品久久久久久久久久三级 | 手机av观看 | 欧美精品做受xxx性少妇 | 九九热有精品 | 久久精品视频在线观看免费 | www.狠狠色| 99爱在线 | 4438全国亚洲精品在线观看视频 | 日韩激情精品 | 国产一区私人高清影院 | 国内精品一区二区 | 蜜臀91丨九色丨蝌蚪老版 | 在线观看av麻豆 | 国产精品乱码一区二三区 | 亚洲天堂网视频在线观看 | 国产高清 不卡 | 久久免费精品视频 | 国产黄色观看 | 国产91学生粉嫩喷水 | 欧美久草在线 | 中文字幕免费一区二区 | 久久免费美女视频 | 国产美女在线观看 | 欧美一级在线观看视频 | 欧美黄色软件 | www.97色.com| 91av手机在线观看 | 正在播放亚洲精品 | 日韩免费高清 | 成人性生交大片免费看中文网站 | 中文字幕 在线看 | 成人精品视频久久久久 | 久久最新 | 国产人成精品一区二区三 | 亚洲视频免费视频 | 成人黄视频 | 欧美精品一区二区三区四区在线 | 人人澡人 | 欧美日韩国产mv | av怡红院 | 免费午夜在线视频 | 国产精品亚洲a | 国产精品视频999 | 精品国产免费久久 | 午夜黄色一级片 | 天天天干 | 黄色录像av | 国内精品视频一区二区三区八戒 | 99国产免费网址 | 免费观看一区二区 | 国产亚洲小视频 | a一片一级 | 五月婷丁香网 | 欧美日韩天堂 | 国产v亚洲v | 西西大胆免费视频 | 精品国产一区二区三区久久影院 | 日韩在观看线 | 九九有精品| 天天干婷婷| 中文在线免费看视频 | 日本公妇在线观看高清 | 天天射天天射 | 国产中文字幕精品 | 91麻豆精品国产午夜天堂 | 亚洲精品av在线 | 日韩精品不卡在线 | 日日麻批40分钟视频免费观看 | 人人干人人做 | 五月婷婷视频在线 | 亚洲在线免费视频 | 欧美夫妻生活视频 | 国产亚洲综合在线 | 天天操天天透 | 国内精品视频在线 | 天天激情在线 | 日韩激情影院 | 国产黄色片免费在线观看 | 嫩小bbbb摸bbb摸bbb | 日韩精品免费在线 | 91成人免费看片 | 久久99国产精品视频 | 日韩激情片在线观看 | 开心色插 | 黄色精品久久久 | 亚洲精品福利在线 | 久久久久久久久久久成人 | 人人躁 | 色婷婷啪啪免费在线电影观看 | 91成人免费在线视频 | 五月婷婷综合激情 | 国产一区二区在线观看视频 | 91亚洲欧美激情 | 在线观看黄色av | 国产一区观看 | 超碰人人在 | 人人干干人人 | 99精品视频在线看 | 成人一区二区三区在线观看 | 久草免费色站 | 国产九色91 | 日韩精品电影在线播放 | 久久久久久片 | 91视频下载 | 欧美视频一区二 | 久久精品99国产国产 | 久久久福利视频 | 91精品视频免费 | 91九色网址 | 国产精品一区二区白浆 | a v在线观看 | 日本精品在线看 | 91亚洲网| 麻豆国产精品视频 | 久久精品一区二区三区中文字幕 | 在线99视频| 欧美日韩p片 | 日韩免费av片 | 国产91av视频在线观看 | 亚洲午夜电影网 | 亚洲精品综合一区二区 | 成人久久精品 | 伊人视频 | 99在线精品视频在线观看 | 97成人免费视频 | 三级视频国产 | 国产区av在线 | av短片在线观看 | 午夜久久福利影院 | 人人爽人人乐 | 91在线免费观看网站 | 国产精品乱码在线 | 久草免费在线观看视频 | 免费视频黄 | 天天操综合网站 | 999热线在线观看 | 国产精品久久久久久一区二区 | 国产精品久久婷婷六月丁香 | 亚洲欧美视频在线观看 | 久草在线91 | 国产精品9999久久久久仙踪林 | 午夜视频在线观看欧美 | 99免费在线视频 | 天天射射天天 | 久久久久久久久久电影 | 四月婷婷在线观看 | 4438全国亚洲精品在线观看视频 | 久久电影中文字幕视频 | 五月开心综合 | 天堂av在线网站 | 在线精品播放 | 国产九九精品视频 | 99热这里只有精品久久 | 91.麻豆视频 | 97超碰人人澡人人爱 | 亚洲欧洲精品久久 | 国产精品18久久久久久久网站 | 国产一区二区三区免费视频 | 一区二区欧美在线观看 | 毛片永久新网址首页 | 免费亚洲片 | 亚洲成人黄色在线 | 国产亚洲成人网 | 中文字幕日本特黄aa毛片 | 日韩av黄| 国产免费不卡 | 一级黄色毛片 | 99久久婷婷 | 日日干天天干 | 99精品久久久久久久久久综合 | 天天摸日日操 | 成人免费观看视频大全 | 最近中文字幕高清字幕在线视频 | 亚洲欧美日韩国产精品一区午夜 | 国产a视频免费观看 | 爱爱av网| 在线观看视频在线观看 | 国产精品久久久久久久久久久久久久 | 国产精品九九九九九 | 国产免费一区二区三区网站免费 | 欧美日韩高清 | 国产网站av | 区一区二区三在线观看 | 99热在线这里只有精品 | 亚洲国产字幕 | 91香蕉视频在线下载 | 97视频一区 | 欧美久久电影 | 色网站免费在线观看 | 亚洲精品在线二区 | 国产精品入口a级 | 久久国产网 | 人人爽久久涩噜噜噜网站 | 精品国产电影一区二区 | 黄色av免费在线 | 国产精品九九视频 | 久草网在线观看 | a在线免费观看视频 | 狠狠操导航| 日韩成人高清在线 | 女人久久久久 | 精品免费视频 | 人人爽久久涩噜噜噜网站 | 狠狠做深爱婷婷综合一区 | 综合在线亚洲 | 久久99精品久久久久久秒播蜜臀 | 日韩精品专区在线影院重磅 | 国产一二区精品 | 久久av在线播放 | 色综合久久久久 | 国产亚洲精品福利 | 成人avav | 天堂黄色片 | 日本韩国精品一区二区在线观看 | 欧美午夜剧场 | 乱男乱女www7788 | 99热最新在线 | 中文在线免费视频 | 国产精品久久久久久久久久久久 | 2019中文字幕网站 | 98涩涩国产露脸精品国产网 | 一区二区三区av在线 | 天天搞天天干 | 97干com | 亚洲精品一区二区三区高潮 | 网站免费黄 | 色91在线视频| 成人午夜片av在线看 | 国内精品久久久久影院男同志 | 成人黄大片视频在线观看 | 久草视频在 | 成人在线播放av | 成人三级视频 | 黄色成人91 | 97热在线观看 | 91视频在线观看免费 | 国产理论在线 | 国产日韩中文字幕在线 | 日韩在线色视频 | 欧美地下肉体性派对 | 国产小视频91 | 精品一区二区免费视频 | 69视频在线播放 | 在线成人性视频 | 精品久久久久久久久亚洲 | 亚洲国产成人精品在线观看 | 日韩精品三区四区 | 免费在线观看国产精品 | 精品主播网红福利资源观看 | 亚洲人成在线观看 | 91精品在线麻豆 | 国产精品美女久久久久久网站 | 久精品视频免费观看2 | 三上悠亚一区二区在线观看 | 久久男人免费视频 | 精品久久久久久久久久久院品网 | 天天操天天操天天操天天操 | 中文字幕在线久一本久 | 色噜噜日韩精品欧美一区二区 | 日韩精品一区二区三区水蜜桃 | 91亚洲欧美激情 | 中文字幕在线观看播放 | 精品在线观看视频 | 久久www免费人成看片高清 | 亚洲高清av| 五月天色婷婷丁香 | 九热精品 | 91丨九色丨国产女 | 在线a亚洲视频播放在线观看 | 99热99| 97超碰.com | 日韩电影中文,亚洲精品乱码 | 国产精品高清av | 丁香花在线观看视频在线 | 亚洲国产午夜精品 | 国产剧在线观看片 | 右手影院亚洲欧美 | 日本精品视频在线播放 | 国产日韩精品一区二区在线观看播放 | 草久视频在线观看 | 最近中文字幕视频网 | 精品国产一区二区三区不卡 | 午夜久久久久久久久久影院 | 欧美色插 | 国产一区二区在线免费播放 | 精品在线不卡 | 久久高视频 | 国产一级电影免费观看 | 国产精品日韩欧美一区二区 | 亚洲精品福利视频 | 又爽又黄又无遮挡网站动态图 | 日韩av电影手机在线观看 | 久av在线 | 欧美日韩超碰 | 亚洲视频精品在线 | av一级免费 | 精品中文字幕在线 | 日韩a在线观看 | av电影免费在线看 | 狠狠色丁香婷婷综合久小说久 | 亚洲在线高清 | 欧美成人精品欧美一级乱黄 | 日韩在线视频观看免费 | 免费中文字幕视频 | 九九九九色 | 国产高清av免费在线观看 | 免费午夜av | 欧美整片sss| 夜夜操狠狠干 | 国产激情电影综合在线看 | 三级免费黄色 | 久久久999精品视频 国产美女免费观看 | 麻豆一二三精选视频 | 六月色婷婷 | 香蕉视频在线视频 | 久久久国产精品网站 | 久碰视频在线观看 | 国产成人一区二区三区在线观看 | 91香蕉视频好色先生 | 国产这里只有精品 | 又黄又爽又无遮挡免费的网站 | 91系列在线 | 天天色天天草天天射 | 国产成人精品亚洲a | 一区二区三区精品在线 | 日韩欧美视频在线 | 91自拍视频在线 | 日韩丝袜 | 99精品在线观看视频 | 91精品伦理| 欧美成人在线免费观看 | av视屏在线| 91女人18片女毛片60分钟 | 探花视频免费在线观看 | 91成人免费视频 | 91精品小视频 | 日本aaaa级毛片在线看 | 亚洲激情视频在线 | 99国产精品久久久久久久久久 | 日韩欧美精品一区二区三区经典 | 亚洲精品乱码白浆高清久久久久久 | 欧美aaa一级 | 狠狠ri | 久久综合免费视频 | 日本久久不卡视频 | 欧美日韩在线视频免费 | 麻豆久久久| 99久久久久久久 | 精品色999 | 91精品一区国产高清在线gif | 欧美在线一级片 | 免费一级片在线 | 久久精品国产免费 | av中文字幕日韩 | 麻豆视频观看 | 久久久久欧美精品999 | 日韩电影在线一区 | 中文字幕影片免费在线观看 | 人人射网站 | 日韩毛片在线一区二区毛片 | 九色在线 | av高清网站在线观看 | 亚洲视频在线免费看 | 国产精品自产拍在线观看 | 久久精品影视 | 99精彩视频在线观看免费 | 日韩一二三 | 亚洲午夜精品电影 | 97中文字幕| 激情一区二区三区欧美 | 国产字幕在线观看 | 久久久久国产精品免费免费搜索 | 中文乱幕日产无线码1区 | 91九色老 | wwwwww黄 | 在线观看中文字幕第一页 | 欧美精品久久久 | 中国一级片免费看 | 麻豆视频在线免费看 | 国产精品久久久久久久午夜 | 午夜久久美女 | 国产97在线视频 | 午夜精品久久久久99热app | 久久夜夜操 | 国产理论一区二区三区 | 青青草在久久免费久久免费 | 国产馆在线播放 | 国产亚洲永久域名 | 黄色aaa级片 | 天天综合网久久 | 狠狠干干| 人人擦 | 麻豆精品传媒视频 | 欧美性免费 | 亚洲国产精品传媒在线观看 | 欧美一区二视频在线免费观看 | 91在线中文字幕 | 国产精品美乳一区二区免费 | 97视频在线观看免费 | 四虎影视成人永久免费观看视频 | 天天操天操 | 日日操日日插 | 有没有在线观看av | 亚洲在线视频免费 | 人人澡超碰碰97碰碰碰软件 | 国产精品免费久久久久久 | 最近中文字幕视频网 | 免费看v片 | 国产高清免费在线观看 | 久久亚洲视频 | 天天草综合| 另类老妇性bbwbbw高清 | 中文字幕久久亚洲 | 中文在线字幕观看电影 | 国产特级毛片 | 成人网看片 | 精品亚洲成人 | 日韩美女av在线 | 色com网| 亚洲精品在线免费观看视频 | 碰超在线观看 | 欧美精品久久久久久久久久丰满 | 探花视频在线版播放免费观看 | 亚洲小视频在线观看 | 天天操天天操天天操天天操天天操 | 在线免费av网 | 四月婷婷在线观看 | 91网站在线视频 | 成人免费视频网址 | 天天干干 |