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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PP-LCNet-YoloV5

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

背景簡介

前段時間看到了百度新出的一篇論文,提出了一種基于MKLDNN加速策略的輕量級CPU網絡,即PP-LCNet,它提高了輕量級模型在多任務上的性能,對于計算機視覺的下游任務,如目標檢測、語義分割等,也有很好的表現。以下是論文鏈接和開源的基于PaddlePaddle的實現。

arXiv: https://arxiv.org/pdf/2109.15099.pdf

code: https://github.com/PaddlePaddle/PaddleClas

論文很短,模型結構也十分簡潔,沒有特別創新的部分,應該是屬于深挖技術細節并細心整理的工程應用梳理性質的文章,里面有一些極其實用的工程細節,非常值得一讀。

Pytorch實現PP-LCNet

簡單瀏覽了一下網上對該文章的解讀。

快到飛起的輕量級網絡怎能不讓人心動?可惜原版PP-LCNet只有PaddlePaddle的實現,對于我這樣的Pytorch玩家沒法直接白嫖,不過好在PaddlePaddle和Pytorch的動態圖機制極其相似,參考相關代碼,實現起來也并不難,下面貼一下我用Pytorch的實現

import os import torch import torch.nn as nnNET_CONFIG = {"blocks2":# k, in_c, out_c, s, use_se[[3, 16, 32, 1, False]],"blocks3": [[3, 32, 64, 2, False], [3, 64, 64, 1, False]],"blocks4": [[3, 64, 128, 2, False], [3, 128, 128, 1, False]],"blocks5": [[3, 128, 256, 2, False], [5, 256, 256, 1, False],[5, 256, 256, 1, False], [5, 256, 256, 1, False],[5, 256, 256, 1, False], [5, 256, 256, 1, False]],"blocks6": [[5, 256, 512, 2, True], [5, 512, 512, 1, True]] }def autopad(k, p=None):if p is None:p = k // 2 if isinstance(k, int) else [x // 2 for x in k]return pdef make_divisible(v, divisor=8, min_value=None):if min_value is None:min_value = divisornew_v = max(min_value, int(v + divisor / 2) // divisor * divisor)if new_v < 0.9 * v:new_v += divisorreturn new_vclass HardSwish(nn.Module):def __init__(self, inplace=True):super(HardSwish, self).__init__()self.relu6 = nn.ReLU6(inplace=inplace)def forward(self, x):return x * self.relu6(x+3) / 6class HardSigmoid(nn.Module):def __init__(self, inplace=True):super(HardSigmoid, self).__init__()self.relu6 = nn.ReLU6(inplace=inplace)def forward(self, x):return (self.relu6(x+3)) / 6class SELayer(nn.Module):def __init__(self, channel, reduction=16):super(SELayer, self).__init__()self.avgpool = nn.AdaptiveAvgPool2d(1)self.fc = nn.Sequential(nn.Linear(channel, channel // reduction, bias=False),nn.ReLU(inplace=True),nn.Linear(channel // reduction, channel, bias=False),HardSigmoid())def forward(self, x):b, c, h, w = x.size()y = self.avgpool(x).view(b, c)y = self.fc(y).view(b, c, 1, 1)return x * y.expand_as(x)class DepthwiseSeparable(nn.Module):def __init__(self, inp, oup, dw_size, stride, use_se=False):super(DepthwiseSeparable, self).__init__()self.use_se = use_seself.stride = strideself.inp = inpself.oup = oupself.dw_size = dw_sizeself.dw_sp = nn.Sequential(nn.Conv2d(self.inp, self.inp, kernel_size=self.dw_size, stride=self.stride,padding=autopad(self.dw_size, None), groups=self.inp, bias=False),nn.BatchNorm2d(self.inp),HardSwish(),nn.Conv2d(self.inp, self.oup, kernel_size=1, stride=1, padding=0, bias=False),nn.BatchNorm2d(self.oup),HardSwish(),)self.se = SELayer(self.oup)def forward(self, x):x = self.dw_sp(x)if self.use_se:x = self.se(x)return xclass PP_LCNet(nn.Module):def __init__(self, scale=1.0, class_num=10, class_expand=1280, dropout_prob=0.2):super(PP_LCNet, self).__init__()self.scale = scaleself.conv1 = nn.Conv2d(3, out_channels=make_divisible(16 * self.scale),kernel_size=3, stride=2, padding=1, bias=False)# k, in_c, out_c, s, use_se inp, oup, dw_size, stride, use_se=Falseself.blocks2 = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible(in_c * self.scale),oup=make_divisible(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG["blocks2"])])self.blocks3 = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible(in_c * self.scale),oup=make_divisible(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG["blocks3"])])self.blocks4 = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible(in_c * self.scale),oup=make_divisible(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG["blocks4"])])# k, in_c, out_c, s, use_se inp, oup, dw_size, stride, use_se=Falseself.blocks5 = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible(in_c * self.scale),oup=make_divisible(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG["blocks5"])])self.blocks6 = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible(in_c * self.scale),oup=make_divisible(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG["blocks6"])])self.GAP = nn.AdaptiveAvgPool2d(1)self.last_conv = nn.Conv2d(in_channels=make_divisible(NET_CONFIG["blocks6"][-1][2] * scale),out_channels=class_expand,kernel_size=1, stride=1, padding=0, bias=False)self.hardswish = HardSwish()self.dropout = nn.Dropout(p=dropout_prob)self.fc = nn.Linear(class_expand, class_num)def forward(self, x):x = self.conv1(x)x = self.blocks2(x)x = self.blocks3(x)x = self.blocks4(x)x = self.blocks5(x)x = self.blocks6(x)x = self.GAP(x)x = self.last_conv(x)x = self.hardswish(x)x = self.dropout(x)x = torch.flatten(x, start_dim=1, end_dim=-1)x = self.fc(x)return xdef PPLCNET_x0_25(**kwargs):model = PP_LCNet(scale=0.25, **kwargs)return modeldef PPLCNET_x0_35(**kwargs):model = PP_LCNet(scale=0.35, **kwargs)return modeldef PPLCNET_x0_5(**kwargs):model = PP_LCNet(scale=0.5, **kwargs)return modeldef PPLCNET_x0_75(**kwargs):model = PP_LCNet(scale=0.75, **kwargs)return modeldef PPLCNET_x1_0(**kwargs):model = PP_LCNet(scale=1.0, **kwargs)return modeldef PPLCNET_x1_5(**kwargs):model = PP_LCNet(scale=1.5, **kwargs)return modeldef PPLCNET_x2_0(**kwargs):model = PP_LCNet(scale=2.0, **kwargs)return modeldef PPLCNET_x2_5(**kwargs):model = PP_LCNet(scale=2.5, **kwargs)return modelif __name__ == '__main__':model = PPLCNET_x1_5()input = torch.randn(1, 3, 224, 224)print(input.shape)output = model(input)print(output.shape)

PP-LCNet-YoloV5

既然已經實現了Pytorch版的PP-LCNet,接下里就是實際應用環節了,因為我的工作主要以檢測、追蹤為主,首先想到的自然就是目標檢測的經典模型——YoloV5了,PP-LCNet有0.25,0.35,0.5,0.75,1.0,1.5,2.0,2.5一個八種模型,這里以PPLCNet_x_1_0為例,在原版YoloV5基礎上修改以下三個文件

common.py
# 增加如下代碼 #-------------------------------------PP_LCNet------------------------------------------------------ NET_CONFIG = {"blocks2":# k, in_c, out_c, s, use_se[[3, 16, 32, 1, False]],"blocks3": [[3, 32, 64, 2, False], [3, 64, 64, 1, False]],"blocks4": [[3, 64, 128, 2, False], [3, 128, 128, 1, False]],"blocks5": [[3, 128, 256, 2, False], [5, 256, 256, 1, False],[5, 256, 256, 1, False], [5, 256, 256, 1, False],[5, 256, 256, 1, False], [5, 256, 256, 1, False]],"blocks6": [[5, 256, 512, 2, True], [5, 512, 512, 1, True]] } BLOCK_LIST = ["blocks2", "blocks3", "blocks4", "blocks5", "blocks6"]def make_divisible_LC(v, divisor=8, min_value=None):if min_value is None:min_value = divisornew_v = max(min_value, int(v + divisor / 2) // divisor * divisor)if new_v < 0.9 * v:new_v += divisorreturn new_vclass HardSwish(nn.Module):def __init__(self, inplace=True):super(HardSwish, self).__init__()self.relu6 = nn.ReLU6(inplace=inplace)def forward(self, x):return x * self.relu6(x+3) / 6class HardSigmoid(nn.Module):def __init__(self, inplace=True):super(HardSigmoid, self).__init__()self.relu6 = nn.ReLU6(inplace=inplace)def forward(self, x):return (self.relu6(x+3)) / 6class SELayer(nn.Module):def __init__(self, channel, reduction=16):super(SELayer, self).__init__()self.avgpool = nn.AdaptiveAvgPool2d(1)self.fc = nn.Sequential(nn.Linear(channel, channel // reduction, bias=False),nn.ReLU(inplace=True),nn.Linear(channel // reduction, channel, bias=False),HardSigmoid())def forward(self, x):b, c, h, w = x.size()y = self.avgpool(x).view(b, c)y = self.fc(y).view(b, c, 1, 1)return x * y.expand_as(x)class DepthwiseSeparable(nn.Module):def __init__(self, inp, oup, dw_size, stride, use_se=False):super(DepthwiseSeparable, self).__init__()self.use_se = use_seself.stride = strideself.inp = inpself.oup = oupself.dw_size = dw_sizeself.dw_sp = nn.Sequential(nn.Conv2d(self.inp, self.inp, kernel_size=self.dw_size, stride=self.stride,padding=autopad(self.dw_size, None), groups=self.inp, bias=False),nn.BatchNorm2d(self.inp),HardSwish(),nn.Conv2d(self.inp, self.oup, kernel_size=1, stride=1, padding=0, bias=False),nn.BatchNorm2d(self.oup),HardSwish(),)self.se = SELayer(self.oup)def forward(self, x):x = self.dw_sp(x)if self.use_se:x = self.se(x)return xclass PPLC_Conv(nn.Module):def __init__(self, scale):super(PPLC_Conv, self).__init__()self.scale = scaleself.conv = nn.Conv2d(3, out_channels=make_divisible_LC(16 * self.scale),kernel_size=3, stride=2, padding=1, bias=False)def forward(self, x):return self.conv(x)class PPLC_Block(nn.Module):def __init__(self, scale, block_num):super(PPLC_Block, self).__init__()self.scale = scaleself.block_num = BLOCK_LIST[block_num]self.block = nn.Sequential(*[DepthwiseSeparable(inp=make_divisible_LC(in_c * self.scale),oup=make_divisible_LC(out_c * self.scale),dw_size=k, stride=s, use_se=use_se)for i, (k, in_c, out_c, s, use_se) in enumerate(NET_CONFIG[self.block_num])])def forward(self, x):return self.block(x)
yolo.py
# 修改parse_model函數 def parse_model(d, ch): # model_dict, input_channels(3)LOGGER.info('\n%3s%18s%3s%10s %-40s%-30s' % ('', 'from', 'n', 'params', 'module', 'arguments'))anchors, nc, gd, gw = d['anchors'], d['nc'], d['depth_multiple'], d['width_multiple']na = (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors # number of anchorsno = na * (nc + 5) # number of outputs = anchors * (classes + 5)layers, save, c2 = [], [], ch[-1] # layers, savelist, ch outfor i, (f, n, m, args) in enumerate(d['backbone'] + d['head']): # from, number, module, argsm = eval(m) if isinstance(m, str) else m # eval stringsfor j, a in enumerate(args):try:args[j] = eval(a) if isinstance(a, str) else a # eval stringsexcept:passn = n_ = max(round(n * gd), 1) if n > 1 else n # depth gainif m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,BottleneckCSP, C3, C3TR, C3SPP, C3Ghost]:c1, c2 = ch[f], args[0] if c2 != no: # if not outputc2 = make_divisible(c2 * gw, 8)args = [c1, c2, *args[1:]]if m in [BottleneckCSP, C3, C3TR, C3Ghost]:args.insert(2, n) # number of repeatsn = 1elif m is nn.BatchNorm2d:args = [ch[f]]elif m is Concat:c2 = sum([ch[x] for x in f])elif m is Detect:args.append([ch[x] for x in f])if isinstance(args[1], int): # number of anchorsargs[1] = [list(range(args[1] * 2))] * len(f)elif m is Contract:c2 = ch[f] * args[0] ** 2elif m is Expand:c2 = ch[f] // args[0] ** 2 # 添加加該部分代碼 #--------------------------------------------- elif m is PPLC_Conv:c2 = args[0]args = args[1:]elif m is PPLC_Block:c2 = args[0]args = args[1:] #----------------------------------------------else:c2 = ch[f]m_ = nn.Sequential(*[m(*args) for _ in range(n)]) if n > 1 else m(*args) # modulet = str(m)[8:-2].replace('__main__.', '') # module typenp = sum([x.numel() for x in m_.parameters()]) # number paramsm_.i, m_.f, m_.type, m_.np = i, f, t, np # attach index, 'from' index, type, number paramsLOGGER.info('%3s%18s%3s%10.0f %-40s%-30s' % (i, f, n_, np, t, args)) # printsave.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1) # append to savelistlayers.append(m_)if i == 0:ch = []ch.append(c2)return nn.Sequential(*layers), sorted(save)
yolov5_LCNet.yaml
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license# Parameters nc: 80 # number of classes depth_multiple: 0.33 # model depth multiple width_multiple: 0.50 # layer channel multiple anchors:- [10,13, 16,30, 33,23] # P3/8- [30,61, 62,45, 59,119] # P4/16- [116,90, 156,198, 373,326] # P5/32# YOLOv5 backbone backbone:[[-1, 1, PPLC_Conv, [16, 1]],[-1, 1, PPLC_Block, [32, 1, 0]],[-1, 1, PPLC_Block, [64, 1, 1]],[-1, 1, PPLC_Block, [128, 1, 2]],[-1, 1, PPLC_Block, [256, 1, 3]],[-1, 1, PPLC_Block, [512, 1, 4]],]# YOLOv5 head head:[[-1, 1, Conv, [512, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 4], 1, Concat, [1]], # cat backbone P4[-1, 3, C3, [512, False]], # 13[-1, 1, Conv, [256, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 3], 1, Concat, [1]], # cat backbone P3[-1, 3, C3, [256, False]], # 17 (P3/8-small)[-1, 1, Conv, [256, 3, 2]],[[-1, 10], 1, Concat, [1]], # cat head P4[-1, 3, C3, [512, False]], # 20 (P4/16-medium)[-1, 1, Conv, [512, 3, 2]],[[-1, 6], 1, Concat, [1]], # cat head P5[-1, 3, C3, [1024, False]], # 23 (P5/32-large)[[13, 16, 19], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)]

想做一下消融實驗做一下對比,但是看了一眼手里的1650Ti,留下了貧窮的淚水。。。后面有機會再更新一下效果吧。
完整項目見Github
https://github.com/OutBreak-hui/Yolov5-PP-LCNet

總結

以上是生活随笔為你收集整理的PP-LCNet-YoloV5的全部內容,希望文章能夠幫你解決所遇到的問題。

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

中文字幕精品三级久久久 | 99精品在线免费观看 | 九九热久久免费视频 | 欧美日韩国产综合网 | 成人免费看片98欧美 | 激情文学丁香 | 91久久国产精品 | 黄网站污| 精品视频在线看 | 成人在线观看你懂的 | 在线免费性生活片 | 日韩精品高清视频 | 欧美日韩亚洲精品在线 | 欧美a性 | 欧美一级免费片 | 丁香av | 国产一级在线观看 | 人人看人人做人人澡 | 日本中文字幕一二区观 | 日批视频在线播放 | 中文资源在线播放 | 69久久久| 色小说在线 | 人人舔人人 | 日韩天天干 | 偷拍久久久| 国产永久免费观看 | 精品久久久久久久久久岛国gif | 久久精久久精 | 99精品热视频 | 日韩在线免费看 | 婷婷丁香激情网 | 亚洲欧美激情插 | 91福利区一区二区三区 | ,午夜性刺激免费看视频 | 伊人永久 | 国产不卡在线看 | 五月婷婷导航 | 夜夜操天天干 | 91在线播放视频 | 五月婷在线 | 国产精品video | 麻豆久久| 特黄特色特刺激视频免费播放 | 2022久久国产露脸精品国产 | 国产精品久久网站 | www.夜夜草| 91原创在线观看 | 亚洲激情在线视频 | 国产精品网址在线观看 | 国产在线观看高清视频 | 高清中文字幕av | 国产在线成人 | 国产精品久久久久久久av大片 | 久99久中文字幕在线 | 欧美片网站yy | 免费观看一区二区三区视频 | 久久精品1区2区 | 在线亚洲精品 | 亚洲成人频道 | 五月婷婷在线视频观看 | 亚洲www天堂com | 狠狠色丁香婷婷综合久小说久 | 激情深爱 | 日韩欧美xxxx | 精品一区二区三区久久久 | 色婷婷免费 | 国产精品黄色在线观看 | 精品自拍sae8—视频 | 国产精品完整版 | 美女视频永久黄网站免费观看国产 | 99久久精品电影 | 天天射一射 | 91精品免费看 | 美女视频黄在线 | 中文久久精品 | 久久国产乱 | 亚洲国产成人精品久久 | 亚洲精品久久久蜜臀下载官网 | 欧美孕妇与黑人孕交 | 在线观看成人 | 人人草人 | 久久久久国产精品免费 | 东方av免费在线观看 | 国内久久精品视频 | 日本精品一区二区三区在线观看 | 99久久精品一区二区成人 | 手机看片中文字幕 | 亚洲黄色在线免费观看 | 国产伦理久久 | 欧美精品久久久久久久久久久 | 亚洲视频www | 欧美大片www | 91精品在线麻豆 | 激情视频在线观看网址 | 亚洲精品国产精品国自产观看 | 超碰在线人 | 午夜成人免费影院 | 亚洲国产美女精品久久久久∴ | 中文字幕乱码日本亚洲一区二区 | 日韩一区精品 | 久久精品成人 | 国产精品久久久久久妇 | 五月婷久 | 日韩av伦理片 | 手机在线看永久av片免费 | 亚洲涩综合| 欧美日韩亚洲第一页 | 91桃色在线免费观看 | 成人三级av | 九热精品 | 国产色一区 | 97超级碰碰碰碰久久久久 | 国产精成人品免费观看 | 91香蕉视频好色先生 | 国产精品美女久久久久久久 | 国产精品欧美 | 91久久爱热色涩涩 | 天天操天天舔天天干 | 中文字幕黄色网址 | 日日日干 | 久久久精品国产一区二区 | 天天av综合网 | 亚洲日本三级 | 欧美午夜精品久久久久久浪潮 | 国产精品综合久久久久 | 国产资源精品在线观看 | 久久久伊人网 | 亚洲人成人在线 | 日韩性久久 | 激情视频91 | 91精品资源 | 国产精品视频专区 | 久久五月激情 | 欧美激情视频免费看 | 夜夜躁狠狠躁日日躁视频黑人 | 成人午夜精品福利免费 | 黄网站app在线观看免费视频 | 国产在线观看91 | 九九精品无码 | 午夜精品一区二区三区在线播放 | 色多多污污 | 91中文字幕网 | 久久久精品欧美 | 91精品久久久久 | 玖玖在线精品 | 天天曰视频 | 亚洲爱av| 日本视频不卡 | 中文字幕一区二区三区四区视频 | 黄色毛片网站在线观看 | 91亚色视频在线观看 | 国产成人精品一区二区三区在线 | 深爱激情五月婷婷 | 黄在线免费看 | 黄色软件在线看 | 国产高清无线码2021 | 日韩精品播放 | 欧美日韩高清一区二区 | 永久av免费在线观看 | 日韩激情网 | 国产在线高清 | 91黄在线看 | 狠狠狠色丁香综合久久天下网 | a级国产乱理论片在线观看 特级毛片在线观看 | 久久免费美女视频 | 日韩色视频在线观看 | 欧美在线aa | 视频一区二区免费 | 狠狠插狠狠操 | 国产成人在线观看免费 | 99久高清在线观看视频99精品热在线观看视频 | 欧美国产一区在线 | 国产精品激情在线观看 | 久久久久久久久久久电影 | 久久er99热精品一区二区 | 日韩一区二区三区免费电影 | 久久视频这里只有精品 | 天天操偷偷干 | www国产精品com | 中文在线免费观看 | 国产精品女主播一区二区三区 | 日韩精品在线观看视频 | 中文字幕在线播放视频 | 亚洲天堂毛片 | av888.com | 香蕉视频一级 | 免费看片网页 | 九九久久国产精品 | 免费网站在线观看人 | 久久国产一区二区 | 国产精品久久久久久久午夜片 | 亚洲爽爽网 | 日韩电影一区二区三区在线观看 | 天堂久久电影网 | 色偷偷97| 天天视频色版 | 五月天综合色激情 | 欧美热久久 | 国产成人99久久亚洲综合精品 | 久久久精品欧美一区二区免费 | 福利一区视频 | 亚洲japanese制服美女 | 最近中文字幕免费av | 亚洲人久久久 | 成在线播放| 欧美成天堂网地址 | 午夜视频导航 | 久久xxxx| 婷婷久久丁香 | 五月婷婷丁香 | 欧美日韩亚洲第一页 | 色婷婷免费 | 欧美色图p | 成人综合日日夜夜 | 亚洲日本中文字幕在线观看 | 欧美一级电影 | 久久99亚洲精品 | 日本高清免费中文字幕 | 日日干夜夜干 | 视频国产一区二区三区 | 麻花豆传媒一二三产区 | 午夜精品久久久久久久久久 | 国产精品久久久久久久久久久久久久 | 在线亚洲播放 | 永久免费的av电影 | 国产成人精品电影久久久 | 国产精品美女久久久久久免费 | 中文字幕一区二区三区在线观看 | 99精品视频免费 | 国产亚洲日 | 亚洲一区二区精品3399 | 久久久免费看视频 | 91精品人成在线观看 | 96视频免费在线观看 | 国产69精品久久99不卡的观看体验 | 国产精品三级视频 | 国产99免费 | 在线观看免费黄色 | 国产精品久久久久久久久蜜臀 | 精品国产亚洲一区二区麻豆 | 亚洲电影一级黄 | 婷婷网五月天 | 91桃色视频| 欧美精品少妇xxxxx喷水 | 欧美中文字幕第一页 | 国产精品久久99综合免费观看尤物 | 黄色av成人在线 | 精品一区久久 | 亚洲精品五月 | 天堂成人在线 | 77国产精品 | 国产精品久久三 | 精品一区二区av | 日韩美女高潮 | 在线观看成年人 | 日本在线观看一区二区三区 | 人人舔人人爱 | 五月婷婷丁香激情 | 久久精品视频免费播放 | 玖玖在线视频观看 | 中文乱码视频在线观看 | 91精品国产综合久久福利 | www视频免费在线观看 | 免费高清av在线看 | 在线免费观看黄色大片 | 91麻豆精品91久久久久同性 | 美女又爽又黄 | 久久欧洲视频 | 99自拍视频在线观看 | 欧美日韩18 | 久草在线视频首页 | 国产在线探花 | 综合网天天| 碰碰影院 | 天天干天天草 | 91免费网 | 成人在线免费看视频 | 激情综合网在线观看 | 精品一区欧美 | 日韩在线观看的 | 在线免费91 | 美女国产免费 | 天天干,天天操,天天射 | 99视频在线精品国自产拍免费观看 | 亚洲欧洲精品在线 | 久久久久一区二区三区 | 国产高清视频免费 | 日日操天天操夜夜操 | 五月激情姐姐 | 精品一区二三区 | 国产 色 | 久久久久久久免费观看 | 国产美女永久免费 | 久久毛片高清国产 | av免费电影网站 | 欧美日韩xxxxx | 97超碰中文字幕 | 婷婷在线观看视频 | av专区在线 | 美女视频黄在线 | 97成人精品视频在线观看 | 国产高清视频在线免费观看 | 欧美一区二区在线刺激视频 | 最近更新的中文字幕 | 人人插人人费 | 日韩高清不卡在线 | 亚洲婷婷网 | 久久久久久久免费看 | 免费电影一区二区三区 | 国产剧情一区在线 | 一区二区三区视频在线 | 黄污网站在线 | 中文字幕在线播放一区二区 | 久久国产精品二国产精品中国洋人 | 69xxxx欧美 | 亚洲精品高清一区二区三区四区 | 午夜aaaa | 国产精品一区二区久久精品爱涩 | 日韩中文字幕一区 | 久久久久久久久黄色 | 成人欧美日韩国产 | 免费看高清毛片 | 免费中文字幕在线观看 | 96久久久| 午夜a区 | 99精彩视频在线观看免费 | 中文字幕 影院 | 久草视频在线免费看 | 久久人人插 | 天天操,夜夜操 | 麻豆国产精品一区二区三区 | 国产一区二区高清不卡 | 亚洲欧美国产精品 | 欧美成人h版电影 | 久久激情影院 | 丁香花在线视频观看免费 | 激情五月看片 | 精品国产一区二区三区男人吃奶 | 91高清在线看 | 92精品国产成人观看免费 | 亚洲电影在线看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久久久久久久久久成人 | 精品免费观看 | 五月av在线 | 国产精品理论视频 | www视频在线免费观看 | 午夜免费电影院 | 色停停五月天 | 国产在线播放观看 | 日韩区在线观看 | 国产精品激情 | 精品在线一区二区 | 综合网av| 久久久久久久久久久久久久电影 | 亚洲无吗天堂 | 国产原厂视频在线观看 | 一本色道久久精品 | 国产精品女同一区二区三区久久夜 | 国产一区二区三区免费视频 | 在线观看片 | 97视频一区 | 久久人人爽人人片 | 欧美乱码精品一区二区 | 久久视频在线看 | 久久亚洲在线 | 99久热在线精品 | 国产精品地址 | 国内丰满少妇猛烈精品播 | av手机版 | 中文字幕乱视频 | 极品国产91在线网站 | 亚洲成av人影院 | 久久久91精品国产一区二区精品 | 婷婷久久综合网 | 久99视频 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 一区二区视频电影在线观看 | 日韩不卡高清视频 | 91一区二区三区久久久久国产乱 | 久久国产精品99久久久久久进口 | 久草在线中文视频 | 国产手机视频精品 | 91九色蝌蚪视频网站 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 日韩精品久久久免费观看夜色 | 992tv在线| 一区二区不卡在线观看 | 99亚洲视频 | 久久婷婷一区二区三区 | 久视频在线 | 97国产视频| 中文字幕在线观看1 | 福利精品在线 | 国产又粗又猛又黄又爽 | 在线观看 亚洲 | 免费黄色av片 | 91麻豆精品国产自产 | 亚洲精品777 | 欧美精品你懂的 | 欧美不卡在线 | 欧美日韩视频在线观看免费 | 国产中出在线观看 | 最近中文字幕mv免费高清在线 | 欧美性成人| av在线看片 | 欧美高清成人 | 色欧美综合 | 毛片精品免费在线观看 | 国产电影一区二区三区四区 | 98超碰在线 | 午夜精品福利一区二区三区蜜桃 | 精品999| 综合av在线 | 久久久久五月 | 日韩一三区 | 91麻豆国产福利在线观看 | 亚洲成av人影院 | 中文区中文字幕免费看 | 四虎国产精品成人免费影视 | 国产视频18| 免费特级黄毛片 | 日日夜夜骑| 中文字幕一区二区三区久久 | 国产精品欧美日韩 | 17videosex性欧美 | 在线观看免费av网 | 中文字幕高清在线播放 | 亚洲视频一级 | 日日干天天插 | 国产午夜精品理论片在线 | 亚洲免费在线播放视频 | 婷婷丁香自拍 | 亚洲精品综合一二三区在线观看 | 国内精品久久久久影院一蜜桃 | 成人在线网站观看 | 婷婷丁香在线视频 | 91精品啪啪 | 中文字幕免费观看视频 | 黄色视屏在线免费观看 | 久久国产福利 | 久久精品成人欧美大片古装 | 狠狠狠色丁香综合久久天下网 | 国产五月天婷婷 | 在线三级av | 精品美女久久久久久免费 | 香蕉日日 | 日韩夜夜爽 | 国产精品免费一区二区三区在线观看 | 黄色a一级片 | 国产黄色特级片 | 五月天久久久久久 | 精品国产电影一区 | 欧美人牲 | 91在线精品播放 | 国产精品久久久久影院 | 在线视频你懂得 | 天天干天天干天天色 | 69精品视频 | 91在线免费看片 | 亚洲在线网址 | 国产一区在线视频观看 | 婷婷伊人网 | 精品久久久久久久久久久久久久久久 | 激情五月婷婷 | 婷婷丁香色综合狠狠色 | 深爱激情五月婷婷 | 在线看的av网站 | 国产在线毛片 | 狠狠干五月天 | 91一区啪爱嗯打偷拍欧美 | 亚洲精品视频在线观看网站 | 免费看一及片 | 免费在线观看av不卡 | 丁香婷婷网 | 天堂网一区二区三区 | 欧美a级片网站 | 狠狠gao| www.成人精品| 欧美va日韩va | 九九涩涩av台湾日本热热 | 夜夜爽天天爽 | 久久免费黄色 | 亚洲精品午夜久久久久久久久久久 | 激情婷婷av | 欧美一区二区三区在线 | 久久深夜福利免费观看 | 精品国产视频在线观看 | 日韩一区二区三区高清免费看看 | 成片人卡1卡2卡3手机免费看 | 91视频在线免费 | 亚洲视频一级 | 国产精品视频资源 | www色,com | 韩国在线视频一区 | 久久久久网站 | 日韩成人欧美 | 国内精品免费 | 国产免费av一区二区三区 | 不卡的av在线 | 午夜精品久久 | 亚洲精区二区三区四区麻豆 | 亚洲精品女人久久久 | 美女精品在线观看 | 亚洲精品天天 | 日日爱网址 | 干干干操操操 | 99re久久资源最新地址 | 最新国产中文字幕 | 又黄又爽又无遮挡免费的网站 | 五月天国产精品 | 免费a现在观看 | 亚洲日韩欧美一区二区在线 | 欧美日韩一区三区 | 国产原创中文在线 | 国产传媒中文字幕 | 99 精品 在线 | 激情狠狠干 | 国产一级黄色片免费看 | 天天爽天天爽天天爽 | 亚洲欧美偷拍另类 | 国产精品中文字幕在线 | 人人干人人艹 | 国产精彩视频一区二区 | 婷婷久久精品 | 一本一本久久a久久精品综合 | 色婷婷影视 | 久产久精国产品 | 成片免费观看视频大全 | 国产精品美女免费 | 国产成人在线观看免费 | 激情五月六月婷婷 | 久久这里有精品 | 亚洲精品久久久久中文字幕二区 | 欧美中文字幕第一页 | 江苏妇搡bbbb搡bbbb | 免费在线观看的av网站 | 日韩三级视频在线观看 | 国产91国语对白在线 | 国产高清精| 日韩精品欧美精品 | 亚洲电影图片小说 | 国产精品美女久久久久aⅴ 干干夜夜 | 最近更新好看的中文字幕 | 911香蕉 | 国产精品高潮呻吟久久av无 | av丁香花| 在线 欧美 日韩 | 99在线精品免费视频九九视 | 黄色a视频免费 | 亚洲综合情 | 日韩免费一区二区三区 | 日本婷婷色 | 91三级在线观看 | 久久久精品久久 | 激情在线五月天 | 欧美日韩视频免费 | 亚洲精品66 | 日韩高清精品免费观看 | 在线观看中文字幕亚洲 | 成人黄在线观看 | 久久综合一本 | 一区二精品 | 中文字幕有码在线播放 | 亚洲精品一区二区久 | 国产视频九色蝌蚪 | 成全在线视频免费观看 | 黄色资源在线观看 | 成人少妇影院yyyy | 中文字幕免费高清av | 丁香五月缴情综合网 | 日韩激情精品 | 8x成人在线 | 色婷婷 亚洲 | 色吊丝av中文字幕 | 国内久久精品 | 五月天六月婷 | 色久天 | 亚洲日韩欧美视频 | 亚洲91中文字幕无线码三区 | 免费日韩 精品中文字幕视频在线 | 精品国产aⅴ麻豆 | av大全在线看 | 国产91精品看黄网站在线观看动漫 | 一区二区精品视频 | 18久久久久| 在线观看中文字幕2021 | 国产免费资源 | 亚洲天堂精品视频在线观看 | 九九热在线观看视频 | 我爱av激情网 | 在线直播av | www.91成人 | 99精彩视频在线观看免费 | 成人av影视在线 | 综合色在线观看 | 午夜国产影院 | 国产免费a| 亚洲精品99久久久久中文字幕 | 婷婷六月综合亚洲 | 国产精品成人一区二区三区吃奶 | 中文字幕中文字幕 | 69久久久| 激情久久五月 | 欧美日韩免费一区二区三区 | 亚洲精品字幕在线观看 | www.超碰| 91精品国产成人观看 | 久久综合亚洲鲁鲁五月久久 | 99久久久国产精品美女 | 狠狠色狠狠色综合系列 | 国产原厂视频在线观看 | 麻豆视频免费版 | 在线黄色观看 | 久久久久久久久影视 | 99r在线观看 | 久久久国内精品 | 国产精品美女久久久久久网站 | 婷婷六月丁香激情 | 999电影免费在线观看2020 | 少妇搡bbbb搡bbb搡69 | 天天草综合 | 91黄色免费看 | 99在线精品免费视频九九视 | av+在线播放在线播放 | 亚洲精品中文字幕在线 | 成人福利在线 | 在线观看国产91 | 亚洲一级性 | 亚洲国产天堂av | 久草亚洲视频 | 成年人电影免费在线观看 | 97国产超碰在线 | 97超碰在线资源 | 日日狠狠 | 精品国偷自产国产一区 | 综合色播| 欧美日韩中 | 国产黄色大片免费看 | 免费观看全黄做爰大片国产 | 亚洲三级精品 | 欧美一区二区三区激情视频 | 狠狠操电影网 | 久久久精品亚洲 | 精品亚洲男同gayvideo网站 | a午夜电影| 亚洲最大的av网站 | 91免费版在线 | 天天爱综合 | 日韩欧美在线观看一区二区 | 91重口视频 | 最新国产福利 | 久久9999久久| 国内精品久久久久久久久 | 日日夜夜噜噜噜 | 国产精品一区二区av影院萌芽 | a级国产乱理论片在线观看 特级毛片在线观看 | 国产婷婷vvvv激情久 | 玖玖在线观看视频 | 中文字幕亚洲欧美日韩2019 | 成年人免费电影在线观看 | 欧美日韩久久一区 | 日韩av影片在线观看 | 在线观看网站你懂的 | 天天干天天干天天干天天干天天干天天干 | 国产麻豆剧果冻传媒视频播放量 | 在线三级av | 欧美日韩一区二区三区在线免费观看 | 日韩欧美中文 | 国产999精品久久久久久绿帽 | 国产精品久久久久久久久久99 | 国产精品毛片一区二区在线 | 在线观看av片| avwww在线| 77国产精品 | 一 级 黄 色 片免费看的 | 久草爱| 亚洲精品影视在线观看 | 激情婷婷av | 毛片网站在线看 | 久久久久亚洲精品成人网小说 | 探花视频在线观看 | 欧美 另类 交 | 精品超碰 | 中文字幕在线精品 | 成人性生交视频 | 久久久国产视频 | 丁香九月激情综合 | 天天操天天干天天干 | 中文字幕免费久久 | 99视频在线看 | 最近中文国产在线视频 | 日韩在线观看第一页 | 国产精品久久久久aaaa九色 | 久久久久久福利 | 亚洲精品国精品久久99热 | 欧美一二三区在线观看 | 国内成人精品视频 | 99免费看片| 热久久免费国产视频 | 久久久精品国产一区二区电影四季 | 亚洲天堂网在线视频观看 | 青青河边草免费直播 | 成人超碰在线 | 五月开心色 | 精品国产免费av | 国产一区二区播放 | 中文字幕视频免费观看 | 91亚洲精品久久久蜜桃借种 | 欧美午夜精品久久久久久孕妇 | 日本精品视频在线观看 | 欧美激精品 | 久久综合久久综合这里只有精品 | 久久无码av一区二区三区电影网 | 久久色亚洲 | 激情校园亚洲 | 欧美性大战久久久久 | 久久久久伊人 | 狠狠干成人综合网 | 亚洲欧美精品在线 | 亚洲国产成人在线 | 人人爽人人看 | 欧美做受高潮 | 色综合久久久久久久久五月 | 国产看片 色 | 久久精品96 | 久久婷婷一区二区三区 | 综合国产在线 | 十八岁以下禁止观看的1000个网站 | 国产四虎影院 | 欧美成人黄色 | 亚洲一区不卡视频 | 日韩综合在线观看 | 毛片网站在线 | 九九视频在线播放 | 天天玩天天干 | 香蕉免费在线 | 国内精品国产三级国产aⅴ久 | 91喷水 | 久久久久成人精品 | 亚洲精品国精品久久99热 | 视频在线观看一区 | 亚洲精品国产视频 | 天天综合天天综合 | 亚洲综合网站在线观看 | 在线看福利av | 一区二区三区在线播放 | 午夜av在线电影 | 最近字幕在线观看第一季 | 热久久这里只有精品 | 婷婷丁香av| 久草在线免费资源站 | 在线免费观看视频a | 日本久久视频 | 免费国产一区二区视频 | 亚洲三级在线免费观看 | 综合影视| 成人av电影在线播放 | 福利视频 | 天天综合导航 | 岛国av在线 | 日韩电影在线视频 | 国产一级不卡毛片 | 日韩免费在线观看网站 | 久久亚洲私人国产精品 | 久久精品免费电影 | 三级在线视频观看 | 精品国内自产拍在线观看视频 | 国产日韩欧美在线看 | 国产日本高清 | 国产色啪| 91女子私密保健养生少妇 | 亚洲天堂网视频 | 黄色小说视频网站 | 亚洲国产日韩欧美在线 | 狠狠色噜噜狠狠 | 精品91在线 | 日韩中文久久 | 国产糖心vlog在线观看 | 免费一级片视频 | 中日韩欧美精彩视频 | 中文乱幕日产无线码1区 | 久久久国产精品网站 | 黄色网在线播放 | 色综合久久久久综合体 | 久久国产精品一区二区 | 91亚洲永久精品 | 天天色欧美 | 91电影福利 | 一区二区三区高清在线 | 九九热只有精品 | 日韩av免费网站 | 成人免费视频免费观看 | 日韩av一卡二卡三卡 | 国产高清在线 | 成人在线一区二区三区 | 狠狠色丁香久久综合网 | 人人爱人人射 | 免费观看福利视频 | 在线成人av| 久久精品日韩 | 天天干中文字幕 | 成人欧美日韩国产 | 成人免费视频网站 | 久久手机精品视频 | 欧美国产日韩在线观看 | 丁香综合网 | www.五月天激情 | 一级黄色片在线免费看 | 久久午夜网 | 成年人在线视频观看 | 91色一区二区三区 | 亚洲在线a | 一本一本久久a久久精品综合妖精 | 91在线视频一区 | 综合网中文字幕 | 美女视频免费一区二区 | 午夜在线日韩 | 亚洲,国产成人av | 国产人成一区二区三区影院 | 成人动漫视频在线 | 久草网首页 | 最近中文字幕国语免费高清6 | 97超碰超碰| 中文在线字幕观看电影 | 成人黄色在线看 | 最近中文字幕在线中文高清版 | 日本久久中文 | 一区二区精品在线 | 日本精品久久久久 | 国模视频一区二区三区 | 久久艹国产视频 | www五月天com| 国产精品亚洲片在线播放 | 日韩大片免费在线观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 人人爱人人射 | 亚洲免费在线 | 欧美一级视频在线观看 | 亚洲永久精品一区 | 久久亚洲视频 | 91麻豆精品| 丰满少妇高潮在线观看 | 日本久热 | 免费高清看电视网站 | 国产午夜视频在线观看 | 精品人人爽 | 97成人啪啪网 | 狂野欧美激情性xxxx | 三级av免费观看 | 91福利视频免费观看 | 免费黄在线观看 | 五月天激情综合 | 欧美精品一二 | 久草在线久草在线2 | 五月天中文字幕 | 亚洲三级毛片 | 成年性视频| 精品特级毛片 | 成人高清av在线 | 超碰人人av | 亚洲无在线 | 成片视频在线观看 | 亚州国产精品 | 激情视频一区二区 | 日韩免费精品 | 国产精品亚洲片夜色在线 | 中文国产在线观看 | 精品高清美女精品国产区 | 91丨九色丨蝌蚪丰满 | 免费a网 | 韩国av免费在线 | 亚洲码国产日韩欧美高潮在线播放 | 韩国av一区| 欧洲精品亚洲精品 | 欧美精品在线观看 | 国产v在线 | 国产日韩av在线 | 91在线欧美| www亚洲视频| 伊人色综合久久天天 | 免费在线成人av电影 | 欧美a视频 | 在线免费高清视频 | 欧美在线1| 在线一二三四区 | 色五月成人 | 国内精品久久久久影院男同志 | 日韩免费在线观看视频 | 精品无人国产偷自产在线 | 久久激五月天综合精品 | 五月婷网站 | www.狠狠操 | 色综合激情网 | 国产一区二区在线免费视频 | 超碰人人国产 | 亚洲精品一区二区三区在线观看 | 国产精品麻豆视频 | www.91国产| 国产手机视频在线 | 免费99精品国产自在在线 | 日韩高清在线一区二区 | 天天干天天操天天拍 | 国产资源精品在线观看 | 波多野结衣精品 | 欧美一级电影片 | 999超碰| 人人盈棋牌 | 精品久久精品久久 | 黄网站免费看 | 久久久久99999 | avhd高清在线谜片 | 天天综合日| 黄视频网站大全 | 日本一区二区三区视频在线播放 | 嫩草av影院 | 欧美日韩精品在线播放 | 免费又黄又爽视频 | 国产高清在线看 | 99视频久久| 一区二区三区四区在线 | 黄色软件在线看 | 成人午夜剧场在线观看 | 国产五月天婷婷 | 亚洲天天看| 我爱av激情网 | 午夜av一区二区三区 | 日韩av黄| 91视频 - 114av| 九九精品视频在线观看 | 一区在线电影 | 999抗病毒口服液 | av三级在线看 | 亚洲精品乱码久久久久久蜜桃不爽 | 黄色资源网站 | 国产精品久久久久久久久久直播 | 国产一区二区成人 | 99精品视频在线观看 | 中文字幕一区二区三区四区在线视频 | 国产主播大尺度精品福利免费 | 97在线影院 | 国产专区一 | 亚洲a在线观看 | 久久婷婷色| 久草在线一免费新视频 | 亚洲国产精品500在线观看 | 国产精品成人免费一区久久羞羞 | 中文字幕在线播出 | 亚洲美女视频网 | 色狠狠综合天天综合综合 | 日日夜日日干 | 精品久久一 | 在线三级中文 | 人人超在线公开视频 | 久久黄色片子 | 欧美色操 | 婷婷色视频| 美女视频黄免费网站 | 精品主播网红福利资源观看 | 国产精品国产三级国产 | 国内精品久久久久影院一蜜桃 | 欧美国产不卡 | 日韩三级视频在线观看 | 伊人天天狠天天添日日拍 | 一区二区三区在线视频111 | 久久久久五月天 | 不卡av在线免费观看 | 美女视频黄免费 | 手机看国产毛片 | 中文字幕人成乱码在线观看 | 丁香5月婷婷久久 | 日韩电影中文字幕 | 亚洲 欧美日韩 国产 中文 | a级国产乱理论片在线观看 特级毛片在线观看 | 国产精品久久久 | 午夜精品久久久久久久久久久久久久 | 国产成人精品久久久 | 日韩免费在线视频观看 | 最新极品jizzhd欧美 | 99av国产精品欲麻豆 | 天天色天天搞 | 99色视频在线| 久久久这里有精品 | 337p日本欧洲亚洲大胆裸体艺术 | 99久久久精品| 不卡的av在线 | 国内精品国产三级国产aⅴ久 | 国产精品一区二区免费看 | 91夫妻视频 | 成人影视免费 | 国产精品毛片一区二区三区 | 久色小说| 日本免费一二三区 | 91免费看黄 | 99在线精品免费视频九九视 | 国产专区日韩专区 | 九九久久久久久久久激情 |