成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > pytorch 實現(xiàn)L2和L1正則化regularization的操作

pytorch 實現(xiàn)L2和L1正則化regularization的操作

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

1.torch.optim優(yōu)化器實現(xiàn)L2正則化

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

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

使用torch.optim的優(yōu)化器,可如下設置L2正則化

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

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

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

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

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

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

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

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

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

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

2.1 未加入正則化loss和Accuracy

優(yōu)化器采用Adam,并且設置參數(shù)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

優(yōu)化器采用Adam,并且設置參數(shù)weight_decay=10.0,即正則化的權(quán)重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信息,我們可以發(fā)現(xiàn),加入正則化后,loss下降的速度會變慢,準確率Accuracy的上升速度會變慢,并且未加入正則化模型的loss和Accuracy的浮動比較大(或者方差比較大),而加入正則化的模型訓練loss和Accuracy,表現(xiàn)的比較平滑。

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

3.自定義正則化的方法

為了解決torch.optim優(yōu)化器只能實現(xiàn)L2正則化以及懲罰網(wǎng)絡中的所有參數(shù)的缺陷,這里實現(xiàn)類似于TensorFlow正則化的方法。

3.1 自定義正則化Regularization類

這里封裝成一個實現(xiàn)正則化的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:正則化參數(shù)
  :param p: 范數(shù)計算中的冪指數(shù)值,默認求2范數(shù),
     當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)#獲得最新的權(quán)重
  reg_loss = self.regularization_loss(self.weight_list, self.weight_decay, p=self.p)
  return reg_loss
 
 def get_weight(self,model):
  '''
  獲得模型的權(quán)重列表
  :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):
  '''
  計算張量范數(shù)
  :param weight_list:
  :param p: 范數(shù)計算中的冪指數(shù)值,默認求2范數(shù)
  :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):
  '''
  打印權(quán)重列表信息
  :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 # 正則化參數(shù)
 
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)#不需要指定參數(shù)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優(yōu)化器的實現(xiàn)L2正則化方法,這種Regularization類的方法也同樣達到正則化的效果,并且與TensorFlow類似,loss把正則化的損失也計算了。

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

4. Github項目源碼下載

《Github項目源碼》點擊進入

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

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

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

巨人網(wǎng)絡通訊聲明:本文標題《pytorch 實現(xiàn)L2和L1正則化regularization的操作》,本文關(guān)鍵詞  pytorch,實現(xiàn),和,正則,化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pytorch 實現(xiàn)L2和L1正則化regularization的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于pytorch 實現(xiàn)L2和L1正則化regularization的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久影视三级福利片| 色狠狠久久aa北条麻妃| 日韩不卡在线观看日韩不卡视频| 精品国精品国产自在久不卡| aiai在线| 亚洲尤物视频网| 91精品韩国| 成人久久网站| 黄色免费视频大全| 免费在线观看视频| 亚洲韩国精品一区| 免费观看成人www动漫视频| 国语自产在线不卡| 男女午夜刺激视频| 精品国产乱码久久久久久蜜柚| 超碰精品在线观看| 日本一区二区三级电影在线观看| 国产精品久久久免费看| 日本一区二区在线看| 国产福利电影在线观看| 免费成人av| 黄色香蕉视频在线观看| 欧美少妇一区二区三区| 国内精品露脸在线视频播放| 国产精品拍拍拍| 国产美女一区二区三区| 国产丝袜视频一区| 无码精品人妻一区二区三区影院| 中文字幕在线三区| 欧美free性69| 亚洲最大福利视频网| 26uuu亚洲综合色欧美| 成年人黄色网址| 婷婷丁香综合网| 黄色三级中文字幕| 欧美日韩一级黄色片| 天天射天天色天天干| 国产porny蝌蚪视频| 欧美美女在线观看| 国产日韩欧美大片| 在线不卡免费欧美| 久久视频免费| 精品免费视频.| 亚洲美女www午夜| 免费无遮挡无码永久视频| 亚洲综合国产| 亚洲精品午夜视频| 亚洲高清在线看| 国产精品久久久一区| 在线播放/欧美激情| 精品一区二区三区免费毛片| 日韩av中文字幕在线免费观看| 丰满肥臀噗嗤啊x99av| 91中文字幕在线播放| 在线视频手机国产| 蜜臀久久精品| 国产精品久久久久久久av大片| 国产又黄又粗视频| 成人午夜两性视频| 男人午夜视频在线观看| 亚洲精品电影网| 88国产精品视频一区二区三区| 国产18无套直看片| seba5欧美综合另类| 国模叶桐国产精品一区| 鲁一鲁一鲁一鲁一澡| 亚洲欧美日韩在线播放| 91天堂在线视频| 国产又粗又猛又黄又爽| 亚洲三级视频网站| 色老板在线视频一区二区| 欧美视频在线观看一区二区| 九九九热精品免费视频观看网站| 天天操夜夜操国产精品| 色综合久久久久网| 精品国产1区2区3区| 日日嗨av一区二区三区四区| 欧美午夜精品理论片| 亚洲天堂网视频| 国产伦精品一区二区三区照片| 91精品国产麻豆国产在线观看| 在线观看午夜av| 国产字幕中文| www.99re7.com| 国产乱人伦精品一区二区三区| 中文字幕亚洲无线码在线一区| 中文字幕在线观看欧美| 爱爱精品视频| 欧美高清性hdvideosex| 国产在线精品观看| 国产一区二区视频在线看| 伊人激情综合网| 国产在线一区二区综合免费视频| 激情图片中文字幕| 中文字幕一区二区三区欧美日韩| 日韩av午夜在线观看| 国产精品91xxx| 国产视频观看一区| 免费看的av网站| 午夜精品福利视频网站| 26uuu日韩精品一区二区| 国产99久久久久久免费看| 中文字幕在线观看不卡视频| 亚洲精品自在久久| 天堂在线观看视频观看www| 日韩精品视频中文在线观看| 三级成人黄色影院| 国产精品jizz视频| 一本一道久久综合狠狠老精东影业| 国产夫妻性生活视频| 亚洲综合精品一区二区| 91精品中国老女人| 一出一进一爽一粗一大视频| 中文字幕免费不卡在线| 日本久久精品电影| 日韩精品亚洲一区二区三区免费| 久久久综合亚洲91久久98| 欧美区亚洲区| 99ri国产在线| 久久精品国产久精国产| 久久看人人爽人人| 亚洲免费av片| 97久久人人超碰caoprom欧美| 亚洲欧美日韩一区二区三区在线| 深夜做爰性大片蜜桃| 久久超碰99| 免费在线看大片无需流量| 国产精品人妖ts系列视频| 成人18视频在线观看| 亚洲啪av永久无码精品放毛片| 亚洲精品国产精品国自产观看| 欧美夫妻性生活| 一区二区国产精品精华液| 欧美自拍第一页| 欧美成人影院在线播放| 91免费版在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 国产日韩欧美高清免费| 成人做爰www看视频软件| 色综合男人天堂| ●精品国产综合乱码久久久久| 黄色毛片在线| 欧美熟妇交换久久久久久分类| 卡一精品卡二卡三网站乱码| 久久久久中文字幕亚洲精品| 懂色av中文一区二区三区天美| 亚洲乱码一区二区三区| 大陆一级毛片| 国产女大学生av| 一区二区中文视频| 亚洲精品一区二区三区不卡| 国产一区二区三区在线观看免费视频| 久久亚洲私人国产精品va| 国产精品视频白浆免费视频| 欧美精品影院| 一区二区三区中文字幕电影| 欧美性猛交xxxx久久久| 99久久国产综合精品五月天喷水| 91久久在线视频| 99在线精品视频在线观看| 亚洲国产色一区| 黄色成人在线观看| 九色视频在线观看免费播放| 国产精品久久波多野结衣| 丁香桃色午夜亚洲一区二区三区| 538在线视频观看| 日本视频三区| 久久福利综合| 午夜精品福利一区二区蜜股av| 国产极品嫩模在线视频一区| 欧美老女人性生活视频| 国内外成人免费激情在线视频网站| 性感美女福利视频| 欧美精品一卡| 九色视频网址| 日日摸夜夜添夜夜添亚洲女人| 五月综合激情在线| 亲爱的老师9免费观看全集电视剧| 麻豆国产一区二区| 亚洲欧美色图视频| av电影在线观看| 国产精品久久一区| 欧美成人激情图片网| 小说区视频区图片区| 超碰超碰超碰超碰超碰| 国偷自产av一区二区三区麻豆| 日本道色综合久久| 国产在线一区二区三区| 亚洲高清三级视频| 国产视频不卡在线| 亚洲播播91| 久久精品72免费观看| 综合分类小说区另类春色亚洲小说欧美| 福利精品视频| 亚洲精品一区二区在线看| 精品久久久久久久久久久| 欧美调教在线| 国产精品无码免费专区午夜| 亚洲最新视频在线观看| 一区二区三区视频在线观看免费| 亚洲va电影大全| 久久99国产精品久久久久久久久| 亚洲天堂一区二区| 亚洲人成啪啪网站| 美女伦理水蜜桃4| 久久久综合香蕉尹人综合网| 蜜臀尤物一区二区三区直播| 青青九九免费视频在线| 国产精品久线在线观看| 黄色网在线免费看| 午夜在线视频一区二区区别| 午夜精品久久久久久久白皮肤| 一二三四社区在线视频6| 91视频免费看| 日本高清不卡视频| 中文字幕在线直播| 热这里只有精品| 亚洲 精品 综合 精品 自拍| 成人亚洲视频| 久久精品欧洲| 亚洲午夜日本在线观看| 国产精品久久久一区二区三区| 成人欧美一区二区三区白人| 国产女优裸体网站| 韩国一级黄色录像| 日本在线天堂| 日韩国产欧美精品在线| 国产91av在线| 四季av在线一区二区三区| 国产高潮视频在线观看| 无码h黄肉3d动漫在线观看| 日韩福利一区二区| 精品久久久久中文慕人妻| 精品国产免费人成网站| 精品欧美一区二区久久| 亚洲影院污污.| 久久永久免费| 欧美肥妇bbwbbw| 午夜国产福利视频| www.久久久久| 久久中文字幕无码| 欧美日韩黑人| 亚洲欧美色图区| 114国产精品久久免费观看| 91在线精品秘密一区二区| 国产视频一区二区在线观看| 精品国内自产拍在线观看视频| 中文字幕第五页| 国产成人一区二区三区影院| 日韩在线视频二区| 免费在线观看污| 国产精品一区二区三区乱码| 色屁屁影院www国产高清麻豆| 天堂av手机在线| www.17c.com喷水少妇| 国产日韩欧美一区二区| 久久99热精品这里久久精品| 黄网站app在线观看大全免费视频| 欧美性受xxxx黒人xyx性爽| 五月天亚洲色图| 国产一区二区三区四区老人| 乳奴隷乳フ辱julia在线观看| 老牛影视精品| 999亚洲国产精| 国产毛片久久久久| 亚洲网站视频在线观看| 97欧美精品一区二区三区| 国产又粗又大又爽的视频| 亚洲综合网中心| 欧美激情综合五月色丁香| 免费成人黄色网址| 先锋影音中文字幕| 欧美绝顶高潮抽搐喷水合集| 亚洲av成人无码久久精品| 日韩精品一区二区三区国语自制| 综合天天久久| 久久久久久久久久久福利| 日韩精品在线视频美女| 第九色区aⅴ天堂久久香| 一区二区三区区四区播放视频在线观看| 精精国产xxxx视频在线动漫| 男女激情无遮挡| 国家队第一季免费高清在线观看| 国产丶欧美丶日本不卡视频| 欧美一区三区| 久久国产精品影视| 免费av一级片| 国产精品69久久久久| 黄色视屏网站在线免费观看| 久久综合88中文色鬼| 成人黄色大片在线免费观看| 91国产成人在线| 日本aⅴ在线观看| 精品极品三级久久久久| 在线一区二区三区四区| 丝袜亚洲另类丝袜在线| 欧美激情乱人伦一区| 国产精品wwwwww| 久久亚洲AV无码| 久久97人妻无码一区二区三区| 视频精品在线观看| 57pao成人永久免费视频| 99视频热这里只有精品免费| 久久精品视频免费看| 久久电影国产免费久久电影| 亚洲一级片免费看| 69精品无码成人久久久久久| 小说区亚洲自拍另类图片专区| 黄色www网站| 1769视频在线播放免费观看| 日本亚洲欧洲色α| 欧美成人福利在线观看| 91精品啪在线观看麻豆免费| 国产在线小视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 人妻av无码一区二区三区| 秋霞国产午夜精品免费视频| 日本免费久久| 日本少妇aaa| 特级全黄一级毛片| 欧美亚洲国产成人精品| 亚洲成年人电影在线观看| 国产区二区三区| 公交车上扒开嫩j挺进去| 成人免费视频视频| www.蜜桃av.com| 中文字幕a在线观看| 香蕉网在线视频|