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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytorch(1)--分类图片

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch(1)--分类图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

? ? 剛畢業用的是大火大熱的caffe,如今卻逐漸無人問津,2020年轉向pytorch,在此記錄下搬過的磚...

? ? 首篇記錄下pytorch 分類圖片代碼

二、訓練集準備

? ? 本次對7類圖片做訓練和預測,7類圖片分別保存于7個文件夾內,7個文件夾保存于dataset文件夾內,如下

? ? 以下代碼 genTxt.py 生成用于 訓練、驗證、測試的txt文件

#coding=utf-8 #genTxt.pyimport os,cv2 import random,shutil,time import numpy as np import xml.etree.ElementTree as ETdef writeTxt( root , f , pic_list ,txt_name):for pic in pic_list:save_path = "dataset"+"/"+f+"/"+ pic+" "+str(int(f)-1)+"\n"with open(txt_name,"a") as ftxt:ftxt.write(save_path)root = r"."folder = ["1","2","3","4","5","6","7"]val_thr = 0.1 test_thr = 0.1if os.path.exists("val.txt"): os.remove("val.txt") if os.path.exists("test.txt"): os.remove("test.txt") if os.path.exists("train.txt"): os.remove("train.txt")for f in folder:pic_root = os.path.join( root , f )jpeg_list = os.listdir(pic_root)random.shuffle(jpeg_list)val_num = int( val_thr*len(jpeg_list) )test_num = int( test_thr*len(jpeg_list) )val_list = jpeg_list[0:val_num]test_list = jpeg_list[val_num:val_num+test_num]train_list = jpeg_list[val_num+test_num:]writeTxt( root , f , val_list ,"val.txt")writeTxt( root , f , test_list ,"test.txt")writeTxt( root , f , train_list ,"train.txt")

? ? 運行生成txt文件,如下:

三、編寫生成器

? 數據集準備好后,需要編寫生成器以便可讀取數據,回到dataset文件夾目錄,編寫?datasetLoader.py

#coding=utf-8 #datasetLoader.pyfrom torch.utils.data import Dataset,DataLoader from PIL import Image from torchvision import transformsimport numpy as np import os#Write my own dataset loader # -----------------ready the dataset-------------------------- def default_loader(path):src = Image.open(path)resized = src.resize((48,48)) #縮放圖像大小return resized.convert('RGB') # 3通道必須用這個#return Image.open(path) #經過np.array()轉換后,可看到shape為(h,w,c),np.ndarray格式為(h,w,c) class MyDataset(Dataset):#必須重寫 __init__ , __getitem__, __len__ 三個函數#__init__:從txt文件中讀路徑和標簽數據到self.imgs保存,初始化transform、target_transform、loader#__getitem__:編寫支持數據集索引的函數,輸入index ,從self.imgs讀圖像,返回 圖像數據,標簽數據#__len__:返回數據集的大小 ,即len(self.imgs)def __init__(self, txt, transform=None, target_transform=None, loader=default_loader):fh = open(txt, 'r')imgs = []for line in fh:line = line.strip('\n')line = line.rstrip() #刪除 本行string 字符串末尾的指定字符if len(line)==0:continue words = line.split() #按空格分割imgs.append((line[:-2],int(words[-1]))) #并不是圖像,每行只是圖像路徑和標簽,真正圖像數據在__getitem__讀取self.imgs = imgsself.transform = transformself.target_transform = target_transformself.loader = loaderdef __getitem__(self, index):fn, label = self.imgs[index]img = self.loader(fn)if self.transform is not None:img = self.transform(img)return img,labeldef __len__(self):return len(self.imgs)def calMeanStd(root,sample_size = 100): #從訓練數據集隨機挑選sample_size個樣本計算train_data = MyDataset(txt=root + 'train.txt', transform=transforms.ToTensor())train_loader = DataLoader(dataset=train_data, batch_size= sample_size,shuffle=True )train = iter(train_loader).next()[0] # 一個batch的數據mean = np.mean(train.numpy(), axis=(0,2,3))std = np.std(train.numpy(), axis=(0,2,3))return mean, stddef dLoader(root, batch_size_train=64, batch_size_test=64,is_shuffle=True,kwargs ={} ):#mean, std = calMeanStd(root )#print("mean, std:",mean, std) #這個先運行一次,取固定值mean,std = [[0.16965699,0.17889683,0.1844586 ],[0.11298971,0.11618855,0.11640119]]trans_train = transforms.Compose([#transforms.ToPILImage(),transforms.RandomHorizontalFlip(),transforms.RandomVerticalFlip() ,transforms.RandomRotation(degrees=30),transforms.ToTensor(), #對數據轉換為tensor格式,并且換通道為(c,h,w),將數據除以255,規劃至(0,1)transforms.Normalize(mean, std) #均值和標準差,歸一化計算,(x-mean)/std]) # 對數據做預處理trans_test = transforms.Compose([transforms.ToTensor(), #對數據轉換為tensor格式,并且換通道為(c,h,w),將數據除以255,規劃至(0,1)transforms.Normalize(mean, std) #均值和標準差,歸一化計算,(x-mean)/std]) # 對數據做預處理train_data = MyDataset(txt=os.path.join(root ,'train.txt'), transform=trans_train)test_data = MyDataset(txt=os.path.join(root ,'val.txt') , transform=trans_test)train_loader = DataLoader(dataset=train_data, batch_size=batch_size_train, shuffle=is_shuffle,**kwargs)test_loader = DataLoader(dataset=test_data, batch_size=batch_size_test,**kwargs) #kwargs是為了設置pin_memoryreturn train_loader, test_loaderif __name__=="__main__":print(calMeanStd( 'dataset/'))

? datasetLoader.py 讀取圖片并縮放至(48,48),數據增強為隨機上下左右翻轉和旋轉,運行該文件可獲得 均值和方差,可將均值和方差填寫至

四、編寫model文件

? 開始構建網絡,生成器讀出圖片為(48,48),以下構建簡單分類網絡 4 卷積層 4 池化層 2全連接層

import argparse,os import torch import torch.nn as nn import torch.nn.functional as Fclass Net(nn.Module):def __init__(self):super(Net, self).__init__()self.layer1 = nn.Sequential(nn.Conv2d(3, 6, 5, padding=2), nn.MaxPool2d(kernel_size=2, stride=2))self.layer2 = nn.Sequential(nn.Conv2d(6, 12, kernel_size=5,padding=2),nn.MaxPool2d(kernel_size=2, stride=2)) self.layer3 = nn.Sequential(nn.Conv2d(12, 24, kernel_size=5,padding=2),nn.MaxPool2d(kernel_size=2, stride=2))self.layer4 = nn.Sequential(nn.Conv2d(24, 36, kernel_size=5,padding=2),nn.MaxPool2d(kernel_size=2, stride=2))self.fc = nn.Sequential(nn.Linear(36 * 3 * 3, 128),nn.Dropout(0.2),nn.ReLU(inplace=True),nn.Linear(128, 64),nn.Dropout(0.2),nn.ReLU(inplace=True),nn.Linear(64, 7) #注意這個最后的類別)def forward(self, x):x = self.layer1(x)x = self.layer2(x)x = self.layer3(x)x = self.layer4(x)x = x.view(x.size(0), -1)x = self.fc(x)return x

? 五、編寫訓練文件

? ? ?接下來編寫訓練文件 trainval.py

#trainVal.py #coding=utf-8import argparse,os import torch import torch.nn as nn import torch.nn.functional as F from torch import optim from datasetLoader import dLoaderfrom model import Netdef train(args, net, device, train_loader, optimizer, epoch ,scheduler):running_loss = 0.0 # 初始化losscorrect = 0.batch_num = 0#重點注意,訓練時如果用到Batch Normalization 和 Dropout,就要在訓練時使用net.train(),測試時用net.eval(),否則則不用net.train() criterion = nn.CrossEntropyLoss() #nn的函數是要先創建,后初始化#開始數據機加載batchfor batch_idx, (inputs, labels) in enumerate(train_loader, 0):# 輸入數據上傳inputs = inputs.to(device)labels = labels.to(device)# 梯度清零optimizer.zero_grad()# forward + backwardoutputs = net(inputs) loss = criterion( outputs, labels )loss.backward()running_loss += loss.item()batch_num +=1pred = outputs.argmax(dim=1, keepdim=True) # get the index of the max log-probabilitycorrect += pred.eq(labels.view_as(pred)).sum().item()# 更新參數optimizer.step()if batch_idx % args.log_interval == 0: #每args.log_interval個批次輸出一次lossprint('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(epoch, (batch_idx+1)*len(inputs), len(train_loader.dataset),100*(batch_idx+1)*len(inputs)/ len(train_loader.dataset), running_loss/( batch_idx+1) ) )scheduler.step() def test(args, net, device, test_loader,train_loader, epoch ):net.eval() #用到Batch Normalization 和 Dropout 就要加上test_loss = 0correct = 0criterion = nn.CrossEntropyLoss() # nn的函數是要先創建,后初始化with torch.no_grad():for data, label in test_loader: #不會做反向求導data, label = data.to(device), label.to(device)output = net(data) test_loss += F.cross_entropy(output, label, reduction='sum').item() # sum up batch losspred = output.argmax(dim=1, keepdim=True) # get the index of the max log-probabilitycorrect += pred.eq(label.view_as(pred)).sum().item()test_loss /= len(test_loader.dataset)print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(test_loss, correct, len(test_loader.dataset),100. * correct / len(test_loader.dataset)))def main():parser = argparse.ArgumentParser(description='PyTorch MNIST Example')parser.add_argument('--batch-size', type=int, default=64, metavar='N',help='input batch size for training (default: 64)')parser.add_argument('--test-batch-size', type=int, default=64, metavar='N',help='input batch size for testing (default: 1000)')parser.add_argument('--epochs', type=int, default=100, metavar='N',help='number of epochs to train (default: 10)')parser.add_argument('--lr', type=float, default=0.01, metavar='LR',help='learning rate (default: 0.01)')parser.add_argument('--momentum', type=float, default=0.9, metavar='M',help='SGD momentum (default: 0.5)')parser.add_argument('--no-cuda', action='store_true', default=False,help='disables CUDA training')parser.add_argument('--seed', type=int, default=1, metavar='S',help='random seed (default: 1)')parser.add_argument('--log-interval', type=int, default=8, metavar='N',help='how many batches to wait before logging training status')parser.add_argument('--save-model', action='store_true', default=True,help='For Saving the current Model')#獲取參數args = parser.parse_args()# 先來判斷是否要用cuda,默認是有的話就用use_cuda = not args.no_cuda and torch.cuda.is_available()torch.manual_seed(args.seed) #閾值隨機設置device = torch.device("cuda" if use_cuda else "cpu")#準備數據加載器kwargs = {'num_workers': 2, 'pin_memory': True} if use_cuda else {}data_root = './dataset/'train_loader,test_loader = dLoader(data_root ,args.batch_size,args.test_batch_size, kwargs=kwargs) #使用自己封裝的數據加載器#初始化net,訓練和驗證都需要netnet = Net().to(device)print("Create Net:",net)#初始化optimizer,只有train時使用optimizer = optim.SGD(net.parameters(), lr=args.lr, momentum=args.momentum)scheduler = torch.optim.lr_scheduler.StepLR(optimizer, 40 , gamma=0.5)#開始迭代訓練for epoch in range(args.epochs):train(args, net, device, train_loader, optimizer, epoch , scheduler )test(args, net, device, test_loader,train_loader, epoch ) #不需要optimizerif (args.save_model):torch.save(net.state_dict(), "./cnn.pth") # 不使用state_dict(),則將模型結構和權重一起保存if __name__ =="__main__":main()

? 運行結束后可得到權值文件cnn.pth

六、對圖片做預測

? 編寫 predictTest.py 對文件做預測,一種是對單張圖片預測,一種為對一個batch做預測

import argparse import torch,cv2 import torch.nn as nn import torch.nn.functional as F from torch import optim from PIL import Image import numpy as np from torchvision import transforms from torch.autograd import Variablefrom datasetLoader import dLoaderfrom model import Netdef predictPic(net,trans,img,prob_thr = 0.98):img = img.unsqueeze(0) # 圖片擴展多一維,因為輸入到保存的模型中是4維的[batch_size,通道,長,寬],而普通圖片只有三維,[通道,長,寬]# 擴展后,為[1,1,48,48]output = net(img)prob = F.softmax(output, dim=1)prob = Variable(prob)prob = prob.cpu().numpy() # 用GPU的數據訓練的模型保存的參數都是gpu形式的,要顯示則先要轉回cpu,再轉回numpy模式#print(prob) # prob是7個分類的概率pred = np.argmax(prob) # 選出概率最大的一個pred_idx = pred.item()return pred_idx #一次只能預測一張圖片 def predict_1( ):device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')net = Net()net.load_state_dict(torch.load('./cnn.pth'))net = net.to(device)net.eval()mean,std = [[0.16965699,0.17889683,0.1844586 ],[0.11298971,0.11618855,0.11640119]]trans = transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean, std)])total = 0right = 0with open("dataset/test.txt", "r") as ftxt:for line in ftxt.readlines():line = line.rstrip("\n").strip(" ")img_path = line[:-2]img_idx = int(line[-1])cv_img = cv2.imread(img_path) cv_img = cv2.resize(cv_img, (48, 48)) img = Image.fromarray(cv2.cvtColor(cv_img, cv2.COLOR_BGRA2RGBA)).convert('RGB') #cv2是BGR,這里得轉換 img = trans(img)img = img.to(device) res_idx = predictPic(net,trans,img, prob_thr = 0.70)if res_idx==img_idx:right+=1total+=1print("total:%d right:%d Acc:%f"%(total,right,right/total) ) def predictBatch(net,trans,img_batch,prob_thr = 0.98): output = net(img_batch) prob = F.softmax(output, dim=1)prob = Variable(prob)prob = prob.cpu().numpy()prob_idx = np.argmax(prob, axis=1)#print( prob_idx )return prob_idx#一次只能預測一個batch def predict_2(): device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')net = Net()net.load_state_dict(torch.load('./cnn.pth'))net = net.to(device)net.eval()mean,std = [[0.16965699,0.17889683,0.1844586 ],[0.11298971,0.11618855,0.11640119]]trans = transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean, std)]) total = 0right = 0images = np.array([])real_idx = []with open("dataset/test.txt", "r") as ftxt:for line in ftxt.readlines():line = line.rstrip("\n").strip(" ")img_path = line[:-2]real_idx.append(int(line[-1]))cv_img = cv2.imread(img_path) H,W = 48,48cv_img = cv2.resize(cv_img, (W, H)) img = Image.fromarray(cv2.cvtColor(cv_img, cv2.COLOR_BGRA2RGBA)).convert('RGB') #cv2是BGR,這里得轉換 img = trans(img)images = np.append(images, img.numpy()) img_batch = images.reshape(-1, 3, H, W) img_batch = torch.from_numpy(img_batch).float()img_batch=img_batch.to(device) prob_idx = predictBatch(net,trans,img_batch,prob_thr = 0.5) real_idx = np.array(real_idx)total = real_idx.shape[0]right = np.sum( real_idx == prob_idx) print("total:%d right:%d Acc:%f"%( total ,right,right/total) )if __name__ == "__main__":predict_1()

七、使用tensorboardX ?的 SummaryWriter?查看Train/Loss、Test/Accu 隨著迭代次數的曲線

ensorboardX ?實際為TensorFlow使用,故先使用pip安裝TensorFlow,再安裝?tensorboardX ?

之后導入包

然后初始化記錄器,并在當前路徑下創建名為log的文件夾

記錄下訓練過程的loss和測試時的acc,以及迭代次數

之后在cmd到當前路徑,輸入命令行

tensorboard --logdir=./log

在瀏覽器輸入127.0.0.1:6006 可看到tensorboardX? 做的圖

?

總結

以上是生活随笔為你收集整理的pytorch(1)--分类图片的全部內容,希望文章能夠幫你解決所遇到的問題。

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

97免费在线观看视频 | 色欧美成人精品a∨在线观看 | www黄色软件 | 国产精品一区久久久久 | 91九色成人 | 激情丁香 | 粉嫩av一区二区三区四区 | 日韩一级电影网站 | 日本精品视频免费观看 | 国产一区二区网址 | 精品毛片一区二区免费看 | 国产成人精品一区二区三区在线 | 国产麻豆视频免费观看 | 国产日韩欧美网站 | 亚洲国产精品va在线 | 丁香婷婷激情国产高清秒播 | 国产一区二区视频在线 | 五月天六月婷 | 成年人视频在线免费观看 | 91九色视频 | 亚洲精品在线观看的 | av蜜桃在线| 国产麻豆电影在线观看 | 91精品天码美女少妇 | www.伊人色.com| 免费69视频 | av黄色影院 | 日韩videos | avwww在线观看 | 欧洲不卡av| 国产精品小视频网站 | 99免费精品 | av网站免费线看精品 | 精品久久久久久久久亚洲 | 91在线免费观看国产 | 四虎4hu永久免费 | 久久久久久久久影院 | 一区二区三区在线影院 | 亚洲精品三级 | 日韩精品免费一区二区在线观看 | 日韩电影中文字幕在线观看 | www.com黄 | 国产视频久久久久 | 精品一区二区三区香蕉蜜桃 | 国产日韩视频在线 | 91久久国产露脸精品国产闺蜜 | 国产精品露脸在线 | 成人免费色 | 最近的中文字幕大全免费版 | 福利视频一区二区 | 亚洲第一区在线观看 | 激情av资源 | 草久在线观看视频 | 美女黄频在线观看 | 色综合久久综合 | 手机看片国产 | 美女在线免费观看视频 | 国产精品女人久久久久久 | 欧美永久视频 | 成人久久亚洲 | 国产视频二区三区 | 久草新在线| 午夜影视剧场 | 国产不卡免费 | 国产精品一二 | 国产正在播放 | 樱空桃av| 久久婷婷网 | 激情综合网五月 | 天天射射天天 | 欧美a√在线 | 99精品欧美一区二区三区 | 国产 欧美 日产久久 | 天天干天天做天天爱 | 国产亚洲精品久久久久久大师 | 亚洲做受高潮欧美裸体 | 97在线观看免费视频 | 西西www4444大胆视频 | 欧美成人999 | 99久久久国产精品免费观看 | 婷婷丁香六月天 | 91亚洲国产| 日韩免费不卡视频 | 久久久久久久久毛片精品 | 午夜精品一区二区三区在线 | 久久中文字幕视频 | 国产精品av电影 | 免费观看一区二区三区视频 | 久草在| 久久国产精品小视频 | 成人一区二区三区中文字幕 | 天天综合在线观看 | 色99色| 超碰97网站 | 奇米网在线观看 | 国产精品嫩草影视久久久 | 亚洲毛片视频 | 免费a视频| 99精品福利 | 西西大胆啪啪 | 日日夜夜天天 | 亚洲国产成人高清精品 | 精选久久| 福利av在线| 在线观看911视频 | 色资源网免费观看视频 | 91av蜜桃| 精品一区二区久久久久久久网站 | 亚洲第一av在线 | 1024手机在线看 | 国产成人av网站 | 国产欧美日韩一区 | 久久综合色一综合色88 | 国产精品对白一区二区三区 | 2023国产精品自产拍在线观看 | 亚洲最快最全在线视频 | 国产精品免费一区二区三区 | 一区二区三区福利 | 在线看日韩av | 国产高清精品在线 | 超碰九九| 九九热re| 日韩在线国产 | 亚洲 欧洲 国产 日本 综合 | 欧美久久久久久久久久久久久 | 亚洲午夜久久久久久久久久久 | 日本精品视频免费 | 亚洲天堂网在线视频观看 | 久久久久激情 | 看v片 | 涩涩伊人 | 91精品国产一区二区在线观看 | 最新午夜电影 | 在线免费亚洲 | 亚洲精品777| 婷婷色网址 | 欧美激情视频一区二区三区免费 | 五月婷婷综合久久 | 四虎成人精品永久免费av九九 | 91漂亮少妇露脸在线播放 | 69视频国产 | 在线观看91av | 国产精品久久久久久久久久白浆 | 欧美少妇xxx | 精品视频国产 | 国产首页 | 亚洲欧美成人在线 | 天天射天天干天天操 | 成人黄色免费在线观看 | 超碰公开在线观看 | 99精品久久只有精品 | 色婷婷久久 | 免费观看av网站 | 国产一区观看 | 日本在线观看黄色 | 夜色成人网 | 9i看片成人免费看片 | 久久久午夜精品福利内容 | 亚洲成av人片在线观看无 | 免费观看第二部31集 | 国精产品999国精产品视频 | 三上悠亚一区二区在线观看 | 国产精品麻豆果冻传媒在线播放 | 亚洲精品av中文字幕在线在线 | 最近日本韩国中文字幕 | 婷婷色在线 | 五月婷婷六月丁香 | 少妇精品久久久一区二区免费 | 99精品视频在线免费观看 | 国产亚洲精品女人久久久久久 | 黄色一级动作片 | 美女中文字幕 | 十八岁以下禁止观看的1000个网站 | 中文字幕在线观看1 | 中文字幕亚洲综合久久五月天色无吗'' | 黄色大片入口 | 久久综合九色欧美综合狠狠 | 精品成人国产 | 欧美极品一区二区三区 | 欧美国产日韩激情 | 久草视频一区 | 色综合久久久久综合体桃花网 | 久久精品伊人 | 中文字幕av有码 | 国产一级片不卡 | 久久精品看片 | 国产精品va最新国产精品视频 | 欧美夫妻生活视频 | 国产精品区二区三区日本 | 婷婷四房综合激情五月 | 久久经典视频 | 99精品视频免费全部在线 | 在线a亚洲视频播放在线观看 | 国产剧情一区 | 国产最新视频在线观看 | 久久午夜视频 | 狠狠狠色 | 久久字幕精品一区 | 久久草草热国产精品直播 | 久久久免费在线观看 | www.操.com| 在线观看免费国产小视频 | 久久精品网| 久草在线免费播放 | 激情电影影院 | 高清在线一区二区 | 视频在线精品 | 91福利国产在线观看 | 国产精品1区2区在线观看 | 久久久黄色av | 99热官网 | 欧美精品久久久久久久久久 | 日韩精品在线视频 | 欧洲在线免费视频 | 日韩丝袜在线观看 | 国产日本在线 | 久草网站在线 | 99r国产精品| 97超碰.com| 最近在线中文字幕 | 亚洲日本一区二区在线 | 欧美99热 | 久久综合婷婷 | 99精品偷拍视频一区二区三区 | 亚洲成人中文在线 | 视频国产精品 | 97人人模人人爽人人喊网 | 激情欧美在线观看 | 久久黄色小说视频 | 国产精品免费观看国产网曝瓜 | 在线看小早川怜子av | 一区中文字幕在线观看 | 国产一卡久久电影永久 | 日韩精品一区二区不卡 | 免费热情视频 | 久久免费黄色网址 | 天天综合网久久综合网 | 黄色日批网站 | 成人cosplay福利网站 | 91成年人网站 | 日韩视频在线一区 | 日韩欧在线 | 色五月激情五月 | 久久激情小视频 | 中文国产成人精品久久一 | 免费视频一二三区 | 亚洲精品欧美精品 | 久久天天操 | 黄色亚洲在线 | 精品国产亚洲一区二区麻豆 | 国产在线观看你懂得 | 日本中文字幕免费观看 | 久久精品美女视频网站 | 亚洲精品中文字幕视频 | 久久久久在线观看 | 日韩久久精品一区二区三区 | 亚洲精品在线观 | 免费在线观看的av网站 | 国内精品中文字幕 | 99 久久久久 | 亚洲高清视频在线观看免费 | 国产成人精品一区一区一区 | 日韩精品一区电影 | www.com黄色 | 91视频免费看片 | 黄网站色 | 天天天综合 | 久久99视频免费 | 国产美腿白丝袜足在线av | 国产裸体无遮挡 | 在线视频在线观看 | 亚洲黄色软件 | 日韩av免费一区二区 | 久久久免费观看 | 欧美一级电影在线观看 | 超碰在线天天 | 欧美人交a欧美精品 | 99久久精品免费看国产免费软件 | 亚洲成aⅴ人片久久青草影院 | 国产精品99久久久 | 久久午夜鲁丝片 | 欧美日韩亚洲在线观看 | 成人四虎 | 亚洲国产电影在线观看 | 天天夜夜操 | 久久久久久久网站 | 成人免费在线观看av | 日韩精品欧美专区 | 久久久久久综合 | 一区二区三区视频在线 | 永久免费的啪啪网站免费观看浪潮 | 婷婷国产在线 | 在线观看av小说 | 欧美肥妇free | 91精品国产自产老师啪 | bbbb操bbbb| 精品福利网站 | 日韩理论片在线观看 | 亚洲国产精品va在线看 | 久久人人97超碰精品888 | 亚洲成人黄色网址 | 三级a毛片 | 欧美日比视频 | 久久免费a | 日韩字幕 | 久久久免费精品视频 | 久久久久久网址 | 天天干天天操av | 国产精品av久久久久久无 | 99国内精品 | 国产欧美在线一区二区三区 | 日韩精品第一区 | 色天天久久 | 粉嫩一区二区三区粉嫩91 | 国产视频每日更新 | 天天爱天天爽 | 久久久国产精品久久久 | 日韩精品一区二区三区免费视频观看 | 亚洲作爱 | 在线观看福利网站 | 国产系列在线观看 | 在线91av| 中文在线最新版天堂 | 欧美另类美少妇69xxxx | 精产嫩模国品一二三区 | 色诱亚洲精品久久久久久 | 国产精品乱码久久久久久1区2区 | 日韩精品中文字幕av | 国产不卡一 | 欧美-第1页-屁屁影院 | 国产一区欧美日韩 | 国产精品久久久久久av | 成人av网站在线观看 | 婷婷色站 | 天天操夜夜操天天射 | 99久久精品免费视频 | 国产精品久久久区三区天天噜 | 99草在线视频| 中文字幕一区二区在线播放 | 亚洲综合色激情五月 | 黄色软件在线观看视频 | 欧美在线视频一区二区三区 | 欧美一区二区三区四区夜夜大片 | 网站你懂的 | 日韩欧美高清一区二区 | 色综合久久久久久久久五月 | 99热最新地址 | 成人91av| 国产成人在线一区 | 国产精品久久久久久久久久免费看 | 99久久精品无码一区二区毛片 | 成人久久18免费网站 | 一区二区三区中文字幕在线观看 | 911免费视频 | 在线观看欧美成人 | 99精品影视 | 成人久久综合 | 天堂av网址 | 日日添夜夜添 | 97精品在线观看 | 在线观看国产福利片 | 成人动漫精品一区二区 | 亚洲视频专区在线 | 中文字幕网址 | 夜夜夜夜夜夜操 | 国产视频在线观看一区 | 97视频在线免费观看 | 九九九热精品免费视频观看 | 天天爽天天射 | 免费能看的av | 国产视频一区二区在线播放 | 国产成人福利在线观看 | 免费a视频| 中文字幕 国产专区 | 日韩电影在线观看一区 | 96久久久| 粉嫩aⅴ一区二区三区 | 亚洲乱码精品久久久久 | 亚洲精品看片 | 国产精品久久久久久久99 | 久久婷婷亚洲 | 久久xxxx | 欧美日韩不卡一区二区 | 久久国产高清视频 | 成人午夜在线电影 | av线上看 | 波多野结衣视频网址 | 99热这里只有精品免费 | 久久综合加勒比 | 三级黄色大片在线观看 | 91资源在线 | 韩日精品在线 | 美女久久久久久 | 国产亚洲小视频 | www.91av在线| 久久久久久美女 | 欧美一级黄色片 | 最新日本中文字幕 | 亚洲理论视频 | 狠狠色丁香婷婷综合久久片 | 免费在线观看一区 | 久久免费大片 | 福利视频入口 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 四虎永久国产精品 | 国产极品尤物在线 | 久久精品久久精品久久 | 中文字幕在线看视频国产 | 99综合视频 | 成人久久久久 | 成人aaa毛片| 涩涩成人在线 | 欧美日本不卡视频 | 99精品福利 | 91激情视频在线 | 999国内精品永久免费视频 | 天堂av最新网址 | 成人精品电影 | 精品久久久久久亚洲综合网站 | 国内精品久久久精品电影院 | 欧美日韩视频 | 97超碰在线久草超碰在线观看 | 男女免费视频观看 | 中文字幕在线中文 | 精品国产一区二区三区四区在线观看 | 日本久久中文字幕 | 一区二区在线影院 | 国产在线播放观看 | 91色影院| 日韩av电影中文字幕 | 五月婷婷激情网 | 美女网站视频久久 | 激情深爱.com | 婷婷网站天天婷婷网站 | 欧美另类sm图片 | 六月丁香激情综合色啪小说 | 久草视频在线免费 | 久久国产精品一区二区三区四区 | 99视频在线精品国自产拍免费观看 | 国产视频一区二区三区在线 | 亚洲a在线观看 | 久久久久国产成人精品亚洲午夜 | 在线观看国产亚洲 | 国产精品免费视频一区二区 | 国产一区二区精 | 午夜精品一区二区三区在线视频 | 成人黄色在线 | 国产亚洲婷婷免费 | 欧美伦理电影一区二区 | 天天干 夜夜操 | 精品99免费视频 | 国产香蕉av | 手机av网站 | 精品国产视频在线 | 国产视频一区在线播放 | 亚洲第五色综合网 | 超级碰碰碰视频 | 久久久久综合网 | 激情五月色播五月 | 国产一区在线精品 | 免费看久久久 | 欧美日韩国产伦理 | 午夜三级福利 | www黄色| 色.com| 成人毛片a | 日韩欧美精品免费 | 中文字幕av一区二区三区四区 | 国产精品剧情在线亚洲 | 在线观看日韩视频 | 欧美成年网站 | 2023av| 欧美精品v国产精品v日韩精品 | 99精品视频中文字幕 | 亚洲国产中文字幕在线观看 | 午夜黄色影院 | 亚洲激情影院 | 日韩综合色 | 国产在线不卡一区 | 中文字幕在线免费观看视频 | 久久久久一区二区三区四区 | 国产小视频在线免费观看视频 | 日韩二区三区在线观看 | 在线观看中文字幕 | 91激情在线视频 | 免费高清av在线看 | 国产在线视频在线观看 | 黄网站色| 国产99久久久精品视频 | 西西www444| 日韩av一区二区三区四区 | 午夜在线资源 | 特级毛片网 | 在线观看中文字幕一区二区 | 久久精品1区 | 久久久久久电影 | 婷婷在线播放 | 日韩狠狠操 | 一级一级一片免费 | 97超碰色偷偷 | 国产高清久久久 | 91精品国自产在线 | av网站免费线看精品 | 免费观看国产视频 | 久久9999久久免费精品国产 | 亚洲高清不卡av | 久久a热6 | 伊人五月天av | 亚洲视频久久久久 | 在线日韩中文 | 伊人婷婷色 | 超碰人人做 | 久久久久久黄色 | 九精品| 午夜免费福利片 | 亚洲女同videos | 欧美日韩在线免费观看 | 久久久久久免费 | 久久91久久久久麻豆精品 | 99欧美 | 国产亚洲精品福利 | 国产成人精品久久久 | a黄色一级片 | 国产午夜精品一区二区三区在线观看 | 久久精品8| 亚洲国产剧情 | 伊人久久在线观看 | 曰韩在线 | 欧美精品久久久久久久久久白贞 | 久久精品一区二区国产 | 国产视频一区二区在线播放 | 久久免费国产精品1 | 久久手机看片 | 亚洲人成精品久久久久 | 丁香影院在线 | 国产永久免费观看 | 国产专区欧美专区 | 狠狠撸电影 | 欧美日韩中文视频 | 在线免费观看视频a | 男女激情网址 | 欧美日韩在线免费观看 | 久久婷婷五月综合色丁香 | 最近能播放的中文字幕 | 亚洲精品国产精品国自产观看 | 99热国产精品 | 国产尤物一区二区三区 | 91女人18片女毛片60分钟 | 波多野结衣视频一区 | 精品国产免费久久 | 1区2区3区在线观看 三级动图 | 中文字幕婷婷 | 国产成人久久精品77777综合 | 精品免费在线视频 | 欧洲av在线 | 久久久久免费精品国产小说色大师 | 五月天九九 | 精品国产观看 | av在线日韩 | 在线 国产 日韩 | 色狠狠一区二区 | 久久免费99精品久久久久久 | 在线精品观看国产 | 狠狠色噜噜狠狠狠狠2021天天 | 欧美a影视| 九九爱免费视频在线观看 | 国产这里只有精品 | 亚洲一区二区三区毛片 | 日日爽天天| av网站播放 | 特级a毛片 | 精品欧美小视频在线观看 | 午夜精品久久久久久久99水蜜桃 | 精品一区二区免费在线观看 | 国产精品久久久久免费观看 | 日韩福利在线观看 | 久久久久久久久久久久99 | 视频一区二区精品 | 国产色久 | 国内精品福利视频 | 天天插天天干天天操 | 久久久免费| 草久在线播放 | 久久国产精品二国产精品中国洋人 | 国产色综合 | 国产无套视频 | 色国产精品 | 精品亚洲视频在线观看 | 色偷偷av男人天堂 | jizz欧美性9| 五月天综合色激情 | 激情综合狠狠 | 美女免费视频一区 | 亚洲欧美婷婷六月色综合 | 国产精品v a免费视频 | 久久精品综合网 | 97电影手机版 | 国产美女视频免费观看的网站 | 91福利影院在线观看 | 一本到视频在线观看 | 免费亚洲婷婷 | 欧美日韩在线精品 | 亚洲最新av在线网址 | 美女免费av| 91亚洲在线观看 | 成人在线免费看视频 | 婷婷亚洲综合五月天小说 | 国产高清小视频 | 欧美一区二区三区在线看 | 亚洲女裸体 | 91av原创 | 中文国产成人精品久久一 | 国产精品久久久影视 | 射久久久| 国内精品久久久久久久影视麻豆 | 色婷婷狠 | 国产又粗又猛又爽又黄的视频免费 | 96久久欧美麻豆网站 | 亚欧日韩av | 久久ww| av超碰在线观看 | 97免费视频在线播放 | 午夜视频免费播放 | 久久久久亚洲精品国产 | 成人久久久久久久久久 | 国内精品久久久 | 欧美一级片在线免费观看 | 中文字幕在线观看视频网站 | 麻花豆传媒一二三产区 | 欧美一级乱黄 | 五月开心色 | 三级黄色欧美 | 99视频+国产日韩欧美 | 在线小视频 | 国产精品毛片完整版 | 在线高清av | 在线观看免费高清视频大全追剧 | 五月天网站在线 | 成人免费在线播放视频 | 亚洲国产欧美在线人成大黄瓜 | 欧美另类tv| 最近字幕在线观看第一季 | 777奇米四色 | 免费高清在线一区 | 丝袜美腿在线 | 天天干,天天射,天天操,天天摸 | 国产精品麻豆一区二区三区 | 免费福利在线观看 | 天天做天天爱天天综合网 | 欧美a√大片 | 国产高清不卡 | 国产精品国产三级国产aⅴ入口 | 成人免费视频网站 | 亚洲一区二区三区精品在线观看 | 欧美看片| 日本三级吹潮在线 | 日韩欧美国产精品 | 99夜色 | 91精品视频在线看 | www.天天操 | 中文字幕在线观看不卡 | 国产在线精品一区二区不卡了 | 免费av 在线 | 亚洲视频456 | av中文电影 | 99久久精品日本一区二区免费 | 久久婷婷一区二区三区 | 国产视 | 亚洲区色 | 国产精品嫩草在线 | 国产人成精品一区二区三 | 香蕉在线观看视频 | 久久国产成人午夜av影院潦草 | 在线免费国产 | 丝袜美腿在线播放 | 麻豆视频免费 | 午夜精品久久久久久久99无限制 | 欧美日韩另类在线 | 天天干天天做天天爱 | 久久99国产精品免费网站 | 91在线日韩| 日女人免费视频 | 色妞色视频一区二区三区四区 | 欧美国产精品久久久久久免费 | 成人黄色片在线播放 | 成人精品一区二区三区电影免费 | 中文亚洲欧美日韩 | 东方av在| 黄色一级影院 | 91热| 亚洲一级二级三级 | 中文字幕 国产专区 | 欧美精品久久久久a | 成年人网站免费观看 | 六月色婷婷 | 国产aa精品| 精品成人在线 | 国产亚洲精品成人av久久影院 | 国产黑丝一区二区 | 天天干天天操天天拍 | 六月天综合网 | 一区二区成人国产精品 | 亚洲乱码精品 | 91亚洲精品久久久蜜桃 | 99久久婷婷国产 | 天堂av中文字幕 | 久久成人视屏 | 在线99视频| 国产婷婷视频在线 | 伊人狠狠色 | 日韩电影在线观看一区二区三区 | 五月婷婷激情五月 | 波多野结衣视频一区二区三区 | 国产69久久精品成人看 | 欧美日韩精品综合 | 在线视频观看国产 | 国产高清av免费在线观看 | 天天色成人网 | 成人av电影免费观看 | 免费成人黄色 | 亚洲成熟女人毛片在线 | 中文字幕久久精品一区 | 国色天香在线观看 | 中文网丁香综合网 | 国产美女精品视频 | 国产综合精品一区二区三区 | 婷婷色网视频在线播放 | 97品白浆高清久久久久久 | 天天操夜夜叫 | 亚洲精品在线免费看 | 人人狠狠综合久久亚洲婷 | 久久成人国产 | 久久激情视频 | 91在线九色 | 伊人官网 | 亚洲婷婷伊人 | 97精品国产手机 | 91九色视频导航 | 成人黄色中文字幕 | 久久国产欧美日韩精品 | 999在线视频 | 一级片免费视频 | 韩国一区二区在线观看 | 国产精品欧美久久 | 日韩中文字幕视频在线观看 | 欧美日韩中文字幕在线视频 | 中文区中文字幕免费看 | 日韩在线观看中文 | 久久久国产精品人人片99精片欧美一 | 成人午夜免费剧场 | 日日爽天天操 | 97色在线观看免费视频 | 国产精品wwwwww | 91麻豆精品国产91久久久无限制版 | 在线亚洲精品 | 日本韩国精品一区二区在线观看 | 精品久久久久久亚洲综合网站 | 久久久wwww| 亚洲精品视频在线看 | 久久美女精品 | 91高清免费观看 | 四虎5151久久欧美毛片 | 96超碰在线 | 九九亚洲视频 | 国产又粗又猛又黄又爽的视频 | 国产一级在线视频 | 狠狠色丁香久久婷婷综合五月 | 久久视频一区二区 | 美女网站在线播放 | www夜夜操 | 亚洲不卡在线 | 又黄又爽又刺激 | 一级性av | 中文字幕资源网 国产 | 中文字幕在线日亚洲9 | 色婷婷综合五月 | 国产成人av在线影院 | 亚洲韩国一区二区三区 | 国产免费成人av | 国产在线超碰 | 在线日韩视频 | 97精品国产91久久久久久久 | 色噜噜在线观看视频 | 免费在线国产精品 | 99在线观看精品 | 麻豆成人在线观看 | 91精品久久久久久综合乱菊 | 91成人在线看 | 国产中文字幕在线看 | 在线视频欧美日韩 | 网址你懂的在线观看 | 99久久99久久综合 | 91av在线看| 五月激情久久 | 91福利在线观看 | 黄色特级毛片 | 精品播放 | 欧美日韩视频在线观看一区二区 | 国产精品专区在线观看 | 久草视频视频在线播放 | 国产成人精品综合 | 亚洲黄在线观看 | 日韩精品视频免费 | 国产精品久久久久久久7电影 | 日本公乱妇视频 | 99热最新| 久久久久9999亚洲精品 | 欧美色久 | 婷婷丁香在线视频 | 国产成人61精品免费看片 | 成人一级黄色片 | 天天色天天操天天爽 | 在线视频福利 | 久久99操| 国产高清av免费在线观看 | 午夜91视频 | 在线免费观看黄色大片 | 亚洲一级片在线看 | 人人讲下载 | 精品久久一二三区 | 天天综合人人 | 91精品爽啪蜜夜国产在线播放 | 国产精品热 | 国产精品视频久久久 | 国产不卡毛片 | 免费又黄又爽视频 | 黄色成人在线网站 | 亚洲va韩国va欧美va精四季 | 黄色小网站在线 | 草在线 | 婷五月激情 | 欧美在线1区 | 欧洲亚洲国产视频 | 久久精品aaa | 色久网 | 日本中文字幕电影在线免费观看 | 麻豆精品在线视频 | 亚州国产精品 | 久草视频视频在线播放 | 久久一区二区三区国产精品 | 亚洲欧美视频一区二区三区 | 在线观看日本高清mv视频 | 黄色影院在线观看 | 激情久久久久久久久久久久久久久久 | 久久99国产精品免费网站 | 久久久久草 | 国产色综合 | 国产日产精品一区二区三区四区的观看方式 | 97国产精品免费 | 日韩www在线 | 97视频资源| 夜夜视频欧洲 | 黄色官网在线观看 | 色噜噜噜噜 | 超碰人人做 | 日韩精品一区在线观看 | 在线导航av | 黄色资源在线 | 一级黄色免费 | 亚洲一区日韩在线 | 黄色三级久久 | 最新黄色av网址 | 五月天久久综合网 | 99久久夜色精品国产亚洲96 | 麻豆手机在线 | 久久理论视频 | 欧美日韩国产精品爽爽 | 色视频在线观看 | 午夜在线观看影院 | 中文字幕av有码 | 成人av在线直播 | 亚洲成av人片在线观看香蕉 | 九九有精品 | 黄色大片入口 | 国产亚洲永久域名 | 中文字幕一区二区三区四区视频 | 久久久电影| 精品国内自产拍在线观看视频 | 五月婷婷丁香网 | 国精产品一二三线999 | 狠狠干电影| 91久久久久久国产精品 | 亚洲精品乱码久久久久久高潮 | 色播激情五月 | 91社区国产高清 | 中文字幕在线电影 | 欧美日韩在线播放一区 | 国产一线二线三线在线观看 | 九九精品毛片 | 五月视频 | 国产成人黄色av | 亚洲禁18久人片 | 国产视频资源 | 亚洲精品色视频 | 日日干天天操 | 中文十次啦 | 久艹在线播放 | 国产精品免费在线 | 91亚洲精品国偷拍自产在线观看 | 国产一区二区三区四区大秀 | aaa黄色毛片 | 久久精品久久久精品美女 | 天天干天天天 | 色网站中文字幕 | 国内视频在线观看 | 黄色资源网站 | 毛片a级片 | 亚洲精品在线一区二区三区 | 日韩成片 | av五月婷婷 | 四虎永久网站 | 麻豆免费精品视频 | 久草在线观看 | 国产黄色精品视频 | 免费看污的网站 | 欧美福利网站 | 欧美色图亚洲图片 | 欧美日本不卡高清 | 久久中文网 | 99久久er热在这里只有精品66 | 精品在线一区二区 | 国产专区在线 | 日韩欧美精品一区二区三区经典 | 亚洲精品免费观看视频 | 欧美综合在线视频 | 天天操夜夜操国产精品 | 国产免费又粗又猛又爽 | www.夜夜操| 国产成人99久久亚洲综合精品 | 中文字幕免费一区 | 亚州精品一二三区 | 日韩三级在线观看 | 中文字幕婷婷 | 欧美一级视频免费看 | 九九九九九国产 | 91精品国产92久久久久 | 欧美91精品国产自产 | 欧美在线视频二区 | aaa毛片视频| 91亚洲视频在线观看 | 国内精品亚洲 | 国产 中文 日韩 欧美 | 怡红院av久久久久久久 | 成人97人人超碰人人99 | 久久久国产精品人人片99精片欧美一 | 国产一级片网站 | 91九色蝌蚪在线 | 亚洲国产高清在线观看视频 | 免费观看www小视频的软件 | 911免费视频 | 99精品免费久久久久久久久日本 | 日日夜夜免费精品 | 国产精品久久久免费 | 91av看片| 中文字幕a∨在线乱码免费看 | 九九精品久久 | 99亚洲国产精品 | 国产免费a| 亚洲一区不卡视频 | 日韩在线中文字幕视频 | 国产一级视频免费看 | 免费激情网| 黄色免费大片 | 日韩午夜av | 欧美日韩免费一区二区三区 | 国产精品短视频 | 人人揉人人揉人人揉人人揉97 | 亚洲精品免费看 | 免费久久99精品国产婷婷六月 | 一级黄色毛片 | 中文字幕观看在线 | 欧美一区二区三区在线播放 | 99久久精品免费看国产麻豆 | 九九视频免费在线观看 | 久久精品一区二区三区国产主播 | 9久久精品 | 色资源在线 | 免费在线国产精品 | 中文字幕有码在线 | 91热爆在线观看 | 在线观看视频免费播放 | 国产视频一区二区在线观看 | 久久视频免费观看 | 精品国产综合区久久久久久 | av资源网在线播放 | 中文字幕中文字幕中文字幕 | 99热这里只有精品1 av中文字幕日韩 | 最新超碰在线 | 中文字幕在线看视频国产 | 国产精品久久久久久久久久免费看 | 91精品视频一区二区三区 | 中文字幕在线免费观看视频 | 天堂av免费 | 国产 欧美 日产久久 | 欧美大jb | 婷婷夜夜 | 日韩久久午夜一级啪啪 | av网站有哪些 |