午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > pytorch 實現L2和L1正則化regularization的操作

pytorch 實現L2和L1正則化regularization的操作

熱門標簽:螳螂科技外呼系統怎么用 舉辦過冬奧會的城市地圖標注 正安縣地圖標注app 400電話申請資格 地圖地圖標注有嘆號 qt百度地圖標注 電銷機器人系統廠家鄭州 遼寧智能外呼系統需要多少錢 阿里電話機器人對話

1.torch.optim優化器實現L2正則化

torch.optim集成了很多優化器,如SGD,Adadelta,Adam,Adagrad,RMSprop等,這些優化器自帶的一個參數weight_decay,用于指定權值衰減率,相當于L2正則化中的λ參數,注意torch.optim集成的優化器只有L2正則化方法,你可以查看注釋,參數weight_decay 的解析是:

weight_decay (float, optional): weight decay (L2 penalty) (default: 0)

使用torch.optim的優化器,可如下設置L2正則化

optimizer = optim.Adam(model.parameters(),lr=learning_rate,weight_decay=0.01)

但是這種方法存在幾個問題,

(1)一般正則化,只是對模型的權重W參數進行懲罰,而偏置參數b是不進行懲罰的,而torch.optim的優化器weight_decay參數指定的權值衰減是對網絡中的所有參數,包括權值w和偏置b同時進行懲罰。很多時候如果對b 進行L2正則化將會導致嚴重的欠擬合,因此這個時候一般只需要對權值w進行正則即可。(PS:這個我真不確定,源碼解析是 weight decay (L2 penalty) ,但有些網友說這種方法會對參數偏置b也進行懲罰,可解惑的網友給個明確的答復)

(2)缺點:torch.optim的優化器固定實現L2正則化,不能實現L1正則化。如果需要L1正則化,可如下實現:

(3)根據正則化的公式,加入正則化后,loss會變原來大,比如weight_decay=1的loss為10,那么weight_decay=100時,loss輸出應該也提高100倍左右。而采用torch.optim的優化器的方法,如果你依然采用loss_fun= nn.CrossEntropyLoss()進行計算loss,你會發現,不管你怎么改變weight_decay的大小,loss會跟之前沒有加正則化的大小差不多。這是因為你的loss_fun損失函數沒有把權重W的損失加上。

(4)采用torch.optim的優化器實現正則化的方法,是沒問題的!只不過很容易讓人產生誤解,對鄙人而言,我更喜歡TensorFlow的正則化實現方法,只需要tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES),實現過程幾乎跟正則化的公式對應的上。

(5)Github項目源碼:點擊進入

為了,解決這些問題,我特定自定義正則化的方法,類似于TensorFlow正則化實現方法。

2. 如何判斷正則化作用了模型?

一般來說,正則化的主要作用是避免模型產生過擬合,當然啦,過擬合問題,有時候是難以判斷的。但是,要判斷正則化是否作用了模型,還是很容易的。下面我給出兩組訓練時產生的loss和Accuracy的log信息,一組是未加入正則化的,一組是加入正則化:

2.1 未加入正則化loss和Accuracy

優化器采用Adam,并且設置參數weight_decay=0.0,即無正則化的方法

optimizer = optim.Adam(model.parameters(),lr=learning_rate,weight_decay=0.0)

訓練時輸出的 loss和Accuracy信息

step/epoch:0/0,Train Loss: 2.418065, Acc: [0.15625]
step/epoch:10/0,Train Loss: 5.194936, Acc: [0.34375]
step/epoch:20/0,Train Loss: 0.973226, Acc: [0.8125]
step/epoch:30/0,Train Loss: 1.215165, Acc: [0.65625]
step/epoch:40/0,Train Loss: 1.808068, Acc: [0.65625]
step/epoch:50/0,Train Loss: 1.661446, Acc: [0.625]
step/epoch:60/0,Train Loss: 1.552345, Acc: [0.6875]
step/epoch:70/0,Train Loss: 1.052912, Acc: [0.71875]
step/epoch:80/0,Train Loss: 0.910738, Acc: [0.75]
step/epoch:90/0,Train Loss: 1.142454, Acc: [0.6875]
step/epoch:100/0,Train Loss: 0.546968, Acc: [0.84375]
step/epoch:110/0,Train Loss: 0.415631, Acc: [0.9375]
step/epoch:120/0,Train Loss: 0.533164, Acc: [0.78125]
step/epoch:130/0,Train Loss: 0.956079, Acc: [0.6875]
step/epoch:140/0,Train Loss: 0.711397, Acc: [0.8125]

2.1 加入正則化loss和Accuracy

優化器采用Adam,并且設置參數weight_decay=10.0,即正則化的權重lambda =10.0

optimizer = optim.Adam(model.parameters(),lr=learning_rate,weight_decay=10.0)

這時,訓練時輸出的 loss和Accuracy信息:

step/epoch:0/0,Train Loss: 2.467985, Acc: [0.09375]
step/epoch:10/0,Train Loss: 5.435320, Acc: [0.40625]
step/epoch:20/0,Train Loss: 1.395482, Acc: [0.625]
step/epoch:30/0,Train Loss: 1.128281, Acc: [0.6875]
step/epoch:40/0,Train Loss: 1.135289, Acc: [0.6875]
step/epoch:50/0,Train Loss: 1.455040, Acc: [0.5625]
step/epoch:60/0,Train Loss: 1.023273, Acc: [0.65625]
step/epoch:70/0,Train Loss: 0.855008, Acc: [0.65625]
step/epoch:80/0,Train Loss: 1.006449, Acc: [0.71875]
step/epoch:90/0,Train Loss: 0.939148, Acc: [0.625]
step/epoch:100/0,Train Loss: 0.851593, Acc: [0.6875]
step/epoch:110/0,Train Loss: 1.093970, Acc: [0.59375]
step/epoch:120/0,Train Loss: 1.699520, Acc: [0.625]
step/epoch:130/0,Train Loss: 0.861444, Acc: [0.75]
step/epoch:140/0,Train Loss: 0.927656, Acc: [0.625]

當weight_decay=10000.0

step/epoch:0/0,Train Loss: 2.337354, Acc: [0.15625]
step/epoch:10/0,Train Loss: 2.222203, Acc: [0.125]
step/epoch:20/0,Train Loss: 2.184257, Acc: [0.3125]
step/epoch:30/0,Train Loss: 2.116977, Acc: [0.5]
step/epoch:40/0,Train Loss: 2.168895, Acc: [0.375]
step/epoch:50/0,Train Loss: 2.221143, Acc: [0.1875]
step/epoch:60/0,Train Loss: 2.189801, Acc: [0.25]
step/epoch:70/0,Train Loss: 2.209837, Acc: [0.125]
step/epoch:80/0,Train Loss: 2.202038, Acc: [0.34375]
step/epoch:90/0,Train Loss: 2.192546, Acc: [0.25]
step/epoch:100/0,Train Loss: 2.215488, Acc: [0.25]
step/epoch:110/0,Train Loss: 2.169323, Acc: [0.15625]
step/epoch:120/0,Train Loss: 2.166457, Acc: [0.3125]
step/epoch:130/0,Train Loss: 2.144773, Acc: [0.40625]
step/epoch:140/0,Train Loss: 2.173397, Acc: [0.28125]

2.3 正則化說明

就整體而言,對比加入正則化和未加入正則化的模型,訓練輸出的loss和Accuracy信息,我們可以發現,加入正則化后,loss下降的速度會變慢,準確率Accuracy的上升速度會變慢,并且未加入正則化模型的loss和Accuracy的浮動比較大(或者方差比較大),而加入正則化的模型訓練loss和Accuracy,表現的比較平滑。

并且隨著正則化的權重lambda越大,表現的更加平滑。這其實就是正則化的對模型的懲罰作用,通過正則化可以使得模型表現的更加平滑,即通過正則化可以有效解決模型過擬合的問題。

3.自定義正則化的方法

為了解決torch.optim優化器只能實現L2正則化以及懲罰網絡中的所有參數的缺陷,這里實現類似于TensorFlow正則化的方法。

3.1 自定義正則化Regularization類

這里封裝成一個實現正則化的Regularization類,各個方法都給出了注釋,自己慢慢看吧,有問題再留言吧

# 檢查GPU是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# device='cuda'
print("-----device:{}".format(device))
print("-----Pytorch version:{}".format(torch.__version__))
 
class Regularization(torch.nn.Module):
 def __init__(self,model,weight_decay,p=2):
  '''
  :param model 模型
  :param weight_decay:正則化參數
  :param p: 范數計算中的冪指數值,默認求2范數,
     當p=0為L2正則化,p=1為L1正則化
  '''
  super(Regularization, self).__init__()
  if weight_decay = 0:
   print("param weight_decay can not =0")
   exit(0)
  self.model=model
  self.weight_decay=weight_decay
  self.p=p
  self.weight_list=self.get_weight(model)
  self.weight_info(self.weight_list)
 
 def to(self,device):
  '''
  指定運行模式
  :param device: cude or cpu
  :return:
  '''
  self.device=device
  super().to(device)
  return self
 
 def forward(self, model):
  self.weight_list=self.get_weight(model)#獲得最新的權重
  reg_loss = self.regularization_loss(self.weight_list, self.weight_decay, p=self.p)
  return reg_loss
 
 def get_weight(self,model):
  '''
  獲得模型的權重列表
  :param model:
  :return:
  '''
  weight_list = []
  for name, param in model.named_parameters():
   if 'weight' in name:
    weight = (name, param)
    weight_list.append(weight)
  return weight_list
 
 def regularization_loss(self,weight_list, weight_decay, p=2):
  '''
  計算張量范數
  :param weight_list:
  :param p: 范數計算中的冪指數值,默認求2范數
  :param weight_decay:
  :return:
  '''
  # weight_decay=Variable(torch.FloatTensor([weight_decay]).to(self.device),requires_grad=True)
  # reg_loss=Variable(torch.FloatTensor([0.]).to(self.device),requires_grad=True)
  # weight_decay=torch.FloatTensor([weight_decay]).to(self.device)
  # reg_loss=torch.FloatTensor([0.]).to(self.device)
  reg_loss=0
  for name, w in weight_list:
   l2_reg = torch.norm(w, p=p)
   reg_loss = reg_loss + l2_reg
 
  reg_loss=weight_decay*reg_loss
  return reg_loss
 
 def weight_info(self,weight_list):
  '''
  打印權重列表信息
  :param weight_list:
  :return:
  '''
  print("---------------regularization weight---------------")
  for name ,w in weight_list:
   print(name)
  print("---------------------------------------------------")

3.2 Regularization使用方法

使用方法很簡單,就當一個普通Pytorch模塊來使用:例如

# 檢查GPU是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
 
print("-----device:{}".format(device))
print("-----Pytorch version:{}".format(torch.__version__))
 
weight_decay=100.0 # 正則化參數
 
model = my_net().to(device)
# 初始化正則化
if weight_decay>0:
 reg_loss=Regularization(model, weight_decay, p=2).to(device)
else:
 print("no regularization")
 
criterion= nn.CrossEntropyLoss().to(device) # CrossEntropyLoss=softmax+cross entropy
optimizer = optim.Adam(model.parameters(),lr=learning_rate)#不需要指定參數weight_decay
 
# train
batch_train_data=...
batch_train_label=...
 
out = model(batch_train_data)
 
# loss and regularization
loss = criterion(input=out, target=batch_train_label)
if weight_decay > 0:
 loss = loss + reg_loss(model)
total_loss = loss.item()
 
# backprop
optimizer.zero_grad()#清除當前所有的累積梯度
total_loss.backward()
optimizer.step()

訓練時輸出的 loss和Accuracy信息:

(1)當weight_decay=0.0時,未使用正則化

step/epoch:0/0,Train Loss: 2.379627, Acc: [0.09375]
step/epoch:10/0,Train Loss: 1.473092, Acc: [0.6875]
step/epoch:20/0,Train Loss: 0.931847, Acc: [0.8125]
step/epoch:30/0,Train Loss: 0.625494, Acc: [0.875]
step/epoch:40/0,Train Loss: 2.241885, Acc: [0.53125]
step/epoch:50/0,Train Loss: 1.132131, Acc: [0.6875]
step/epoch:60/0,Train Loss: 0.493038, Acc: [0.8125]
step/epoch:70/0,Train Loss: 0.819410, Acc: [0.78125]
step/epoch:80/0,Train Loss: 0.996497, Acc: [0.71875]
step/epoch:90/0,Train Loss: 0.474205, Acc: [0.8125]
step/epoch:100/0,Train Loss: 0.744587, Acc: [0.8125]
step/epoch:110/0,Train Loss: 0.502217, Acc: [0.78125]
step/epoch:120/0,Train Loss: 0.531865, Acc: [0.8125]
step/epoch:130/0,Train Loss: 1.016807, Acc: [0.875]
step/epoch:140/0,Train Loss: 0.411701, Acc: [0.84375]

(2)當weight_decay=10.0時,使用正則化

---------------------------------------------------
step/epoch:0/0,Train Loss: 1563.402832, Acc: [0.09375]
step/epoch:10/0,Train Loss: 1530.002686, Acc: [0.53125]
step/epoch:20/0,Train Loss: 1495.115234, Acc: [0.71875]
step/epoch:30/0,Train Loss: 1461.114136, Acc: [0.78125]
step/epoch:40/0,Train Loss: 1427.868164, Acc: [0.6875]
step/epoch:50/0,Train Loss: 1395.430054, Acc: [0.6875]
step/epoch:60/0,Train Loss: 1363.358154, Acc: [0.5625]
step/epoch:70/0,Train Loss: 1331.439697, Acc: [0.75]
step/epoch:80/0,Train Loss: 1301.334106, Acc: [0.625]
step/epoch:90/0,Train Loss: 1271.505005, Acc: [0.6875]
step/epoch:100/0,Train Loss: 1242.488647, Acc: [0.75]
step/epoch:110/0,Train Loss: 1214.184204, Acc: [0.59375]
step/epoch:120/0,Train Loss: 1186.174561, Acc: [0.71875]
step/epoch:130/0,Train Loss: 1159.148438, Acc: [0.78125]
step/epoch:140/0,Train Loss: 1133.020020, Acc: [0.65625]

(3)當weight_decay=10000.0時,使用正則化

step/epoch:0/0,Train Loss: 1570211.500000, Acc: [0.09375]
step/epoch:10/0,Train Loss: 1522952.125000, Acc: [0.3125]
step/epoch:20/0,Train Loss: 1486256.125000, Acc: [0.125]
step/epoch:30/0,Train Loss: 1451671.500000, Acc: [0.25]
step/epoch:40/0,Train Loss: 1418959.750000, Acc: [0.15625]
step/epoch:50/0,Train Loss: 1387154.000000, Acc: [0.125]
step/epoch:60/0,Train Loss: 1355917.500000, Acc: [0.125]
step/epoch:70/0,Train Loss: 1325379.500000, Acc: [0.125]
step/epoch:80/0,Train Loss: 1295454.125000, Acc: [0.3125]
step/epoch:90/0,Train Loss: 1266115.375000, Acc: [0.15625]
step/epoch:100/0,Train Loss: 1237341.000000, Acc: [0.0625]
step/epoch:110/0,Train Loss: 1209186.500000, Acc: [0.125]
step/epoch:120/0,Train Loss: 1181584.250000, Acc: [0.125]
step/epoch:130/0,Train Loss: 1154600.125000, Acc: [0.1875]
step/epoch:140/0,Train Loss: 1128239.875000, Acc: [0.125]

對比torch.optim優化器的實現L2正則化方法,這種Regularization類的方法也同樣達到正則化的效果,并且與TensorFlow類似,loss把正則化的損失也計算了。

此外更改參數p,如當p=0表示L2正則化,p=1表示L1正則化。

4. Github項目源碼下載

《Github項目源碼》點擊進入

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PyTorch 實現L2正則化以及Dropout的操作
  • 在PyTorch中使用標簽平滑正則化的問題
  • Pytorch 如何實現常用正則化

標簽:興安盟 阜新 淘寶好評回訪 合肥 昭通 濟源 信陽 隨州

巨人網絡通訊聲明:本文標題《pytorch 實現L2和L1正則化regularization的操作》,本文關鍵詞  pytorch,實現,和,正則,化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytorch 實現L2和L1正則化regularization的操作》相關的同類信息!
  • 本頁收集關于pytorch 實現L2和L1正則化regularization的操作的相關信息資訊供網民參考!
  • 推薦文章
    国产草草影院ccyycom| 日韩视频免费观看高清| 国产不卡视频一区| xf在线a精品一区二区视频网站| 亚洲天堂久久av| 成人免费xxxxx在线视频| 日日夜夜免费精品| 久久久久久中文字幕| 中文字幕一区二区在线观看视频| 91免费国产在线| 国产欧美一区二区三区视频| 日韩经典在线观看| 精品国产一区二区精华| 中文字幕av专区| 精品亚洲欧美一区| 欧美精品激情在线观看| 久久久久久国产精品视频 | 人妻互换一区二区激情偷拍| 制服丝袜中文字幕亚洲| 野花社区视频在线观看| 777xxx欧美| 理论片大全免费理伦片| 欧美色综合网站| 亚洲av成人片无码| 日韩精品免费在线视频观看| 久久久精品人妻一区二区三区四| 极品蜜桃臀肥臀-x88av| 亚洲最新免费视频| 91精品国产自产在线老师啪| 久久久久97国产| 怡红院精品视频| 理论片中文字幕| 亚洲女人久久久| 日韩高清一级片| 国产淫片免费看| 国产午夜一区二区| 高潮无码精品色欲av午夜福利| 亚洲最新av网址| 波多野结衣高清视频| 欧美孕妇毛茸茸xxxx| 精品人妻无码一区二区| 91久久夜色精品国产网站| 五月婷婷六月激情| 精品无码久久久久国产| 国产精品1024| 波多野结衣乳巨码无在线| 亚洲福中文字幕伊人影院| 国产精品九九视频| 伊人久久免费视频| 国产精品久久久久久久成人午夜| 成人午夜一级二级三级| 一区二区在线观看不卡| 午夜激情福利网| 久久精品国产精品国产精品污| 午夜精品久久久久久久蜜桃app| 久久一区二区三| 国产在线精品日韩| 精品久久香蕉国产线看观看gif| 日本少妇xxxxx| 91中文字精品一区二区| 亚洲一区二区中文在线| 亚洲欧美自拍视频| 韩国成人一区| 亚洲欧美高清视频| 一区二区成人在线视频 | 成人在线观看网址| 欧美精品精品一区| 免费观看成年人视频| 亚洲第一导航| 欧美日韩国产bt| 国产精品欧美亚洲| 国产一区二区四区| 91干在线观看| 亚洲成人免费av| 中国女人一级一次看片| 欧美乱大交xxxxx潮喷l头像| 日韩精品在线免费观看视频| av在线不卡观看免费观看| 男女啊啊啊视频| 国产在线播放观看| 久久99久久99精品蜜柚传媒| 亚洲天堂色网站| 黑人欧美xxxx| 久久久噜噜噜久久人人看| 国产影视一区二区| 日本成人午夜影院| 高潮一区二区三区| 无码人妻精品一区二区三区在线| 国产精品久久久久久久天堂| 主播福利视频一区| 欧美三片在线视频观看 | 亚洲品质自拍视频| 亚洲色图欧美视频| 国产精品视频一区二区高潮| 欧美另类第一页| 亚洲第一页在线| 91精品国产色综合久久ai换脸 | 国产精品久久二区二区| 成人av网在线| 久久综合五月天婷婷伊人| 老司机午夜精品视频在线观看| 国产一级片免费| av片在线免费看| 国产精品jizz| 99久久精品免费视频| 亚洲天堂伊人网| 国产精品69久久久| 男人天堂网站在线| 色姑娘综合av| 欧美自拍资源在线| 国产精品直播网红| 北条麻妃一区二区三区中文字幕| 亚洲天堂精品在线| 欧美做爰性生交视频| 夜夜嗨av一区二区三区网页| 午夜小视频免费| 在线观看国产黄| 一级特黄aaa| 一区二区三区免费观看视频| 日本成人一级片| 日韩xxx视频| 国产精品一级二级| 国产精品999在线观看| 精品亚洲aⅴ无码一区二区三区| 日韩中文字幕有码| 国产精品无码一区二区桃花视频 | 国产宾馆实践打屁股91| 亚洲品质自拍视频| 亚洲午夜免费福利视频| 欧美亚洲一区二区在线| 欧美日韩在线视频一区二区| 在线观看亚洲一区| 亚洲午夜精品久久久久久性色 | 色一情一区二区| 樱花草www在线| 国产成人福利在线| 少妇一级淫片日本| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产成人porn| 深夜精品寂寞黄网站在线观看| 91在线看网站| 日韩欧美精品一区二区三区经典| 亚洲婷婷在线观看| 在线观看免费国产视频| 久久激五月天综合精品| 欧美午夜精品久久久久久孕妇| 久久久久久久久久国产精品| 日本一区二区三区视频在线播放| 国产精品久久久久久久av福利| 日本午夜精品理论片a级app发布| 亚洲精品一区二区三| 国产免费观看久久黄| 国产精品一区二区免费看| 国产成人在线综合| 国产成人自拍一区| 欧美日本一区二区| 国产99午夜精品一区二区三区| 黑人糟蹋人妻hd中文字幕| 中文字幕乱码人妻二区三区| 久久婷婷久久一区二区三区| 欧美高清视频在线播放| 依人在线免费视频| 性xxxx视频播放免费| 亚洲激情一二三区| 国产精品日韩久久久久| 亚洲啪av永久无码精品放毛片| 久久婷婷一区| 欧美美女一区二区三区| av色综合网| 短视频在线观看| 成人av在线一区二区| 久久久久久久久久亚洲| 国产永久免费网站| 国产精品亚洲成人| 亚州av一区二区| 人妻一区二区视频| 亚洲国产日韩a在线播放性色| 国产乱码精品一区二区三区日韩精品| 又黄又爽又色的视频| 成人丝袜视频网| 久久久久国产成人精品亚洲午夜 | 亚洲精品久久视频| 亚洲巨乳在线观看| 一级免费黄色录像| 久久天天做天天爱综合色| 国产精品久久久久福利| 黄色a一级视频| 国产成人综合亚洲网站| 色一区av在线| 国产大学生视频| 亚洲精品国产品国语在线app| 91在线免费观看网站| 波多野结衣av在线免费观看| 亚洲免费观看在线观看| 一区二区三区四区久久| 高清免费成人av| 日韩小视频在线观看| 欧美中日韩在线| 日韩精品一二区| 色诱视频网站一区| 国产精品swag| 91午夜精品亚洲一区二区三区| 亚洲一二三区在线观看| 亚洲精品不卡| 蜜臀91精品一区二区三区| 久久国产精品久久久久久| 自拍视频一区二区| 日韩欧美一区视频| 国产精品88久久久久久妇女| 日韩一级片免费在线观看| 国产午夜精品视频| 爱爱爱爱免费视频| 国产精品超碰97尤物18| www.国产区| 日韩欧美在线不卡| 久久久免费看片| 中文字幕亚洲国产| 亚洲中文无码av在线| 国产精品高潮粉嫩av| 欧美a视频在线观看| 国产精品久久久久久久天堂| 精品一区二区久久久| 色播五月综合| 中文一区一区三区高中清不卡| 中文字幕欧美色图| 国产91网红主播在线观看| 欧美自拍偷拍午夜视频| 正在播放木下凛凛xv99| 久久99中文字幕| 国产精品久久久久久久久久免费 | 亚洲性生活网站| 久久久久九九九九| 97精品国产91久久久久久| 久久久久久美女| 国产精品高清免费在线观看| 日韩av免费在线播放| 国产69精品久久久| 色噜噜狠狠成人网p站| 久久精品av麻豆的观看方式| 视频免费1区二区三区| 亚洲国产日韩欧美| 国产日韩欧美成人| 高清欧美性猛交xxxx| 国产欧美一区二区在线观看| 免费人成年激情视频在线观看| 免费一区二区三区在在线视频| 久久免费视频观看| 欧美激情三级免费| 亚洲精品视频播放| 欧美日韩一区二区三区四区 | 日韩国产精品一区| 亚洲成年人影院在线| 国产精品私房写真福利视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品国产视频| 欧美一区二区观看视频| 日韩在线观看视频免费| 亚洲天堂免费观看| 海角国产乱辈乱精品视频| 最新国产成人av网站网址麻豆| 91麻豆精品国产91久久久久久久久| 国产精品美女视频| 国产福利精品一区| 性一交一乱一乱一视频| aaaaaa毛片| 欧美日本视频在线观看| 欧美成人一区在线| 一本色道久久综合亚洲aⅴ蜜桃| 精品日韩av一区二区| 久久综合久久八八| 一区二区在线看| 亚洲免费观看高清完整版在线观看熊 | xxxx一级片| 国产精品美女久久久久久免费| 久久久久久久久91| 国产精品91久久| 成人www视频在线观看| 超碰97人人射妻| 亚洲系列第一页| 亚洲大片免费看| 久久精品视频在线| 在线免费一区| 2021狠狠干| 天堂av在线网站| 日本视频一区二区在线观看| 在线观看视频黄色| 亚洲不卡中文字幕无码| 日韩一区二区福利| 久久99精品久久久久久青青91| 欧美日在线观看| 亚洲一区二区在线观| 日韩福利在线| 丁香五月网久久综合| 欧美一三区三区四区免费在线看 | 国产小视频你懂的| 2022国产精品视频| 中文字幕亚洲图片| 男人揉女人奶房视频60分| 久草福利资源在线观看| 白白色 亚洲乱淫| 久久精品免视看| 91精品国产麻豆| 中文字幕久久亚洲| 日韩av免费在线观看| 国产乱码精品一区二区三区卡| 久久精品aaaaaa毛片| 免费看一级大黄情大片| 在线观看视频黄色| 黄色av网址在线播放| 日本黄色福利视频| 国产视频1区2区| 成人动漫av在线| 国产日韩亚洲欧美综合| 欧美日韩黄视频| 久久免费观看视频| 国产精品亚洲天堂| 日本久久亚洲电影| 成人av番号网| 中文字幕第66页| 国产精品51麻豆cm传媒| 亚洲男人的天堂网| 亚洲欧美激情在线视频| 午夜精品区一区二区三| 国产日韩欧美在线观看视频| 中文字幕在线2018| 无码人妻精品一区二区三区蜜桃91| 无码精品视频一区二区三区| 久久久精品中文字幕麻豆发布| 亚洲国产精品视频| 亚洲精品国产福利| 久久中文久久字幕| 国产精华一区二区三区| 99999精品视频| 日韩黄色片网站| 在线看日本不卡| 2019国产精品自在线拍国产不卡| 美国av一区二区三区 | 久久综合久久色| 妺妺窝人体色www婷婷| 毛茸茸多毛bbb毛多视频| 蜜臀精品久久久久久蜜臀 | 国产亲近乱来精品视频| 国产91aaa| 免费在线观看视频一区| 色777狠狠综合秋免鲁丝 | 中文字幕在线播放日韩| 日本一二三不卡| 97热精品视频官网| 啊啊啊国产视频| 中文字幕在线观看欧美| 国产精品久久久久久久午夜片| 亚洲一二在线观看| 中文字幕一区二区三区在线乱码 | 欧美aaa在线| 九九久久国产精品| 伊人影院综合在线| 天堂网在线免费观看| 视频一区视频二区中文字幕| 黄色一区二区在线观看| 欧美成人久久久| 精品国产三级a∨在线| 日韩免费视频播放| 可以免费看不卡的av网站| 欧美电影免费提供在线观看| 国产日韩亚洲欧美在线| www.亚洲人| 亚洲精品成人自拍| 成人国产精品免费观看动漫 | 水蜜桃亚洲精品| 欧美a一区二区| 91麻豆桃色免费看| 这里只有精品国产| 欧美日韩色综合| 国产精品一区二区免费| 波多野结衣国产| 亚洲成人第一页| 成人福利网站在线观看| 欧美人妻一区二区| 中文字幕中文在线不卡住| 亚洲人成电影在线| 天天影视综合色| 色婷婷综合视频| 热99在线视频| 精品手机在线视频| 精品人妻少妇AV无码专区| 日韩精品专区在线| 亚洲国产精品毛片| 国产wwwwwww| 欧美精品在线视频| 免费97视频在线精品国自产拍| 国产精品久久久久无码av色戒| 国产精品国产精品国产专区不蜜 | a v视频在线观看| 亚洲视频在线观看免费| xxxx一级片| 蜜桃视频一区| 国产精品成久久久久三级| www.夜夜爽| 国产日韩欧美麻豆| 国内成+人亚洲| av老司机久久| 日韩大片免费观看视频播放| 玖玖玖精品中文字幕| 日韩美一区二区| 午夜天堂影视香蕉久久| 日韩视频第二页| 久久久精品日韩欧美| 国产乱人伦真实精品视频| 极品白嫩的小少妇| 亚洲色图欧美激情|