1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        9個技巧讓你的PyTorch模型訓(xùn)練變得飛快!

        共 12761字,需瀏覽 26分鐘

         ·

        2021-09-14 15:34

        點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

        重磅干貨,第一時間送達(dá)

        本文轉(zhuǎn)自|視覺算法

        不要讓你的神經(jīng)網(wǎng)絡(luò)變成這樣
        讓我們面對現(xiàn)實(shí)吧,你的模型可能還停留在石器時代。我敢打賭你仍然使用32位精度或GASP甚至只在一個GPU上訓(xùn)練。
        我明白,網(wǎng)上都是各種神經(jīng)網(wǎng)絡(luò)加速指南,但是一個checklist都沒有(現(xiàn)在有了),使用這個清單,一步一步確保你能榨干你模型的所有性能。
        本指南從最簡單的結(jié)構(gòu)到最復(fù)雜的改動都有,可以使你的網(wǎng)絡(luò)得到最大的好處。我會給你展示示例Pytorch代碼以及可以在Pytorch- lightning Trainer中使用的相關(guān)flags,這樣你可以不用自己編寫這些代碼!
        這篇指南是為誰準(zhǔn)備的?任何使用Pytorch進(jìn)行深度學(xué)習(xí)模型研究的人,如研究人員、博士生、學(xué)者等,我們在這里談?wù)摰哪P涂赡苄枰慊ㄙM(fèi)幾天的訓(xùn)練,甚至是幾周或幾個月。
        我們會講到:
        1. 使用DataLoaders
        2. DataLoader中的workers數(shù)量
        3. Batch size
        4. 梯度累計(jì)
        5. 保留的計(jì)算圖
        6. 移動到單個
        7. 16-bit 混合精度訓(xùn)練
        8. 移動到多個GPUs中(模型復(fù)制)
        9. 移動到多個GPU-nodes中 (8+GPUs)
        10. 思考模型加速的技巧

        Pytorch-Lighting
        你可以在Pytorch的庫Pytorch- lightning中找到我在這里討論的每一個優(yōu)化。Lightning是在Pytorch之上的一個封裝,它可以自動訓(xùn)練,同時讓研究人員完全控制關(guān)鍵的模型組件。Lightning 使用最新的最佳實(shí)踐,并將你可能出錯的地方最小化。
        我們?yōu)镸NIST定義LightningModel并使用Trainer來訓(xùn)練模型。
        from pytorch_lightning import Trainer
        model = LightningModule(…)
        trainer = Trainer()
        trainer.fit(model)

        1.DataLoaders
        這可能是最容易獲得速度增益的地方。保存h5py或numpy文件以加速數(shù)據(jù)加載的時代已經(jīng)一去不復(fù)返了,使用Pytorch dataloader加載圖像數(shù)據(jù)很簡單(對于NLP數(shù)據(jù),請查看TorchText)。
        在lightning中,你不需要指定訓(xùn)練循環(huán),只需要定義dataLoaders和Trainer就會在需要的時候調(diào)用它們。
        dataset = MNIST(root=self.hparams.data_root, train=train, download=True)
        loader = DataLoader(dataset, batch_size=32, shuffle=True)
        for batch in loader:
          x, y = batch
          model.training_step(x, y)
          ...

        2.DataLoaders中的workers的數(shù)量

        另一個加速的神奇之處是允許批量并行加載。因此,您可以一次裝載nb_workers個batch,而不是一次裝載一個batch。
        # slow
        loader = DataLoader(dataset, batch_size=32, shuffle=True)
        # fast (use 10 workers)
        loader = DataLoader(dataset, batch_size=32, shuffle=True, num_workers=10)

        3.Batch size


        在開始下一個優(yōu)化步驟之前,將batch size增大到CPU-RAM或GPU-RAM所允許的最大范圍。
        下一節(jié)將重點(diǎn)介紹如何幫助減少內(nèi)存占用,以便你可以繼續(xù)增加batch size。
        記住,你可能需要再次更新你的學(xué)習(xí)率。一個好的經(jīng)驗(yàn)法則是,如果batch size加倍,那么學(xué)習(xí)率就加倍。

        4.梯度增加


        在你已經(jīng)達(dá)到計(jì)算資源上限的情況下,你的batch size仍然太小(比如8),然后我們需要模擬一個更大的batch size來進(jìn)行梯度下降,以提供一個良好的估計(jì)。
        假設(shè)我們想要達(dá)到128的batch size大小。我們需要以batch size為8執(zhí)行16個前向傳播和向后傳播,然后再執(zhí)行一次優(yōu)化步驟。
        # clear last step
        optimizer.zero_grad()

        # 16 accumulated gradient steps
        scaled_loss = 0
        for accumulated_step_i in range(16):
             out = model.forward()
             loss = some_loss(out,y)    
             loss.backward()
              scaled_loss += loss.item()
              
        # update weights after 8 steps. effective batch = 8*16
        optimizer.step()

        # loss is now scaled up by the number of accumulated batches
        actual_loss = scaled_loss / 16
        在lightning中,全部都給你做好了,只需要設(shè)置accumulate_grad_batches=16
        trainer = Trainer(accumulate_grad_batches=16)
        trainer.fit(model)

        5.保留的計(jì)算圖

        一個最簡單撐爆你的內(nèi)存的方法是為了記錄日志存儲你的loss。
        losses = []
        ...
        losses.append(loss)

        print(f'current loss: {torch.mean(losses)'})
        上面的問題是,loss仍然包含有整個圖的副本。在這種情況下,調(diào)用.item()來釋放它。
        ![1_CER3v8cok2UOBNsmnBrzPQ](9 Tips For Training Lightning-Fast Neural Networks In Pytorch.assets/1_CER3v8cok2UOBNsmnBrzPQ.gif)# bad
        losses.append(loss)

        # good
        losses.append(loss.item())
        Lightning會非常小心,確保不會保留計(jì)算圖的副本。

        6.單個GPU訓(xùn)練


        一旦你已經(jīng)完成了前面的步驟,是時候進(jìn)入GPU訓(xùn)練了。在GPU上的訓(xùn)練將使多個GPU cores之間的數(shù)學(xué)計(jì)算并行化。你得到的加速取決于你所使用的GPU類型。我推薦個人用2080Ti,公司用V100。
        乍一看,這可能會讓你不知所措,但你真的只需要做兩件事:1)移動你的模型到GPU, 2)每當(dāng)你運(yùn)行數(shù)據(jù)通過它,把數(shù)據(jù)放到GPU上。
        # put model on GPU
        model.cuda(0)

        # put data on gpu (cuda on a variable returns a cuda copy)
        x = x.cuda(0)

        # runs on GPU now
        model(x)
        如果你使用Lightning,你什么都不用做,只需要設(shè)置Trainer(gpus=1)
        # ask lightning to use gpu 0 for training
        trainer = Trainer(gpus=[0])
        trainer.fit(model)
        在GPU上進(jìn)行訓(xùn)練時,要注意的主要事情是限制CPU和GPU之間的傳輸次數(shù)。
        # expensive
        x = x.cuda(0)# very expensive
        x = x.cpu()
        x = x.cuda(0)
        如果內(nèi)存耗盡,不要將數(shù)據(jù)移回CPU以節(jié)省內(nèi)存。在求助于GPU之前,嘗試以其他方式優(yōu)化你的代碼或GPU之間的內(nèi)存分布。
        另一件需要注意的事情是調(diào)用強(qiáng)制GPU同步的操作。清除內(nèi)存緩存就是一個例子。
        # really bad idea. Stops all the GPUs until they all catch up
        torch.cuda.empty_cache()
        但是,如果使用Lightning,惟一可能出現(xiàn)問題的地方是在定義Lightning Module時。Lightning會特別注意不去犯這類錯誤。

        7.16-bit精度

        16bit精度是將內(nèi)存占用減半的驚人技術(shù)。大多數(shù)模型使用32bit精度數(shù)字進(jìn)行訓(xùn)練。然而,最近的研究發(fā)現(xiàn),16bit模型也可以工作得很好?;旌暇纫馕吨鴮δ承﹥?nèi)容使用16bit,但將權(quán)重等內(nèi)容保持在32bit。
        要在Pytorch中使用16bit精度,請安裝NVIDIA的apex庫,并對你的模型進(jìn)行這些更改。
        # enable 16-bit on the model and the optimizer
        model, optimizers = amp.initialize(model, optimizers, opt_level='O2')

        # when doing .backward, let amp do it so it can scale the loss
        with amp.scale_loss(loss, optimizer) as scaled_loss:                      
            scaled_loss.backward()
        amp包會處理好大部分事情。如果梯度爆炸或趨向于0,它甚至?xí)s放loss。
        在lightning中,啟用16bit并不需要修改模型中的任何內(nèi)容,也不需要執(zhí)行我上面所寫的操作。設(shè)置Trainer(precision=16)就可以了。
        trainer = Trainer(amp_level='O2', use_amp=False)
        trainer.fit(model)

        8.移動到多個GPUs中

        現(xiàn)在,事情變得非常有趣了。有3種(也許更多?)方法來進(jìn)行多GPU訓(xùn)練。
        分batch訓(xùn)練
        A) 拷貝模型到每個GPU中,B) 給每個GPU一部分batch
        第一種方法被稱為“分batch訓(xùn)練”。該策略將模型復(fù)制到每個GPU上,每個GPU獲得batch的一部分。
        # copy model on each GPU and give a fourth of the batch to each
        model = DataParallel(model, devices=[012 ,3])

        # out has 4 outputs (one for each gpu)
        out = model(x.cuda(0))
        在lightning中,你只需要增加GPUs的數(shù)量,然后告訴trainer,其他什么都不用做。
        # ask lightning to use 4 GPUs for training
        trainer = Trainer(gpus=[0123])
        trainer.fit(model)
        模型分布訓(xùn)練
        將模型的不同部分放在不同的GPU上,batch按順序移動
        有時你的模型可能太大不能完全放到內(nèi)存中。例如,帶有編碼器和解碼器的序列到序列模型在生成輸出時可能會占用20GB RAM。在本例中,我們希望將編碼器和解碼器放在獨(dú)立的GPU上。
        # each model is sooo big we can't fit both in memory
        encoder_rnn.cuda(0)
        decoder_rnn.cuda(1)

        # run input through encoder on GPU 0
        encoder_out = encoder_rnn(x.cuda(0))

        # run output through decoder on the next GPU
        out = decoder_rnn(encoder_out.cuda(1))

        # normally we want to bring all outputs back to GPU 0
        out = out.cuda(0)
        對于這種類型的訓(xùn)練,在Lightning中不需要指定任何GPU,你應(yīng)該把LightningModule中的模塊放到正確的GPU上。
        class MyModule(LightningModule):
            def __init__():
                self.encoder = RNN(...)
                self.decoder = RNN(...)
            def forward(x):
                # models won't be moved after the first forward because 
                # they are already on the correct GPUs
                self.encoder.cuda(0)
                self.decoder.cuda(1)
                out = self.encoder(x)
                out = self.decoder(out.cuda(1))
                
        # don't pass GPUs to trainer
        model = MyModule()
        trainer = Trainer()
        trainer.fit(model)
        兩者混合
        在上面的情況下,編碼器和解碼器仍然可以從并行化操作中獲益。
        # change these lines
        self.encoder = RNN(...)
        self.decoder = RNN(...)

        # to these
        # now each RNN is based on a different gpu set
        self.encoder = DataParallel(self.encoder, devices=[0123])
        self.decoder = DataParallel(self.encoder, devices=[4567])

        # in forward...
        out = self.encoder(x.cuda(0))

        # notice inputs on first gpu in device
        sout = self.decoder(out.cuda(4))  # <--- the 4 here
        使用多個GPU時要考慮的注意事項(xiàng):
        • 如果模型已經(jīng)在GPU上了,model.cuda()不會做任何事情。
        • 總是把輸入放在設(shè)備列表中的第一個設(shè)備上。
        • 在設(shè)備之間傳輸數(shù)據(jù)是昂貴的,把它作為最后的手段。
        • 優(yōu)化器和梯度會被保存在GPU 0上,因此,GPU 0上使用的內(nèi)存可能會比其他GPU大得多。
        9.多節(jié)點(diǎn)GPU訓(xùn)練

        每臺機(jī)器上的每個GPU都有一個模型的副本。每臺機(jī)器獲得數(shù)據(jù)的一部分,并且只在那部分上訓(xùn)練。每臺機(jī)器都能同步梯度。
        如果你已經(jīng)做到了這一步,那么你現(xiàn)在可以在幾分鐘內(nèi)訓(xùn)練Imagenet了!這并沒有你想象的那么難,但是它可能需要你對計(jì)算集群的更多知識。這些說明假設(shè)你正在集群上使用SLURM。
        Pytorch允許多節(jié)點(diǎn)訓(xùn)練,通過在每個節(jié)點(diǎn)上復(fù)制每個GPU上的模型并同步梯度。所以,每個模型都是在每個GPU上獨(dú)立初始化的,本質(zhì)上獨(dú)立地在數(shù)據(jù)的一個分區(qū)上訓(xùn)練,除了它們都從所有模型接收梯度更新。
        在高層次上:
        1. 在每個GPU上初始化一個模型的副本(確保設(shè)置種子,讓每個模型初始化到相同的權(quán)重,否則它會失敗)。
        2. 將數(shù)據(jù)集分割成子集(使用DistributedSampler)。每個GPU只在它自己的小子集上訓(xùn)練。
        3. 在.backward()上,所有副本都接收到所有模型的梯度副本。這是模型之間唯一一次的通信。
        Pytorch有一個很好的抽象,叫做DistributedDataParallel,它可以幫你實(shí)現(xiàn)這個功能。要使用DDP,你需要做4的事情:
        def tng_dataloader():
             d = MNIST()
             
             # 4: Add distributed sampler
             # sampler sends a portion of tng data to each machine
             dist_sampler = DistributedSampler(dataset)
             dataloader = DataLoader(d, shuffle=False, sampler=dist_sampler)
             
        def main_process_entrypoint(gpu_nb):
             # 2: set up connections  between all gpus across all machines
             # all gpus connect to a single GPU "root"
             # the default uses env://
             world = nb_gpus * nb_nodes
             dist.init_process_group("nccl", rank=gpu_nb, world_size=world)
             
             # 3: wrap model in DPP
             torch.cuda.set_device(gpu_nb)
             model.cuda(gpu_nb)
             model = DistributedDataParallel(model, device_ids=[gpu_nb])
             
             # train your model now...
             
        if  __name__ == '__main__':
             # 1: spawn number of processes
             # your cluster will call main for each machine
             mp.spawn(main_process_entrypoint, nprocs=8)
        然而,在Lightning中,只需設(shè)置節(jié)點(diǎn)數(shù)量,它就會為你處理其余的事情。
        # train on 1024 gpus across 128 nodes
        trainer = Trainer(nb_gpu_nodes=128, gpus=[01234567])
        Lightning還附帶了一個SlurmCluster管理器,可以方便地幫助你提交SLURM作業(yè)的正確詳細(xì)信息。

        10.福利!在單個節(jié)點(diǎn)上多GPU更快的訓(xùn)練

        事實(shí)證明,distributedDataParallel比DataParallel快得多,因?yàn)樗粓?zhí)行梯度同步的通信。所以,一個好的hack是使用distributedDataParallel替換DataParallel,即使是在單機(jī)上進(jìn)行訓(xùn)練。
        在Lightning中,這很容易通過將distributed_backend設(shè)置為ddp和設(shè)置GPUs的數(shù)量來實(shí)現(xiàn)。
        # train on 4 gpus on the same machine MUCH faster than DataParallel
        trainer = Trainer(distributed_backend='ddp', gpus=[0123])

        對模型的思考
        盡管本指南將為你提供了一系列提高網(wǎng)絡(luò)速度的技巧,但我還是要給你解釋一下如何通過查找瓶頸來思考問題。
        我將模型分成幾個部分:
        首先,我要確保在數(shù)據(jù)加載中沒有瓶頸。為此,我使用了我所描述的現(xiàn)有數(shù)據(jù)加載解決方案,但是如果沒有一種解決方案滿足你的需要,請考慮離線處理和緩存到高性能數(shù)據(jù)存儲中,比如h5py。
        接下來看看你在訓(xùn)練步驟中要做什么。確保你的前向傳播速度快,避免過多的計(jì)算以及最小化CPU和GPU之間的數(shù)據(jù)傳輸。最后,避免做一些會降低GPU速度的事情(本指南中有介紹)。
        接下來,我試圖最大化我的batch size,這通常是受GPU內(nèi)存大小的限制?,F(xiàn)在,需要關(guān)注在使用大的batch size的時候如何在多個GPUs上分布并最小化延遲(比如,我可能會嘗試著在多個gpu上使用8000 +的有效batch size)。
        然而,你需要小心大的batch size。針對你的具體問題,請查閱相關(guān)文獻(xiàn),看看人們都忽略了什么!
        英文原文:https://towardsdatascience.com/9-tips-for-training-lightning-fast-neural-networks-in-pytorch-8e63a502f565



        好消息,小白學(xué)視覺團(tuán)隊(duì)的知識星球開通啦,為了感謝大家的支持與厚愛,團(tuán)隊(duì)決定將價(jià)值149元的知識星球現(xiàn)時免費(fèi)加入。各位小伙伴們要抓住機(jī)會哦!


        下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
        在「小白學(xué)視覺」公眾號后臺回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

        下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
        小白學(xué)視覺公眾號后臺回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

        下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
        小白學(xué)視覺公眾號后臺回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個基于OpenCV實(shí)現(xiàn)20個實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

        交流群


        歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


        瀏覽 56
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)

        感谢您访问我们的网站,您可能还对以下资源感兴趣:

        国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 国产黄色A片| 91丨豆花丨国产极品| 天天夜夜狠狠| 天天爱av| 久久久久无码精品国产91福利| 久久综合五月| gogogo高清在线观看免费直播中国| 夜夜撸视频| 国产精品伦理| 亚洲成免费| 波多野结衣一级婬片A片免费下载| 成年人A片| 青娱乐亚洲领先| 日韩一级电影在线| 久久久77| 97人妻人人揉人人躁人人| 亚洲国产高清视频| 人人操夜夜| 色婷在线| 激情五月天在线观看| 超碰AV在线| aa无码视频| 黄片在线免费观看| 色综合五月| 日韩精品网址| 中文字幕日韩一级| 波多野在线视频| www日韩| 色婷婷91| 国产精品无码无套在线照片| 久久99精品久久久久久水蜜桃| 麻豆视频在线| 精品人妻一区二区三区四区不卡在 | 欧美黄色免费看| 久久久精品在线| 日韩一级网| 国产亚洲精品午夜福利巨大软件 | 国产区在线视频| 一道本一区二区三区| 四虎成人网站| 国产一级特黄aaa大片| 免费av中文字幕| 亚洲电影AV| 亚洲九九九九| 详情:绿帽夫妻多人运动开淫啪-91n | 午夜理论在线| 大香蕉三级| 国产熟妇码视频| 人妻无码HEYZO少妇精品 | 成人国产AV网站| 182在线视频| 青青久操| 国产一级A片| 五十路熟妇| AV日韩无码| 97人人干| 国产精品V日韩精品V在线观看| 淫荡人妻视频| 天堂一区| 国产日韩二区| 日本A在线| 国产精品9999久久久久仙踪林 | 91双飞会所双飞在线| 丰滿人妻一区二区三| 亚州在线视频| 国产91一区在线精品| 久久久久久免费| 狼友无码| 午夜黄色操逼视频| 污视频网站免费在线观看| 日本成人三级片| 佳佳女王footjob超级爽 | 德国肥妇熟妇BBwBBw| 黄片视频免费播放| JUY-579被丈夫的上司侵犯后的第7天,我| 久久久久久成人无码| 国产做受91电影| 色情视频在线观看| 一级片三级片| 91狠狠色丁香婷婷综合久久精品| 亚洲va国产va天堂va久久 | 黄色电影免费在线观看| 欧美日韩国产91| 国产无码Av| 影音先锋无码AV| 久久偷看各类wc女厕嘘嘘偷窃| 操屄影院| 在线观看黄色小视频| 9I成人免费版视频| 欧美后门菊门交3p| 91sese| 欧美一级一区| www.俺去也| 成av人片一区二区三区久久| 精品国产乱码久久久久久郑州公司 | 国产AV一区二区三区| 2018最好看的中文字幕高清电影| 色婷操逼| 亚洲专区视频| 色色视频网| 臭小子啊轻点灬太粗太长了的视频| 大香蕉这里只有精品| 成人无码日本动漫电影| 松岛枫在线视频| 成人国产在线| 亚洲网站在线播放| 国产福利美女网站| 九九热在线观看| 一级片免费观看视频| www.一区二区| 操大逼视频免费国产| 黄色视频网站在线免费观看| 久久免费毛片| 麻豆视频在线| 成人黄色在线观看视频| 国产操比视频| 中文字幕浅井香舞被黑人俘虏| 亚洲成人午夜电影| 亚洲精品成人电影| 欧美特黄AAA| 18禁无码永久免费网站大全| 超级碰碰碰碰碰碰碰碰碰| 欧美精品一卡二卡| 免费岛国av大片| 亚洲成人内射| 狠狠香蕉| 亚洲AV无码成人精品区欧洲| 亚洲成人无码高清| 中文不卡视频| 青娱乐黄片| 狠狠躁日日躁夜夜躁A片小说免费 色综合久久久无码中文字幕999 | 亚洲无码黄片| 亚洲免费视频网站| 欧美视频二区| 中文在线а√天堂8| 在线播放JUY-925被丈夫上司侵犯的第7天 | 免费看一级无码成人片| 人人操碰人人| 天天草天天干| 爱爱高清视频| 伊人91| 国产精品理论片| 欧美亚洲在线观看| 国产群交| 亚洲天堂网在线视频| 婷婷丁香五月花| 一本色道久久综合无码欧美| 操逼视频国产91| 无码精品视频在线观看| 午夜老司机福利一二三区| 欧美黄色电影网站| 五月天久久精品| 国产淫乱视频| 熟女人妻人妻の视频| 国产成人AV一区二区三区在线观看 | 日韩欧美不卡| 成年人视频在线免费观看| 中文字幕精品综合| 日韩第一页| AV在线免费网站| 永久免费不卡在线观看黄网站| 无码人妻精品一区二区三千菊电影 | 国产精品欧美7777777| 亚洲无码一区在线| 亚洲国产成人自拍| 91性视频| 免费成人一级片| 麻豆疯狂做受XXXX高潮视频 | 日韩美女免费视频| 日日夜夜天天| 欧美mv日韩mv国产| 国产精品欧美综合在线| 欧美动态视频| 在线观看免费一区| 人妻丝袜蕾丝高跟双飞| 国产婷婷久久| 亚洲无码精品一区二区三区| 特级西西| 国产区在线观看| 亚洲AV无码成人精品区大猫| 黄色视频免费在线观看网站| 一纹A片免费观看| 亚洲av图片| 亚洲人人爱| 香蕉福利视频| 精品成人一区二区三区| 午夜视频网站| 午夜老司机福利| 熟女人妻人妻の视频| 天天肏天天肏| 亚洲人人18XXX—20HD| 操一操| 精品一区二区三区四区视频| 刘玥精品国产一区二区三区| 中文字幕不卡AV在线观看| 91视频内射| 色婷婷在线综合| 亚洲无吗在线播放| 黄网站免费观看| 大鸡吧网| 狠狠躁日日躁夜夜躁A片小说免费 色综合久久久无码中文字幕999 | 中日韩免费视频| 国产精品久久久大香蕉| 日本视频爱爱| 久久久久久91香蕉国产| 青青草激情视频| 在线观看黄A片免费网站| 少妇高潮一区二区三区99| 无码国产传媒精品一区| 国产精品一区在线观看| 毛片黄色| 欧美韩日一区二区| 激情AV在线观看| 欧美一级特黄A片免费看| 日韩亚洲在线视频| 天堂精品在线| 91在线无码精品秘入口动作 | 日韩在线高清视频| 操逼小电影| 中文在线永久免费观看| 久热在线精品视频| 精品国精品自拍自在线| 国产91综合一区在线观看| 欧美、日韩、中文、制服、人妻 | 久久亚洲国产| 国产做受91一片二片老头| 国产AV二区| 永久免费看A人片无码精| 亚洲无码电影网| 日本爽妇网| 欧美色噜噜| 在线观看一区二区三区四区| 在线看片a| 免费视频久久| 人人舔人人草| 久久视频网站| 一级做a爰片毛片A片| 国产综合第一页| 国产婷婷色一区二区三区| 日韩在线观看一区二区| 久久视频99| 毛片网站大全| 一本大道香蕉av久久精东影业 | 国产精品天天AVJ精麻传媒| 亚洲午夜视频在线观看| 妻子互换被高潮了三次| 97精品在线观看| 国产99页| 黄色国产在线| 专肏老妇人大逼| 加勒比DVD手机在线播放观看视频 日韩精品一区二区三区四区蜜桃视频 | 精品视频在线观看| 日韩精品免费| h片免费在线观看| 琪琪色在线视频| 激情人妻av| 超碰成人在线免费观看| 91在线无码精品秘入口电车| 中文字幕无吗| 91国产福利| 无码不卡视频在线观看| 国产一级一片免费播放放a| 国产高清秘成人久久| 国产真实乱婬A片三区高清蜜臀 | jizz在线观看| 激情五月天导航| 99久在线视频| 国产又粗又猛又爽又黄91精品| 无码波多野结衣| 三级乱伦视频| 西西888WWW大胆视频| 亚洲伊人在线| 成人激情片| 日本AI高清无码在线观看网址 | 99xxxxx| 日韩婬乱片A片AAA真人视频| 日韩人妻码一区二区三区| 亚洲少妇熟女| 国产精品视频在线免费观看| 在线播放国产精品| 理论在线视频| 亚洲天天在线| 91精品婷婷国产综合| 欧美在线A| 免费视频久久久| 黄色视频大全免费看| 亚洲日韩在线视频播放| 国产女人水真多18毛片18精品 | 中文字幕AV在线播放| 91精品久久久久| 日韩美女视频19| 久久思思热| 91人妻无码一区二区三区| 国产精品内射婷婷一级二| 一起操在线| 日本不卡一区二区三区| 无码免费一区二区| 欧美作爱| 午夜福利高清在线观看| 欧美成人福利| 国产男女无套免费视频| 欧美成人内射| 91ThePorn国产在线观看| 特级西西444WWW视频| www.黄色片| 在线免费看AV| 99色| 久久国产免费| 黄色日本视频| 亚洲AV无码成人精品区天堂小说 | 操逼AⅤ| 性猛交╳XXX乱大交| 久久色在线视频| 97人妻人人| 中文无码一区二区三区四区| 亚洲无码精品专区| 自拍视频网| 免费在线观看黄色片| AV大全在线观看| 99热黄| 一区二区黄色| 亚洲第一网站| 免费观看久久久| 五月丁香无码| 无码人妻久久一区二区三区蜜桃| 一本色道综合久久欧美日韩精品| 欧美色视频一区二区三区在线观看 | 91人妻人人澡人人爽人人精| 久久人人爱| 在线黄色网| 西西www444无码免费视频| 男人资源在线| 色色99| 熟女少妇网站| 国产无码电影网| 日韩a√| 欧美激情在线观看| 国产艹逼视频| 在线视频亚洲| 国产激情电影| 人人妻人人躁人人DVD| 在线播放国产精品| 久草视频网| 荫蒂添出高潮A片视频| 91精品无码| 国产成人97精品免费看片| 五月天婷婷在线视频| 一级午夜福利| 国产专区在线| 山东熟妇搡BBBB搡BBBB| 青娱乐国产AV| 色色网的五月天| 婷婷久久综合久| 激情五月丁香五月| 无码一区二区三| 国产精品成人3p一区二区三区 | 性爱麻豆| 91久久国产性奴调教| 亚洲AV影院| 亚洲aaa在线| 九九五月天| 草逼国产| 亚洲欧美精品| 国产婷婷五月天| 51妺嘿嘿在线电影免费观看| 亚洲第五页| 俺去骚| 12—13女人毛片毛片| 三浦恵子一级婬片A片| caopro| 免费一级黄色片| 夜夜嗨AV一区二区三区啊| 熟女人妻一区二区| 亚洲五月丁香| 国产探花视频在线免费观看| 日韩视频中文字幕在线| 亚洲国产熟妇无码日韩| jizzjizz国产| 国产—级a毛—a毛免费视频| 欧美日韩亚洲综合| 国产高清无码自拍| 人人操人人操人人操人人操人人操 | 国产亚洲精品午夜福利巨大软件 | 色老板在线观看视频| 夜夜狠狠躁日日躁| 亚洲va综合va国产va中文 | 麻豆91久久久| 色婷婷18正码国产| aaa在线| 无码字幕| 欧美一级一区| 国产成人精品无码免费| 蜜桃久久久亚洲精| 天码人妻一区二区三区在线看| 天堂无码在线| 国产伦子伦一级A片免费看老牛| 日韩大鸡巴| 亚洲国产高清无码| 精品国产AV色一区二区深夜久久| 97精品在线观看| 69av视频| 精品一区二区三区四区五区六区七区八区九区| 一道本高清无码视频| 操操小骚逼| 天天干天天舔| 国产精品视频无码| 欧美丰满人妻免费视频人| 久久精品无码一区二区无码性色 | 亚洲AV无码黑人专区| 欧美精产国品一区二区区别 | 亚洲精品日韩综合观看成人91 | 高清无码免费在线| 91香蕉在线看| 免费一级a| 操你啦青青草| 亚洲成人内射| 韩国色情中文字幕| 色天堂在线观看视频| 亚洲无码视频观看| 色综合色综合色综合| 亚洲天堂一区二区三区| 日韩大吊| 日韩在线精品视频| 欧美日韩操逼片| 天天视频国产| 国产高清在线| 一级在线播放| 精品三级片| 欧美女人日逼视频| 中文字幕免费在线| 免费成人视频在线观看| 嫩草av| 91精品婷婷国产综合| 国产激情综合| 伊人成人片| 少妇特黄A一区二区三区| 久久久国产AV| 久久视频免费看| 国产精品久免费的黄网站| 人妻视频网| 国产中文字幕在线免费观看| 国产免费一区二区三区免费视频| 国产91久久婷婷一区二区| 亚洲三级视频在线观看| 天天干强奸视频在线综合| 色五月AV| 亚洲精品一区二区三区蜜桃| 熟女少妇一区二区三区| 最新福利视频| 人妻精品久久久久中文字幕69| 国产探花视频在线免费观看| 高潮AV在线观看| 很色很黄的A片一| 99在线精品视频免费观看20| 国内精品人妻无码久久久影院蜜桃 | 伊人成人小说| 婷婷色色五月| 超碰成人在线观看| www.日韩av| 丁香婷婷男人天堂| 久久久久久久久久国产| 欧美性猛交XXXX乱大交| av大全在线观看| 草久在线观看| 大香蕉精品| 国产不卡在线视频| 美女性爱3P视频| aaa久久| 中文无码毛片| 成人午夜免费视频| 十八女人高潮A片免费| 99久久99久国产黄毛片| 亚洲成人第一页| 成人黄网站免费观看| 国产毛片在线看| 偷拍亚洲色图| 欧美日p| 亚洲无码99| 久久精彩免费视频| 日韩中文字幕在线观看| 中文字幕日韩高清| 国产精品视频在线播放| AV免费网站| 51福利视频| 久久精品偷拍视频| 欧美中文字幕在线| 久久肉| 日韩高清精品在线| 91做爱视频| 麻豆AV在线播放| www.av免费| 夜夜骑天天操| 国产成人亚洲综合AV婷婷| 成人在线伊人| 亚洲无码动漫| 亚洲黄色视频网站在线观看| 亚洲91无码精品一区在线播放 | 天堂久草| 黄色毛片网| 韩日黄色| 西西人体大胆ww4444| 中文字幕在线日本| 欧美色图亚洲另类| 国产乱子伦-区二区三区| 京熱大亂交无碼大亂交| 搡BBB搡BBBB搡BBBB'| 国产精品秘久久久久久网站| 国产午夜福利在线| 操B电影| 国产精品久久久91| 超碰在线观看97| 日本高清无码在线| 久久综合色色| 中文字幕乱码视频32| 俺来也俺也去| 国产免费高清视频| 99久久婷婷国产综合| 色色色999| 一道本在线视频| 久久国内| 一区免费在线| 青青免费视频| 中文字幕三级av片| 亚洲天堂无码在线观看| 天天日天天摸| 亚洲欧洲日本在线| 免费看三级网站| 色婷婷成人做爰A片免费看网站| 麻豆视频一区| 亚洲无码AV网站| 中文字幕无码一区二区三区一本久| 日韩精品一区二区三区免费观看高清| 1级毛片| 欧美在线v| 黑人一区二区| 爱搞搞爱干干| 性爱无码| 一级欧美视频| 中文字幕丰满熟妇人妻| 国产av天天| 四库影库| 国产AV无码区亚洲| 久操综合| 亚洲A级毛片| 激情精品| 亚洲色欲av| 亚洲高清视频在线播放| 人人人妻人人人操| 中文字幕中文字幕一区| 色中文字幕| 亚洲精品一区二区三区在线观看| 这里只有精品久久| 一级黄视频| 欧美黄色成人视频| 三级影片在线观看性| 久草视频在线免费| 成人高清无码| 一级操逼| 伊人99热| 日韩免费在线观看视频| 国产综合网站| 亚洲自慰| AAA日韩| 亚洲高清无码视频大全| 午夜爱爱免费视频| 最新毛片网站〖网:.〗| 在线成人亚洲| 成人片成人网久久蜜桃臀| 国产69精品久久久久久久久久久久 | 日韩三级视频在线观看| 久艹久| 伊人色色视频| 最新va在线观看| 中国熟妇| 欧美卡一卡二| 久久免费黄色视频| 日韩免费一级片| 最近中文字幕免费MV第一季歌词怀孕| 亚洲精品一二三区| 欧美性爱小说网| 欧美肉大捧一进一出小说| 123好逼网| 日韩天堂网| 久操网址| 你懂得在线观看| 五月色丁香| 波多野结衣亚洲视频| 波多野结衣无码NET,AV| 韩国无码人妻| 国产精品成人AV片| 天天摸天天操| 韩日在线| 成人在线黄色视频| www.三级| 国产成人久久777777黄蓉| 99在线免费观看视频| 97人妻精品| 无码乱伦| 久久夜色精品噜噜亚洲AV| 91视频在线观看网| 乱伦无码高清麻豆视频一区二区| 蕉久中文字慕| 国产乱伦不卡| 日韩激情无码视频精选| 久久久久久久久久久久久久久久久久免费精品分类视频 | 水蜜桃视频免费| 超级碰碰| 日韩色吧| 99青草| 亚洲性爱一区| 91九色丨国产丨爆乳| 中文字幕乱码免费综合久久| 久久电影无码| 日本色情视频网站| 操逼操逼操逼操逼操逼操逼| 一本久久综合亚洲鲁鲁五月天| 亚洲视频在线观看网站| 丁香啪啪| 国产午夜视频在线| 巨爆乳肉感一区二区三区| 久草手机视频| 国产成人AV网站| 成人自拍偷拍视频| 国产午夜男女性爱| 一级成人片在线观看| 亚洲成人视频在线播放| 91吴梦梦无码一区二区| 噜噜影院| 中文字幕高清无码视频| 成人片在线| 日韩高清不卡| 99热大香蕉| 西西444大胆无码视频| 天堂成人av| 色老板网址| 日韩黄色视频在线观看| 亚洲天堂无码av| 久久夜色精品国产噜噜亚洲AV| 国产精品久久久999| 一级特黄AA片| 国产高清无码自拍| 日本一级按摩片免费观看| 人人妻日日摸狠狠躁| 久久情| 一级片免费网站| 成人电影无码| 久草国产精品| 91小仙女jK白丝袜呻吟| 久久v| 欧美操日本| 中文字幕在线观看有码| 69久久久| 淫揉BBB揉揉揉BBBBB| 老女人操逼视频| 91九色精品女同系列| 国产亚洲无码激情| 俺也去五月婷婷| 无码精品人妻一区二区三区漫画| 国产aa| 特级西西444www高清大胆免费看| 亚洲大胆视频| 婷婷五月丁香激情| 日韩在线视频一区| 天天日天天日天天日| 国产小福利| 免费在线黄色视频| 今天成全在线观看高清| 人妻少妇av中文字幕乱码牛牛| 日韩最新无码发布| 夜夜福利| 91视频18| 丰臀肥逼高清视频电影播放| 水多多成人免费A片| 久久黄色视频免费观看| 久久xx| 精品AV无码一区二区三区| 亚洲国产视频一区| 少妇高潮无码| www.四虎成人网站| 成人在线三级| 中文区中文字幕免费看| 国产福利网站| 久久九九免费视频| 亚洲无码av在线观看| 免费的毛片| 无码三级| 中文字幕永久在线视频| 亚洲国产天堂| 日韩一区二区三区四区| 鲁鲁鲁鲁鲁鲁鲁777777| 四虎影院在线| 成人福利| 成人在线视频一区| 天码人妻一区二区三区在线看| 日韩久久网| AV影音在线| 国产在线观看91| 国产精品无码无套在线| 久久中文字幕无码| 大吊操| 国产一级A| 肏屄视频在线观看| 亚洲黄色一级电影| 色婷婷一区二区| 综合插插| 粉嫩AV在线| 各种BBwBBwBBwBBw| 国产成人AⅤ| 亚洲成人视频在线播放| 婷婷五月一区| 久色视频福利| 成人黄色无码视频| 日韩精品人妻中文字幕蜜乳| YOUjiZZ欧美大全| 国产成人精品久久久| 在线免费观看黄片| 无码H| 猫咪成人网站| 日韩第22页| 国产淫语| 91AV免费看| 亚洲视频a| 国产成人无码区免费视频| 亚洲三级片无码| 人人干人人草| 在线免费中文字幕| 久久国内视频| 九九惹伊人| 无码av免费精品一区二区三区| 撸撸操在线视频观看只有精品 | 人人操人人干人人爽| 天天爽天天做| 久久久91精品国产一区苍井空| 就去色色五月丁香婷婷久久久| 国产精品V亚洲精品V日韩精品| 成人精品在线观看| 亚洲AV无码成人精品一区| 黄色三级在线观看| 色色五月丁香| 夜夜骑夜夜操| A免费在线观看| 91亚洲视频在线观看| 日韩精品一区二区三区在线观看免费| 男人色天堂网| 成人在线三级| 久久亚洲欧美| 综合色五月| 日韩五码| 丰满熟妇高潮呻吟无码| 精品中文字幕在线观看| 伊人黄色视频| 有码中文字幕| 日韩五码在线| 大香蕉欧美| 日韩啊v| 国产绿奴09-01| 成人在线免费网站| 精品人人人| 99黄色视频| 日韩一区二区无码视频| 亚洲一区视频| 迷情校园综合| 私人玩物』黑絲OL尤物| 久久草大香蕉| 国产精品一区二区黑人巨大| 亚洲免费播放| 草草影院CCYYCOM屁屁影院合集限制影院| 国产AA| 男女啪啪国产| 无码三级AV| 欧美黄色三级片| 九色欧美| 五月丁香婷婷综合| 视频一区二区三区在线观看| 欧美自拍第一页| 成人毛片在线播放| 91福利视频网| 婷婷五月精品中文字幕| 日韩在线成人中文字幕亚洲| 免费毛片网站| 91国产精品在线| 国产高清在线| 欧美XXX视频| 无码人妻丰满熟妇区17水蜜桃| 日韩v| 黄片无遮挡| 亚洲日韩网站在线观看| 无码黄色片| 色老板在线观看视频| 天天天做夜夜夜夜爽无码| 亚洲AV资源| 超碰极品| 伊人操逼网| 亚洲高清无码中文字幕| 91熊猫| 亚洲性夜夜天天天天天天| 青青草亚洲| 国内不卡一卡二视频| 免费看毛片中文字幕| 最新AV在线| 欧美特黄一级视频| 国产免费一区二区三区四区| 日日爱爱| 精品一区电影| 国产精品黄视频| 欧美操B视频| 日韩人妻无码一区二区三区| 国产日韩一区二区三免费高清| 91老熟女| 啪啪视频免费观看| 又黄又湿的视频| 老司机在线免费视频| 无码电影网| 永久免费一区二区| 国精产品一区一区三区有限公司杨| 美妇肥臀一区二区三区-久久99精品国| 男人AV在线| 日韩无码链接| 国产视频福利| 日韩爱爱网| 亚洲AV秘成人久久无码海归| 男人的天堂视频在线观看| 成人免费黄片| 婷婷午夜精品久久久久久性色AV| 成人免费一区| 四川少妇bbb| 搞黄免费视频视频| 亚洲va国产va天堂va久久 | 2016超碰| 国产精品一级二级三级| 91精品无码| 一级黄色电影免费看| 久久一区二区三区四区五区| 大色鬼在线天堂精品| 国产欧美综合视频一区二区在线| 国产乱子伦一区二区三精品| 日本欧美一级| 中文字幕第23页| 大香蕉福利在线| 国产精品久久AV电影| 国产精品久久久久久久久久王安宇| 久久黄视频| 尤物在线免费视频| 大蕉伊人网| 51一区二区三区| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 一区二区三区视屏| 蜜桃视频一区| 去干网欧美| 国产精品s色| 久久成人网豆花视频| 毛片A| 国产成人视频在线播放| 中文字幕免费视频在线播放| 亚洲综合免费观看| 久久精品成人| 再深点好爽灬轻点久久国产 | 亚韩在线| 99热加勒比| 8050午夜| 国产激情视频在线观看| 日韩精品视频在线免费观看| 91农村站街老熟女露脸| 一级a看片在线观看| 人妻少妇偷人精品久久| 欧美精品在线免费观看| 久久国产精品影院| 99亚洲无码| 操逼色| www五月天com| 逼特逼在线观看| 日本精品黄色| 精品无人区无码乱码毛片国产| 无码小黄片| 午夜成人福利在线观看| 久久久大香蕉| AV免费网站| 中文字幕乱码人妻二区三区| 欧美成人性爱视频| 91欧美日韩综合| 欧美精产国品一区二区区别 | 乱伦三级| 91婷婷五月天| 久久艹大香蕉| 亚洲xxxxx| 亚洲精品成a人在线观看| 亚洲色在线观看| 久久成人电影院| 杨门女将婬乱史1—6| 91在线无码精品秘入口男同| 亚洲男人天堂视频| 97人妻人人澡人| 亚洲国产无码在线观看| 九九九九九九精品| 精品亚洲一区二区三区四区五区| 100国产精品人妻无码| 操逼逼片| 久热国产在线| 国产人体视频| 亚洲精品一区二区三区无码电影|